1. 程式人生 > >jquery中點選切換的實現

jquery中點選切換的實現

專案中經常會遇到一種情況,就是點選切換,比如點選按鈕,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方法用於切換元素的可見狀態,如果被選元素可見,則隱藏這些元素,如果被選元素隱藏,則顯示這些元素。