Jquery滚动图像在IE中不起作用

时间:2012-10-12 22:26:08

标签: jquery

简单地说,我希望图像上下移动而不是左右移动。 我找到了这个jquery并改变了它以帮助自己,它在chrome和firefox中工作,但Lord帮助我使用IE(像往常一样)。

尝试做到这一点:http://demo.rickyh.co.uk/css-position-x-and-position-y/ 中间一个。适用于chrome和ffox,而不是IE 9

    /*js*/
$(document).scroll(function(){
var $this = $(this);
$(".natface").css('left', 114 - $this.scrollLeft());
});

/*css */
.natface{
position: fixed;
left: 114px;
width: 88px;
height: 93px;
z-index: -2;
}   

这允许我在页面上下滚动并使此图像上下移动,但是当我将窗口缩小然后从左向右滚动时,这将使其无法向左和向左滚动。在IE浏览器中情况并非如此,即使我使窗口变小,当我向右滚动时它仍然向右滚动。

如果你可以用一个图像向一个边缘线框成像,该图像向下滚动它的左侧稍微重叠,看起来好像它正在对着文本框说话。这是我的意图。

我对这一切都很陌生,所以很难知道我哪里出错了。抱歉第一次使用stackoverflow。

1 个答案:

答案 0 :(得分:1)

编辑:你完全改变了问题,现在我有点困惑。我认为你的位置固定和IE的问题可能是因为你在quirksmode中运行。您需要strict doctype for position:fixed to work in IE。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

也在这里留下我的旧答案:

有CSS属性position:fixed,但我认为IE6和iOS 4不支持此属性。

位置:修正了JSFiddle http://jsfiddle.net/DLeYv/1/

如果你想使用Javascript,这样的东西会使它水平和垂直滚动:

$(".natface")
  .css('top', 114 + $this.scrollTop())
  .css('left', 100 + $this.scrollLeft());

这会告诉类.natface的任何内容滚动到与滚动窗口(scrollTop)相同的像素数量,然后再向下滚动114像素,并向左滚动相同数量。

为了使其工作,.natface元素需要具有“绝对”位置,而不是位于任何其他定位元素内(如直接位于<body>标记内)。

JSFiddle http://jsfiddle.net/DUnUm/2/