こんにちは、
モバイル サイトで以下のスクリプトを使用しています。シミュレートされたスクリプトとマークアップの jsfiddle を参照してください。
以下のスクリプトはまさに私のモバイル サイトにあるもので、js フィドルはその複製です。
jsfiddle では、クリックの切り替えは正常に機能します。最初のクリックでアニメーションが開き、2 回目のクリックでアニメーションが閉じます。
私のモバイルサイトの問題は、最初のクリックでアニメーションが開き、2 回目のクリックなしですぐに 2 番目のアニメーションが実行されることです。しかし、フィドルでは問題なく動作します。
$(window).load(function(){
$(window).bind("orientationchange resize", function(e) {
$('.home-mod').each(function() {
var homeModule = $(this).height(),
homeTitle = $(this).find('.home-title-button').outerHeight(),
homeStart = homeModule - homeTitle,
homeOpen = false;
$(this).find('.mod-info').css("top", homeStart + "px");
$(this).on('click', function () {
if (homeOpen) {
// second click alternation
$(this).find('.mod-info').animate({ top: homeStart + "px" });
homeOpen = false;
} else {
// first click alternation
$(this).find('.mod-info').animate({ top: 0 });
homeOpen = true;
}
});
});
}).trigger("resize");
});
なぜこれが起こるのか、私には本当にわかりません。iScroll でこれを使用しても問題は発生しませんか?
前もって感謝します