2012-12-14 63 views
1

一個一直在困擾着我的人。我將如何將這三組代碼結合在一起?jQuery - 組合功能

$(".fly-out-menu").toggle(
     function() { 
     $('#page').animate({left: 250}, 'fast'); }, 
     function() { 
     $('#page').animate({left: 0}, 'fast'); } 
); 
$(".fly-out-menu").toggle(
     function() { 
     $('.sticky-container').animate({left: 250}, 'fast'); }, 
     function() { 
     $('.sticky-container').animate({left: 0}, 'fast'); } 
); 
$(".fly-out-menu").toggle(
     function() { 
     $('body').css('position','fixed') }, 
     function() { 
     $('body').css('position','static') } 
); 

感謝, [R

+2

'toggle'方法已過時,沒有規則阻止你wrting更比一個線功能。 – undefined

+0

不說它已被棄用... http://api.jquery.com/toggle/ –

+1

您正在使用此切換http://api.jquery.com/toggle-event/ – undefined

回答

5

這樣呢?

$(".fly-out-menu").toggle(
    function(){ 
     $('#page, .sticky-container').animate({left: 250}, 'fast'); 
     $('body').css('position','fixed'); 
    }, 
    function(){ 
     $('#page, .sticky-container').animate({left: 0}, 'fast'); 
     $('body').css('position','static'); 
    } 
); 

正如@undefined指出的那樣,此事件現在已被棄用。處理這個自己將
方式一:

$(".fly-out-menu").on("click", function(){ 
    var t = $(this); 
    if(!t.data("alreadyclicked")){ 
     t.data("alreadyclicked", true); 
     $('#page, .sticky-container').animate({left: 250}, 'fast'); 
     $('body').css('position','fixed'); 
    } else { 
     t.data("alreadyclicked", false); 
     $('#page, .sticky-container').animate({left: 0}, 'fast'); 
     $('body').css('position','static'); 
    } 
}); 
+0

感謝您的幫助。似乎很奇怪,他們會貶低這一點,但嘿嘿。 –

+0

很高興我能幫到你 – Pioul

1

你的意思是這樣嗎?

$(".fly-out-menu").toggle(
function() { 
    $('#page').animate({left: 250}, 'fast'); 
    $('.sticky-container').animate({left: 250}, 'fast'); 
    $('body').css('position','fixed'); 
}, 
function() { 
    $('#page').animate({left: 0}, 'fast'); 
    $('.sticky-container').animate({left: 0}, 'fast'); 
    $('body').css('position','static'); 
} 
); 

或者這樣:

$(".fly-out-menu").toggle(
function() { 
    $('#page, .sticky-container').animate({left: 250}, 'fast'); 
    $('body').css('position','fixed'); 
}, 
function() { 
    $('#page, .sticky-container').animate({left: 0}, 'fast'); 
    $('body').css('position','static'); 
} 
);