欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

jquery中点击切换的实现

程序员文章站 2022-08-05 18:07:53
项目中经常会遇到一种情况,就是点击切换,比如点击按钮,div样式为1,再点击一下按钮,div样式为2,再点击一下按钮,div样式为1。需要自定义jQuery方法toggle。 注意不要与jQuery中默认的toggle方法搞混淆,默认的toggle方法用于切换元素的可见状态,如果被选元素可见,则隐藏 ......

项目中经常会遇到一种情况,就是点击切换,比如点击按钮,div样式为1,再点击一下按钮,div样式为2,再点击一下按钮,div样式为1。需要自定义jquery方法toggle。

     // toggle方法
        $.fn.toggle = function( fn, fn2 ) {
            let args = arguments,guid = fn.guid || $.guid++,i=0,
                toggler = function( event ) {
                    let lasttoggle = ( $._data( this, "lasttoggle" + fn.guid ) || 0 ) % i;
                    $._data( this, "lasttoggle" + fn.guid, lasttoggle + 1 );
                    event.preventdefault();
                    return args[ lasttoggle ].apply( this, arguments ) || false;
                };
            toggler.guid = guid;
            while ( i < args.length ) {
                args[ i++ ].guid = guid;
            }
            return this.click( toggler );
        };
        $("#fullscreen").toggle(function(){
            $(this).css("background","url('resources/images/zoom_control.png') no-repeat 11px -170px");
        },function(){
            $(this).css("background","url('resources/images/zoom_control.png') no-repeat 10px 11px");
        });

注意不要与jquery中默认的toggle方法搞混淆,默认的toggle方法用于切换元素的可见状态,如果被选元素可见,则隐藏这些元素,如果被选元素隐藏,则显示这些元素。