0

我创建了一个脚本,它应该显示菜单正在晃动,并在您关闭时将其隐藏。现在,如果滚动是主体,它可以工作,但如果我会在溢出条件下使用 div 这样做,我该怎么做?

我的脚本很简单

var lastScroll = 0;
      $('#ipotetic div').scroll(function(event){


          var st = $(this).scrollTop();
          $('.header').stop();

          if (st > 54) {

          $('.header').css({"box-shadow" : "0 4px 0 rgba(0,0,0, 0.1)"});  

          if (st > lastScroll){
             //down
             $('.header').animate({top:'-54px'},200,'swing');
          }
          else {
             //up
             $('.header').animate({top:'0px'},200,'swing');
          }
          lastScroll = st;
          }
          else { $('.header').css({"top" : "0"}); $('.header').css({"box-shadow" : "none"}); }
      });

这是 div 结构

<div class="wrap"><div class="overflower"><div class="sizer">#content</div></div></div>

和CSS

.wrap {height:100%;position:relative;float:left;overflow:hidden;}
.overflower {width:410px;overflow:auto;height: 100%;}
.sizer {width:390px;}

它完美地工作,$(window).scroll(function(event){ 但是,为什么 div 它不起作用,有什么想法吗?

4

1 回答 1

0

是的,<div>只要内容溢出并且 CSSoverflow:auto or scroll应用于 div,它就可以实现。它在文档中有详细说明,我也在jsfiddle上进行了测试。

于 2013-11-01T13:36:42.270 回答