我有一個這樣的腳本,執行水平手風琴的動畫。每當手風琴上的不同滑道(li)被打開時,它就被放入「活動」對象內。如何從動畫中排除jQuery對象?
<script type="text/javascript" >
$(document).ready(function(){
active = $('ul li:first-child');
$('ul li').click(
function(){
$(active).animate({width: '40px'}, { queue:false, duration:600 });
$('div').fadeOut(100).delay(400).fadeIn(100);
$(this).animate({width: '660px'}, { queue:false, duration:600});
active = this;
}
);
});
</script>
的動畫所有工作的偉大,但唯一的問題是,當我點擊當前打開的滑動運行this--
$('div').fadeOut(100).delay(400).fadeIn(100);)
如何排除運行此當前打開幻燈片?我試過。不是,但不是,但也許我做錯了。
有些HTML會幫助我更好地理解你是否有它 – 2011-03-17 17:26:25
我發現代碼中的幾個嚴重問題開始時很可能是無意的。以'$('div')....'開始的行會在點擊的整個頁面上淡化每個div。那真的是你想要的嗎?既然你寫的動畫工作正常,也許它的目的。其次,以'$(active).click(function()...'開頭的行每次點擊li時會綁定一個新的事件處理程序,您無法做到這一點,我相信您想要刪除在函數的_end_處輸入'return false'; – Thomas 2011-03-17 17:41:13
考慮它,也許你打算把事件作爲參數e並在代碼中執行:'$('ul li')。click ( 函數(e){ e.stopPropagation(); [...] ' – Thomas 2011-03-17 17:46:02