2015-10-20 35 views
0

我試圖切換jQuery給出的兩個CSS樣式。在jQuery給出的CSS樣式之間切換?

基本上,這是我的代碼:

$('#reveal').click(function() { 
    window.scrollTo(0, 1); 

    $('.boxs').slideToggle(1000, function() { 
     $('#bubs').toggle(function() { 
      $('#bubs').animate({"position":"relative","margin-top":"320px"}, 1000); 
     }, function() { 
      $('#bubs').animate({"position":"fixed","top":"0"}, 1000); 
     }); 
    }); 
}); 

,所以我需要切換`

$('#bubs').animate({"position":"relative","margin-top":"320px"}, 1000); 

$('#bubs').animate({"position":"fixed","top":"0"}, 1000); 

,但我在做什麼之間

錯因此我的代碼沒有按根本不起作用,它不會切換。

有人請讓我知道這樣做的正確方法嗎?

+1

添加您的HTML與腳本 –

+0

jQuery的'.toggle'事件是[**棄用1.8和1.9去除**](https://開頭的API .jquery.com /切換事件/)。如果你在網頁上搜索toggleClick,你應該找到一個jQuery插件,它可以做'.toggle'事件。 – PeterKA

+0

@PeterKA,但令人困惑的是仍然存在['.toggle()'](https://api.jquery.com/toggle/)效果...無論如何,切換可以很容易地被模仿。使用老式學校if/else;) – giorgio

回答

0

jQuery .toggle事件已在1.8 and removed in 1.9中棄用。儘管我不會推薦它,但是你的代碼工作的唯一方法是如果你使用jQuery 1.8和更低版本。

您可以使用toggleClick() jQuery plugin和最新版本的jQuery。看看使用示例here。有了這個插件,您的代碼將變成:

$('#bubs').toggleClick(function() { 
     $(this).animate({"position":"relative","margin-top":"320px"}, 1000); 
    }, function() { 
     $(this).animate({"position":"fixed","top":"0"}, 1000); 
    });