0

我想知道是否有人可以提供帮助,基本上我有这个 javascript 在用户向下滚动页面时淡入 div,但是,我想在 javascript 上设置一个条件,说只有在用户单击另一个 div 元素后才会淡出。

例如,我需要用户在向下滚动页面之前阅读一段文本,并且这个 div 淡入,在这段文本上是一个名为

因此,一旦用户阅读了文本,他们将单击“exit_profile_intro4”,这将关闭文本框,然后我才希望用于滚动和淡入 div 的 javascript 工作。有人可以告诉我如何做到这一点:我试过了

<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>
4

2 回答 2

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 */
    }
  });
})();
于 2013-04-07T21:24:10.787 回答
0

我看不出您的代码不正确的原因(没有实际运行它),但是您分配了这样的点击

$('div.exit_intro4').click( // Function

然而,您说您想在单击“exit_profile_intro4”时触发它。也许应该是这样。

$('div.exit_profile_intro4').click( // Function
于 2013-04-07T21:23:12.770 回答