我想知道是否有人可以提供帮助,基本上我有这个javascript在用户向下滚动页面时淡入div,但是,我想在javascript上放一个条件说只有在用户点击了另一个div后才淡出元件。
例如,我需要用户在向下滚动页面之前读取一段文本并且这个div淡入,在这段文本上是一个名为的div因此,一旦用户阅读了文本,他们将点击“exit_profile_intro4”,这将关闭文本框, 只有那时我想要滚动的javascript和淡入div工作。有人可以告诉我如何做到这一点:我已经尝试了
<script>
$('div.exit_intro4').click(function(){
$(window).scroll(function(){
var leftToBottom = $(document).height() - $(window).height() - $(window).scrollTop();
var distanceFromTop = $(window).scrollTop();
if( distanceFromTop > 300 && !$("profile_intro_case5").is(":visible")
&& leftToBottom > 1000 && !$(".profile_intro_case5").is(":animated")) {
$(".profile_intro_case5").fadeIn(1000);
}else if($(".profile_intro_case5").is(":visible") && (distanceFromTop < 300 || leftToBottom < 1000) && !$(".profile_intro_case5").is(":animated")){
$(".profile_intro_case5").fadeOut();
}
});
});
</script>
原:
<script>
$(window).scroll(function(){
var leftToBottom = $(document).height() - $(window).height() - $(window).scrollTop();
var distanceFromTop = $(window).scrollTop();
if( distanceFromTop > 300 && !$("profile_intro_case5").is(":visible")
&& leftToBottom > 1000 && !$(".profile_intro_case5").is(":animated")) {
$(".profile_intro_case5").fadeIn(1000);
}else if($(".profile_intro_case5").is(":visible") && (distanceFromTop < 300 || leftToBottom < 1000) && !$(".profile_intro_case5").is(":animated")){
$(".profile_intro_case5").fadeOut();
}
});
</script>
答案 0 :(得分:3)
向滚动事件添加状态。
(function() {
var user_can_scroll = false;
$("div.exit_intro4").click(function(e) {
/* do your thing */
user_can_scroll = true;
});
$(window).scroll(function(e) {
if (user_can_scroll) {
/* do your scroll thing */
}
});
})();
答案 1 :(得分:0)
我认为没有理由为什么你的代码不正确(没有实际运行它),但你指定了这样的点击
$('div.exit_intro4').click( // Function
然而,你说你想在点击“exit_profile_intro4”时触发它。也许应该是这样。
$('div.exit_profile_intro4').click( // Function