2013-06-18 72 views
0

我在努力解決我們現在做的那個點擊切換已被棄用?現在我們做了什麼,點擊切換已被棄用?

我之後所以如果你點擊.wwd-content-container .wwd-content-each .wwd-extra-content-trigger它向下滾動100px,如果你再次點擊則滾動100px。

$('.wwd-content-container .wwd-content-each .wwd-extra-content-trigger').click(function(e) { 
    var y = jQuery(window).scrollTop(); 
    jQuery(window).scrollTop(y+100); 
}); 
$('.wwd-content-container .wwd-content-each .wwd-extra-content-trigger').click(function(e) { 
    var y = jQuery(window).scrollTop(); 
    jQuery(window).scrollTop(y-100); 
}); 

任何想法? 謝謝, ř

回答

3

您設置一個標誌具有可變或data()跟蹤:

$('.wwd-content-container .wwd-content-each .wwd-extra-content-trigger').on('click', function (e) { 
    var y  = $(window).scrollTop(), 
     scroll = !$(this).data('clicked') ? (y+100) : (y-100); 

    $(window).scrollTop(scroll); 
    $(this).data('clicked', !$(this).data('clicked')); 
}); 

FIDDLE

0

可以使用變量來設置的狀態下,一個簡化的例子:

var active = false; 

$('.wwd-content-container').click(function(e){ 
    if(!active){ 
     alert("First click"); 
     active = true; 
    }else{ 
     alert("Second Click"); 
     active = false; 
    } 
}); 

LIVING DEMO

與您的代碼:

var active = false; 

$('.wwd-content-container .wwd-content-each .wwd-extra-content-trigger').click(function(e){ 
    if(!active){ 
     var y = jQuery(window).scrollTop(); 
     jQuery(window).scrollTop(y+100); 

     active = true; 
    }else{ 
     var y = jQuery(window).scrollTop(); 
     jQuery(window).scrollTop(y-100); 

     active = false; 
    } 
}); 
0

您可以創建自己的置換是這樣的:

$.fn.toggleClick = function() { 
    var functions = arguments, iteration = 0; 
    return this.click(function() { 
     functions[iteration].apply(this, arguments); 
     iteration = (iteration + 1) % functions.length; 
    }); 
} 

來源:http://forum.jquery.com/topic/beginner-function-toggle-deprecated-what-to-use-instead

然後你可以使用它像這樣,提供的功能的任意數量的作爲參數:

$('#mydiv').toggleClick(
    function() { alert("do"); }, 
    function() { alert("some"); }, 
    function() { alert("stuff"); } 
); 

在你的情況,你會這樣做:

$('.wwd-content-container .wwd-content-each .wwd-extra-content-trigger').toggleClick(
    function() { 
    var y = jQuery(window).scrollTop(); 
    jQuery(window).scrollTop(y+100); 
    }, 
    function() { 
    var y = jQuery(window).scrollTop(); 
    jQuery(window).scrollTop(y-100); 
    } 
); 
相關問題