0

好的,这有点难以解释。我想要一个位于另一个 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});' 正确定位

问题是,如果我调整窗口大小,那么定位就会消失。正在报告 2个console.log("Offset left=" + offset.left)值。如果我删除行 '$('.imgfull').css({'right':offset.left});' 然后控制台只显示一个正确的值。所以它似乎只是通过css移动divright':offset.left会导致偏移量得到错误的值。

有什么建议么 ?

4

2 回答 2

1

只需使用 css 属性: Position: fixed

于 2013-10-23T21:00:07.390 回答
0

没关系找到解决方案。我没有使用,而是var offset = $('.imgfull').offset();简单地获取包装器 ( var offset = $('#wrap').offset();) 的偏移量,从而解决了问题。JSFiddle

于 2013-10-24T15:35:44.440 回答