jQuery显示div点击隐藏然后不再显示

标签 jquery show-hide

我正在使用 jQuery 隐藏页面上的 div:

$(document).ready(function(){   
$('#message').hide();

当页面的某个部分滚动到 View 中时,div 将显示使用

$(window).scroll(function() {

            var top = 0;
            top = $(window).scrollTop();


            if((top >= 1000) && (top < 2000)){

                $('#message').fadeIn('slow');
            }    
            }

我想添加一个关闭按钮,如下所示

$('a#message-hide').click(function() {
$('#message').hide('fast');
return false;

到目前为止一切都很好,但我不明白的是当用户滚动回页面上的触发位置时如何停止 div 重新出现...?

最佳答案

您可以稍微重新排列代码,使其不可绑定(bind)(以不会造成附带损害的方式),如下所示:

 function checkShowDiv() {
   var top = $(window).scrollTop();
   if(top >= 1000 && top < 2000) {
     $('#message:hidden').fadeIn('slow'); //prevent re-fades with :hidden
   }
 }
 $(window).scroll(checkShowDiv);

然后在你的关闭函数中:

$('a#message-hide').click(function() {
  $(window).unbind('scroll', checkShowDiv);
  $('#message').hide('fast');
  return false;
});

这样做的目的是关闭 <div> ,和 .unbind() 发生在 scroll 上的检查这可能会再次显示。

关于jQuery显示div点击隐藏然后不再显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2904182/

相关文章:

jquery - jquery ui 亮度按钮和文本框焦点上的橙色边框

javascript - 选择后隐藏文件输入

javascript - w3.css 幻灯片 : How to add automatic slideshow functionality

javascript - 如何在点击时和用户点击离开时使用 jquery 隐藏元素?

javascript - 将当前链接设置为事件链接

javascript - jQuery:评估 ajax 响应中的脚本

jquery - 显示/隐藏 <select> 下拉列表,使用 jQuery,基于值

jquery - 显示一个表单并隐藏另一个表单在 IE 中不起作用

css - 在表单中动态添加新字段时无法固定表单字段位置

ios - Xamarin ios 隐藏\删除 UIPickerView