将div放在左边:窗口的0(不是父级)

时间:2013-10-23 20:56:43

标签: jquery html css

好的,这有点难以解释。我想要一个在另一个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会导致偏移量得到错误的值。

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

只需使用css属性: 位置:固定

答案 1 :(得分:0)

没关系找到解决方案。而不是使用var offset = $('.imgfull').offset();我只是得到包装器(var offset = $('#wrap').offset();)的偏移量,从而解决问题。 JSFiddle