鼠标滚动下拉效果

  最近在网页上实现微信界面的研究,遇到了框内内容过多溢出,需要下拉的效果.于是就研究了下 下拉实现
  一般传统的做法,就是给父元素加上 overflow:scroll,但是这样就会出现滚动条,尽管有的说可以不要滚动条,不过我看到的是只有在设置body处,才有说滚动条隐藏但照样能滚动,于是因为我要的是div里面的内容滚动,就继续找找看,终于看到了微博的嵌入框功能(代码嵌入到其他网站,访问网站时会显示微博的框和内容),里面虽然也有滚动条,但那个是用div做的。
  所以,我学到的做法是:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
  var scrollDiv = document.getElementById("divScroll");
  var divContent = document.getElementById("divContent");
  var marginTop = 0;
  scrollDiv.addEventListener("mousewheel", function(e){
    //console.log(e.detail);
    //console.log(e.wheelDelta);
    if(e.wheelDelta>0){
      if(marginTop==0){
        return; 
      }
      marginTop+=10;
    }else{
     /* console.log(marginTop);
      console.log(scrollDiv.offsetHeight-420);*/
      if(marginTop+scrollDiv.offsetHeight<divContent.offsetHeight){
        return;
      }
      marginTop-=10;
    }
    scrollDiv.style["margin-top"] = marginTop+"px";
  });
    

记录完毕,实现效果