http://jsfiddle.net/motocomdigital/uTV5k/18/
クリックの代わりにトグルを使用して更新しましたが、それでもスムーズな交代を取得することはできません。
ここにjavascriptとjqueryを組み合わせています。
要素を取得しようとしているので、クリックするとアニメーションが実行されます(開く)。2回目のクリックで、アニメーションは開始点(閉じる)まで実行されます。
しかし、何らかの理由で、2回目のクリックの交互操作を機能させることができません。誰かが私が間違っていることについてアドバイスできますか?ありがとう
これ$('.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");
});
アニメーションへのクリックでは本当に反応がないようで、2回目のクリック/交代は本当に遅れて奇妙なことをしますか?
ありがとう
私の元のコード...
$(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");
});