0

我有一个网站,我希望它这样做:当我单击页面左侧的图像时,页面向后移动,当我单击右侧的图像时,页面向前移动。我正确设置了所有内容,因此我尝试使用 css 简单地执行此操作,onmouseover 将页面的边距向右或向左移动这么多像素:

<p onmouseover="hoverForward" style="text-indent:-1000px;">
<div id="menu" style="height: 504px; width: 92px; position: absolute; z-index: 2; top: 62px; left: 1353px;">
<img src="image.jpg">
</div></p>

但这并没有给我任何结果。所以我尝试使用 w3Schools 中的一个示例用于 javascript onmouseclick:

function myFunction()
{
document.getElementById("demo").innerHTML="Hello World";
}
<p onmouseover="hoverForward" style="text-indent:-1000px;">
<div id="menu" style="height: 504px; width: 92px; position: absolute; z-index: 2; top: 62px; left: 1353px;">
<img src="image.jpg">
<button onclick="myFunction()">Click me</button>
<p id="demo"></p>
</div></p>

为了测试它,我尝试将按钮放在图像上。按钮在那里,但是当我单击它时它没有滚动。我做错什么了?看来我采取的第一种方法肯定会奏效。谢谢

4

1 回答 1

0

你的第一个片段无论如何都不会工作,因为它不是动态的。另外,text-indent不是处理块元素偏移的最佳方法。第二个不起作用,因为 JavaScript 不会滚动,而是向<p id="demo" ...>元素输出 'Hello, World'。

最好在这里看看:

http://tympanus.net/codrops/2010/06/02/smooth-vertical-or-horizo​​ntal-page-scrolling-with-jquery/

这是使用 HTML ankers 进行垂直滚动的好方法,甚至可以在不支持或不允许 JavaScript 的浏览器上使用。

可以帮助你吗?

于 2013-01-23T13:25:22.420 回答