したがって、ページの特定の位置にフェードインまたはフェードアウトする新しいレターサインボックスがあります。サインアップボックスには、オフにするボタンもあります。これをクリックすると、ページが再ロードされるまで表示されなくなります。私の仮定は、disablefade変数を割り当てて、実行されるスクロール機能を停止することです。しかし、なんらかの理由でこれは機能しません。いいえクリックして再度スクロールすると、divが再び表示されます...リンクがクリックされたときにフェードイン/アウトdivを無効にする方法
ありがとうございました!
jQuery(document).ready(function($) {
$("#nl-pop").hide(); //hide nl block initially
var disableFade = "false";
var topOfOthDiv1 = $("#newsletter-cta").offset().top - 1500;
var topOfOthDiv3 = $("#newsletter-cta").offset().top;
jQuery('#no-thanks').click(function(event) {
event.preventDefault();
jQuery('#nl-pop').fadeOut('slow');
var disableFade = "true";
});
console.log(disableFade);
if(disableFade === "false")
{
$(window).scroll(function() {
if($(window).scrollTop() topOfOthDiv1) { //scrolled past the other div?
$("#nl-pop").fadeOut(200); //reached the desired point -- show div
}
}
});
}
});
ブール値が使用されているかどうかは関係ありません。有効な条件チェックであるかどうかを常に確認しています(disableFade === "false")。コードの実際の問題は、条件チェックが$(window).scroll関数の外側に書かれています(var disableFadeを2回使用しました)。if($(window).scrollTop()topOfOthDiv1 && disableFade === "false")のような関数内に記述する必要があります。私の答え。 –