Javascript 使用鼠标滚轮和侧边栏更改Div Y位置
当我用鼠标滚轮或侧边栏向下或向上滚动时,我的div会逐渐改变Y位置(例如向上或向下50px)。我需要Javascript/Jquery中的这个 我尝试了这段代码,但只适用于向下滚动(向下滚动和向上滚动功能工作正常,只有动画部分工作错误): 更新:Javascript 使用鼠标滚轮和侧边栏更改Div Y位置,javascript,jquery,position,mousewheel,Javascript,Jquery,Position,Mousewheel,当我用鼠标滚轮或侧边栏向下或向上滚动时,我的div会逐渐改变Y位置(例如向上或向下50px)。我需要Javascript/Jquery中的这个 我尝试了这段代码,但只适用于向下滚动(向下滚动和向上滚动功能工作正常,只有动画部分工作错误): 更新: var sidebarScrollTop = 0; $(document).ready(function() { sidebarScrollTop = $("body").offset(); $(window).scrol
var sidebarScrollTop = 0;
$(document).ready(function() {
sidebarScrollTop = $("body").offset();
$(window).scroll(function ()
{
var docScrollTop = $('body,html').scrollTop();
if(docScrollTop > sidebarScrollTop.top)
{
$("#legend").stop().animate({ marginTop: "+=50px",}, 'slow', "easeOutCirc" );
}
else
{
$("#legend").stop().animate({ marginTop: "-=50px",}, 'slow', "easeOutCirc" );
}
});
});
$(window).resize(function()
{
sidebarScrollTop = $("#legend").offset().top;
});
$(document).resize(function()
{
sidebarScrollTop = $("#legend").offset().top;
});
谢谢您可以使用
$(window).scroll(function() {
// Your scroll code here
});
每当用户在页面上滚动时抓取
接下来要更改div
的y值。
如果div
被定位为绝对值,则这只是更改其最大值
$('my-div').top = original-top-value + $(window).pageYOffset;
我相信您需要的是保持div始终显示,即使用户向下滚动。如果是这种情况,则只能使用CSS:
div {
position: fixed;
z-index: 100;
top: 100px;
left: 100px;
}
z-index、top和left的值都是伪值。把它们换成你的
更新:
由于CSS解决方案对您不起作用,这里有一个JS中的工作示例writer:是的,但position:fixed忽略布局,我要移动的div位于页面中心的其他div内。我对此方法有一个问题,我需要我的div保持在其他div(我的网站容器)内以窗口大小为中心,调整内容的高度(本例中为滚动)。