好的,这有点难以解释。我想要一个在另一个div内部的div在其父节点之外突破并占据窗口的整个宽度。我也希望它能够在窗户的左侧定位。 div不能与position: fixed;
一起定位,因为它需要与页面的其余部分一起滚动。
该div最终会在其中有一个图像。不幸的是我无法用文字描述它,我没有上传图片的声誉,但你可以看到我的意思jsfiddle
所以我到目前为止编写了这段代码
function sizeit(){
var windowWidth = $(window).width();
$('.imgfull').css({'width':windowWidth });
console.log("width= " + windowWidth)
var offset = $('.imgfull').offset();
$('.imgfull').css({'right':offset.left});
console.log("Offset left=" + offset.left)
}
$(window).ready(function () {
sizeit();
});
$(window).resize(function () {
sizeit();
});
现在,当我加载页面时,这似乎工作得很好。 div从$('.imgfull').css({'width':windowWidth });
获得正确的宽度,并使用'$('。imgfull')正确定位.css({'right':offset.left});'
问题是如果我调整窗口大小,那么定位就会开始。 console.log("Offset left=" + offset.left)
报告了2个值。如果我删除'$('。imgfull')行.css({'right':offset.left});'然后控制台只显示一个正确的值。所以看起来只是通过css right':offset.left
移动div会导致偏移量得到错误的值。
有什么建议吗?
答案 0 :(得分:1)
只需使用css属性: 位置:固定
答案 1 :(得分:0)
没关系找到解决方案。而不是使用var offset = $('.imgfull').offset();
我只是得到包装器(var offset = $('#wrap').offset();
)的偏移量,从而解决问题。 JSFiddle