[英]jQuery second click alternation not working?
http://jsfiddle.net/motocomdigital/uTV5k/18/
我已經更新了使用切換而不是單擊的方式-盡管仍然無法獲得平滑的交替。
我在這里混合了javascript和jquery。
我試圖獲取一個元素,因此當單擊它時,它將運行動畫(打開)。 第二次單擊,動畫將運行到起點(關閉)。
但是由於某種原因,我無法使第二次點擊交替生效。 誰能建議我做錯了什么? 謝謝
$('.home-module').toggle
是我遇到問題的地方。
請參閱下面的腳本...
$(window).load(function(){
$(window).bind("orientationchange resize", function(e) {
$('.home-module').each(function() {
var homeModule = $(this).height(),
homeTitle = $(this).find('.home-title-button').outerHeight(),
homeStart = homeModule - homeTitle,
homeOpen = false;
$(this).find('.home-title').css("top", homeStart + "px");
$('.home-module').toggle(
function() {
// first alternation
$(this).find('.home-title').animate({ top: homeStart + "px" });
},
function() {
// second alternation
$(this).find('.home-title').animate({ top: 0 + "px" });
}
);
});
}).trigger("resize");
});
似乎對動畫的點擊反應遲鈍,並且第二次單擊/替換確實延遲了,是否有奇怪的事情?
謝謝
我的原始代碼...
$(window).load(function(){
$(window).bind("orientationchange resize", function(e) {
$('.home-module').each(function() {
var homeModule = $(this).height(),
homeTitle = $(this).find('.home-title-button').outerHeight(),
homeStart = homeModule - homeTitle,
homeOpen = true;
$(this).find('.home-title').css("top", homeStart + "px");
$('.home-module').on('click', function () {
if (homeOpen) {
$(this).find('.home-title').animate({ top: homeStart + "px" });
homeOpen = false;
} else {
$(this).find('.home-title').animate({ top: 0 + "px" });
homeOpen = true;
}
});
});
}).trigger("resize");
});
homeOpen
始終設置為false,因此永遠不會滿足您的if (homeOpen)
條件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.