html让页面整体可以上下移动,javascript-滚动页面时如何使<div>上下移动?

javascript-滚动页面时如何使

上下移动?

当用户滚动页面时,如何使div元素在页面中上下移动? (该元素始终可见)

6个解决方案

72 votes

您想要将fixed属性应用于元素的位置样式。

position: fixed;

您正在使用什么浏览器? 并非所有浏览器都支持fixed属性。 了解更多有关谁支持它,谁不支持的信息以及此处的一些解决方法

[http://webreflection.blogspot.com/2009/09/css-position-fixed-solution.html]

Bob answered 2020-01-12T19:26:16Z

61 votes

只是为了获得更生动有趣的解决方案:

$(window).scroll(function(){

$("#div").stop().animate({"marginTop": ($(window).scrollTop()) + "px", "marginLeft":($(window).scrollLeft()) + "px"}, "slow" );

});

还有一支笔,供那些想看的人使用:[http://codepen.io/think123/full/mAxlb,]和叉子:[http://codepen.io/think123/pen/mAxlb]

更新:和非动画jQuery解决方案:

$(window).scroll(function(){

$("#div").css({"margin-top": ($(window).scrollTop()) + "px", "margin-left":($(window).scrollLeft()) + "px"});

});

11 votes

当页面顶部没有标题或徽标时,单独使用position:fixed很好。 该解决方案将考虑到窗口滚动了多远,并在滚动经过标题时移动了div。 然后,当您再次到达顶部时,它将重新锁定到位。

if($(window).scrollTop() > Height_of_Header){

//begin to scroll

$("#div").css("position","fixed");

$("#div").css("top",0);

}

else{

//lock it back into place

$("#div").css("position","relative");

}

lmno answered 2020-01-12T19:27:05Z

5 votes

这是jQuery代码

$(document).ready(function () {

var el = $('#Container');

var originalelpos = el.offset().top; // take it where it originally is on the page

//run on scroll

$(window).scroll(function () {

var el = $('#Container'); // important! (local)

var elpos = el.offset().top; // take current situation

var windowpos = $(window).scrollTop();

var finaldestination = windowpos + originalelpos;

el.stop().animate({ 'top': finaldestination }, 1000);

});

});

Alireza Masali answered 2020-01-12T19:27:25Z

4 votes

只需在您的div样式中添加position: fixed;即可。

我在代码中检查了它的运行状况。

chandrgupt answered 2020-01-12T19:27:49Z

3 votes

您可能想查看雷米·夏普(Remy Sharp)在jQuery for Designers上有关固定浮点元素的最新文章,其中有一段不错的视频和有关如何在客户端脚本中应用此效果的文章

Russ Cam answered 2020-01-12T19:28:09Z

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值