3

简而言之,我希望图像上下移动,而不是左右移动。我找到了一点 jquery 并对其进行了更改以帮助自己,它可以在 chrome 和 firefox 中运行,但是上帝帮助我使用 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。

4

1 回答 1

1

编辑:你完全改变了问题,现在我有点困惑。我认为您的位置固定问题和 IE 可能是因为您在 quirksmode 下运行。您需要一个strict用于位置的文档类型:固定在 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/

于 2012-10-12T22:29:18.520 回答