html div跟随页面滚动条滚动,javascript – 当我向下滚动页面时,如何让div跟随我?...

您可以在窗口对象上挂钩scroll事件.处理事件时,请查看窗口/文档的垂直滚动位置(有关如何操作,请参阅SO上的

this answer).对div使用绝对定位,并根据需要将其顶部更新为坐标.

FWIW,我会非常小心这样做.通常当用户滚动时,这是因为他们想要查看与页面上的内容不同的内容.就个人而言,我讨厌在网页上跟随我的盒子. :-)但这并不意味着有时没有充分的理由这样做.

非常基本的例子(live copy):

CSS:

#box {

/* Position absolutely, 30px down from the top */

position: absolute;

top: 30px;

/* In my case I'm centering it in the window; do what you like */

margin-left: -100px;

left: 50%;

width: 200px;

/* These are just for my example */

height: 1.25em;

border: 1px solid #bbb;

text-align: center;

}

HTML:

I'm the box

JavaScript的:

window.onload = function() {

function getScrollTop() {

if (typeof window.pageYOffset !== 'undefined' ) {

// Most browsers

return window.pageYOffset;

}

var d = document.documentElement;

if (d.clientHeight) {

// IE in standards mode

return d.scrollTop;

}

// IE in quirks mode

return document.body.scrollTop;

}

window.onscroll = function() {

var box = document.getElementById('box'),

scroll = getScrollTop();

if (scroll <= 28) {

box.style.top = "30px";

}

else {

box.style.top = (scroll + 2) + "px";

}

};

};

(在我的情况下,我总是将它保持在顶部下方2个像素,但如果你不想这样,你可以相应地调整数字.)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值