【问题标题】:Go to certain part of page in jquery?转到jquery中页面的某些部分?
【发布时间】:2012-01-01 14:41:04
【问题描述】:

是否可以在 jquery 中跳到页面的某个部分,例如我在 index.html 上,我想转到 page2.html 上的页面中间我如何创建一个这样做的链接?提前感谢您的回答。 :)

附:我必须使用 jquery,因为这就是我用于整个网站的内容,所以整个 #location-on-page 将不起作用:) 谢谢

片段 1:

<a href="page.html#1"><img src="image_location/1.jpg" width="95%" border="1"></a>

片段 2:

<a href="image_folder/1.jpg"><img src="image_folder/1.jpg"><br>
Description
<a name="1"></a>

【问题讨论】:

  • 请显示链接的 HTML,如果您使用 jQuery/JavaScript 来触发导航,请也显示相应的代码。 jQuery 应该与如何使用 # 语法链接到特定锚标记无关,因此您必须在代码中执行其他操作来破坏它。
  • 我已经用 Javascript 替代方法更新了我的答案,以转到锚点而不是使用 href 链接。

标签: jquery html hyperlink


【解决方案1】:

如果您需要通过 Javascript 访问特定锚点,而不是通过单击页面上的锚点标记,请使用

location.href = "#anchor";

在这种情况下不需要 jQuery,但如果你也需要,你可以简单地创建自己的自定义 jQuery 函数

$.fn.gotoAnchor = function(anchor) {
    location.href = this.selector;
}

$('#1').gotoAnchor();

// This way would also allow going to another pages anchors like so
$('page2.html#1').gotoAnchor();

$.fn.gotoAnchor = function(anchor) {
    location.href = '#' + this.selector;
}

$('1').gotoAnchor();

取决于您是否必须在选择器中指定锚字符 #

【讨论】:

  • 太棒了,但我有一个非常愚蠢的问题,我将代码放在哪个页面上?
  • 无论您希望在哪个页面上使用该功能。理想情况下,您应该拥有自己的 Javascript 文件,其中包含您的自定义代码,您可以通过 &lt;script type="text/javascript" src="/myscript.js"&gt; 标记将其包含在您的页面中,然后它将在您包含脚本的任何页面上可用。只需确保在 jQuery 之后包含脚本,因为它扩展了 jQuery 的功能,因此 jQuery 对象必须可用。
  • 快速问题,我在某些页面上有 50 个链接,您编写的代码中的一个可以使所有锚点工作吗?
  • 只要你的链接有锚点 name="anchor_name" 并且你在页面上包含脚本就可以了。
【解决方案2】:

你必须放一个锚点。不需要 jQuery!

在第 2 页 - 您希望它跳转到的位置。

<a name="myanchor"></a>

在第 1 页。

<a href="page2.html#myanchor">Link</a>

【讨论】:

  • 不,我在整个网站上都使用 jquery,而 #certain-location-on-page 不适用于 jquery!这就是我以前使用的,但它不会再工作了。
【解决方案3】:

这是 HTML 的一个特性,而不是 jQuery,所以两者都可以使用。

在 page2.html 上,您需要包含一个命名的锚标记,您希望页面转到...

<a name="half-way">&nbsp;</a>

然后在 index.html 中,你可以使用指向那里的锚标记...

<a href="page2.html#half-way">This should get you half way..!</a>

如果你愿意,你可以使用 jQuery 来生成这些标签。

【讨论】:

  • 是的。你必须做其他事情来打破它。请出示您的代码。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-14
  • 2018-06-24
  • 1970-01-01
  • 2012-02-11
  • 2011-04-12
相关资源
最近更新 更多