滚动/跳转到没有 jQuery 的 id

新手上路,请多包涵

我已经搜索了很多主题以寻找可用的解决方案。

但没有发现什么。大多数脚本对于我的目的来说太混乱了。

寻求仅基于 Javascript 的解决方案。 在我的项目中,无法使用 jQuery。

我需要跳转或滚动到 id。

 <head>
<script type="text/javascript">
//here has to go function
</script>
</head>

我的电话是:

 <a onclick="function_call+targetname"><img src="image1" alt="name1"></a>
<a onclick="function_call+targetname"><img src="image2" alt="name2"></a>
<a onclick="function_call+targetname"><img src="image3" alt="name3"></a>

所以我必须在导航中使用 onclick 事件。

现在 onclick 我想跳转或滚动到页面中的 div id:

 <div id="target1">some content</div>
<div id="target2">some content</div>
<div id="target3">some content</div>

这很重要:不幸的是,html 锚点不起作用。否则一切都会很容易。

我简单地使用了bevore:

 onclick="window.location.hash='target';"

但我在 eBay 有限制。他们不允许这个简单的代码。

我也不能调用外部 javascript(仅在头部区域使用 JS)。此外,不能使用:“cookie.”、“cookie”、“替换(”、IFRAME、META 或包含)和基本 href。

用一点 JS 就可以不难跳到一个特定的点。我不需要特殊效果。

有没有人有一个苗条而有用的解决方案?

我自己找到了解决方案,感谢 Oxi。我按照你的方式。

对于所有对我的解决方案感兴趣的人:

 <head> <script type="text/javascript"> function scroll(element){
var ele = document.getElementById(element);
window.scrollTo(ele.offsetLeft,ele.offsetTop); } </script> </head>

导航呼叫:

 <a onclick='scroll("target1");'><img src="image1" alt="name1"></a>

现在你可以跳转到一个名为 ID 的 div

 <div id="target1">CONTENT</div>

原文由 user1805546 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 370
1 个回答

也许你应该试试 scrollIntoView。

 document.getElementById('id').scrollIntoView();

这将滚动到您的元素。

原文由 Aakash 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题