jQuery 和CSS - 如何阻止相对元素左右浮动(当您滚动时)?
我很抱歉发布此内容 第二次,但我需要一个 jQuery 解决方案。 原始解决方案在 Chrome 中不起作用,但在 jsFiddle 网站上起作用(即使在 Chrome 中打开) )。
再次详细说明如下: 我有一个具有固定位置的父 div,在该 div 内部我有一个具有相对位置的主 div。当我上下滚动栏时,它会跟随我(这是我想要的),但当我从左向右(或从右向左)滚动栏时,我不希望它跟随我。
HTML:
<div id="wrapper">
<div id="icons">
icons
</div>
</div
CSS:
#wrapper {
position: fixed;
z-index: 1000;
top: 155px;
}
#icons {
width: 42px;
position: relative;
left: -67px;
}
jQuery:
var initSL = $(window).scrollLeft();
var initOL = $('#wrapper').offset().left;
$(window).scroll(function () {
$('#wrapper').css('left', initOL - ($(window).scrollLeft() - initSL));
})(jQuery);
再次感谢您!!
I'm sorry for posting this for a second time but I need a jQuery solution. The original solution doesn't work in Chrome but works on the jsFiddle site (even when opened in Chrome).
Here are the details again:
I have a parent div with a fixed position and inside of that div I have the main div with a relative position. While I scroll the bar up and down it follows me (this I want) but I don't want it to follow me when I scroll the bar left to right (or right to left).
HTML:
<div id="wrapper">
<div id="icons">
icons
</div>
</div
CSS:
#wrapper {
position: fixed;
z-index: 1000;
top: 155px;
}
#icons {
width: 42px;
position: relative;
left: -67px;
}
jQuery:
var initSL = $(window).scrollLeft();
var initOL = $('#wrapper').offset().left;
$(window).scroll(function () {
$('#wrapper').css('left', initOL - ($(window).scrollLeft() - initSL));
})(jQuery);
Thank you once again!!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
试试这个:
jQuery .css 函数将 css 值设置为字符串。
从 $(document).scrollLeft() 检索的滚动值以像素为单位。
try this:
The jQuery .css function sets the css values as strings.
The scroll values you retreive from $(document).scrollLeft() are in pixels.