在我正在设计的一个新网站上,我有一个顶部 div,里面有一个链接。单击该链接时,div 动画到内容的完整高度。这可行,但我想再次单击该链接以将 div 动画恢复到以前的状态。这是行不通的。
我使用的是 jQuery 1.5.2,因此使用 .delegate() 而不是 .on()。请不要建议升级我的 jQuery 版本!
jQuery
// top bar & basket functionality
var topbarContractedHeight = $('#topbar').height(); // get current height
$('#topbar').css('height','auto'); // temp. set height to auto...
var topbarExpandedHeight = $('#topbar').height(); // ...and store it
$('#topbar').css('height',topbarContractedHeight); // put the height back to how it was
$('.topbarcontracted').delegate('#basket_trigger', 'click', function(){
$('#topbar').animate({ height: topbarExpandedHeight }, 500).removeClass('topbarcontracted').addClass('topbarexpanded'); // ...animate the height to the expanded height stored earlier, remove the 'contracted' class and add 'expanded'...
return false; // ...and don't process the link
});
$('.topbarexpanded').delegate('#basket_trigger', 'click', function(){
$('#topbar').animate({ height: topbarContractedHeight }, 500).removeClass('topbarexpanded').addClass('topbarcontracted'); // ...animate the height to the expanded height stored earlier, remove the 'expanded' class and add 'contracted'...
return false; // ...and don't process the link
});
如何让第二个 .delegate() 事件触发?