在div上运行javascript点击?

时间:2013-04-07 21:15:44

标签: javascript jquery

我想知道是否有人可以提供帮助,基本上我有这个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>

2 个答案:

答案 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