【问题标题】:Hiding a div once scrolling past a specific div滚动经过特定 div 后隐藏 div
【发布时间】:2015-07-18 11:22:18
【问题描述】:

我有一个高度设置为自动的幻灯片,因此可以显示任何高度的图像。在该幻灯片中,我有两个箭头,它们被包裹在一个带有 .center 类的 div 中。箭头位于固定位置,因此滚动时箭头会跟随。当您滚动 div .center 时,将显示分配给 div="center" 的功能。

我遇到的问题是,一旦我滚动过幻灯片 div,箭头仍然存在。但是当我向上滚动通过我的幻灯片放映 div 时,箭头被隐藏了。

当我向下滚动到具有 cs-slider 类的 div 2 或幻灯片结束时,如何设置我的脚本,中心将被隐藏?

 $(window).scroll(function() {
    $(".center").each( function() {
      if( $(window).scrollTop() > $(this).offset().top - 150 ) {
        $(this).css('opacity',1);
      } else {
        $(this).css('opacity',0);
      }
    }); 
 });

HTML

 <section class="cs-slider" style="margin-bottom: 80px;" >
  <div class="center" id="box" >
      <a href=# id="prev">Prev</a> 
      <a href=# id="next">Next</a>
  </div>
     <div class="slides cycle-slideshow"
        data-cycle-fx="fade"
        data-cycle-prev="#prev"
        data-cycle-next="#next"
       data-cycle-pager=".pager"
        data-cycle-loader="wait"
        data-cycle-swipe=true
        data-cycle-swipe-fx=scrollHorz
        data-cycle-auto-height=container
        data-cycle-center-horz=true
       data-cycle-timeout="0"
        data-cycle-speed="500"
>
<div class="pager"></div>
  </div>
  </section><!-- slider -->
  <section class="workContent fadeDown"><!-- Hide .center once you scroll over section -->

  </section>

CSS

 cs-slider .slides  { margin:0 auto; max-width:800px; display:block; z-index:1}
 .cs-slider             { position:relative; text-align:center; padding:4em 0em 1em 0em;}
 .center                    {opacity: 0; }
 #prev, #next               { position:fixed; top: 0%; width: 10%; height: 200px; cursor: pointer; text-indent:-9999px;}
 #prev                      { left: 0;  background: url(http://malsup.github.com/images/left.png) 50% 50% no-repeat; }
 #next                      { right: 0; background: url(http://malsup.github.com/images/right.png) 50% 50% no-repeat;}
 #prev:hover, #next:hover   { opacity: .7; filter: alpha(opacity=70) }
 .disabled                  { opacity: .5; filter:alpha(opacity=50); }

【问题讨论】:

  • 我为此做了一个 jQuery 插件,也许你会发现它很有用:github.com/DebonairStudios/fromTop.js
  • 我有点困惑,你不想显示任何溢出吗?如果是这样,请尝试 CSS overflow: none;
  • 如果有点混乱,我很抱歉。我想要的是将 div 限制在 div 1 中。因此,当您滚动 div 1 时,一旦您滚动 div 1 和现在在 div 2 上,箭头就会显示,我希望箭头淡出。 @IanWise
  • 我会看看你的插件@JacobGray
  • 我忘记了那些链接 >.

标签: javascript jquery html css


【解决方案1】:

尝试使用以下内容。

$(this).css('display', 'none');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-11-16
    • 1970-01-01
    • 2014-11-17
    • 2012-10-26
    • 2013-12-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多