• jQuery 标记当前函数 开始写一个简单的插件


    今天闲来没事,写个 jQuery 插件方面的东西,比较入门和基础。
    首先我们写一个函数 这个函数的作用是标记当前  给当前选中的元素添加一个可以识别的样式 如 class="current" 这个效果我们在网页的效果中会经常用到。

    function cur(ele,currentClass,tag){ //三个参数 ele:jQ对象或者选择符;currentClass:当前类名;tag:限制标签
            ele= $(ele)? $(ele):ele; //取得要标记的对象 
            if(!tag){//如果没有标签限制 标记当前 取消标记同级元素
                ele.addClass(currentClass).siblings().removeClass(currentClass);

                }else{//如果限制标签 则标记当前 取消标记同级同名元素 
     ele.addClass(currentClass).siblings(tag).removeClass(currentClass);

                    }

    使用也很简单。 例:

    cur($(".box li:last","current")); //直接标记某元素
    $(".box li").click(function(){ cur(this,"cur")}); //通过点击标记当前元素
    $("p").mouseover(function(){ cur(this,"cur","p")}); //通过鼠标划标记当前元素 p 

    好,我们把这个函数翻译成插件的形式:

    $.fn.cur=function(options){    
        
    var settings=//默认设置
            curClass:"cur"//默认的当前类名为 cur
            tag:""//不设置标签限制
            act:"mouseover" //默认触发动作为 鼠标划过
            }
        
    if(options){ //如果有字设置选项 则合并
            $.extend(settings,options);
            }        
        
    var _this= $(this); //当前对象    
        _this.bind(settings.act,
    function(){  //绑定到动作
            $(this).addClass(settings.curClass) // 标记当前 取消标记其他元素
                 .siblings(settings.tag).removeClass(settings.curClass);
                 })        
        }

    插件方式的使用样例:

    $("#curele").find("li").cur({act:"click"}); //通过点击标记当前 使用默认的 cur class
    $(
    "#curp").find("p").cur({tag:"p"}); //鼠标划过 #curp p 标记当前的 p 标签

    这个例子很简单 告诉我们一个方法,如果想写一个插件又觉得没有地方下手,就从熟悉的函数开始吧,编写一个你熟悉的函数,用插件的形式翻译一下,很快就会熟悉插件的编写形式了。

  • 相关阅读:
    pcntl_fork 导致 MySQL server has gone away 解决方案
    视频网站 阻止迅雷劫持下载
    推荐大家使用的CSS书写规范、顺序
    console对象
    js Math函数
    致13级师弟师妹关于校招的一些话
    UVA514 铁轨 Rails:题解
    SP1805 HISTOGRA
    洛谷 P4363 [九省联考2018]一双木棋chess 题解
    比赛:大奔的方案solution
  • 原文地址:https://www.cnblogs.com/trance/p/1444607.html
Copyright © 2020-2023  润新知