zoukankan      html  css  js  c++  java
  • jQuery 实现置顶效果

    本身置顶效果是比较简单的 但是还是让自己花了不少时间 。

    主要是没有考虑的jQuery的版本问题 。公司用的jQuery版本比较古老。和现在的版本有个区别。自己经常用的jQuery选择器不会吧选出来的dom元素作为object对象 。公司的版本会把选出来的dom元素作为一个数组。

    这两个版本的after 方法有点不同。数组状态是不允许$(a).after($(a));这样会使$(a)元素消失。object状态下的却可以正常的使用。

    代码如下

    $('.icon_notop,.icon_top').click(function() {//置顶
            var t = $(this);
            var tr = t.parent().parent();            
            var paixuid =  tr.attr('paixu');
            var nottop=$(".bg_top:last");//.parent().parent();        
            if (t.hasClass('icon_top')) {
            tr.removeClass('bg_top');            
            t.removeClass('icon_top').addClass('icon_notop');                    
                while(nottop.next("tr").attr("paixu") - 0< paixuid - 0){
                   nottop=nottop.next('tr');
                }    
                if(nottop.attr("paixu")!=tr.attr("paixu")) //解决版本问题 
                    nottop.after(tr);
                
            } else {
                t.removeClass('icon_notop').addClass('icon_top');
                tr.addClass('bg_top');
                $('#table_match tbody').prepend(tr);
            }
    });
    

    主要是要一直能够取得插入位置的前一个位置,这里若是取插入位置的后一个位置的选取并不是每次都那么容易的。在所有的dom都被置顶的时候就会出先比较麻烦的情况。

  • 相关阅读:
    java基础知识
    21-树形结构菜单之封装递归组件
    05-写vue中的一些小细节
    20-Mock拦截ajax请求,模拟数据
    19-count-to数字滚动组件封装
    18-简单封装axios
    04-Vscode-setting设置
    17-vue给有需要的路由设置title
    03-vuecli中的.editorconfig文件
    06-npm下载依赖存放位置修改
  • 原文地址:https://www.cnblogs.com/wxzl/p/2468046.html
Copyright © 2011-2022 走看看