如何在其他HTML页面中锚定段落,同时在单击当前页面中的按钮时突出显示指向段落所在的区域?
我在JavaScript中创建这个简单的代码只是做锚定事物
当前页面:
<html>
<form>
<input type=button value="open in new tab" onClick="goToURL2()">
</form>
<body>
<script type="text/javascript">
<!--
function goToURL2() { window.open( "explanations.html#footwell"); }
// -->
</script>
</body>
</html>
新页面:
<html>
<p><a name="footwell">
O, say can you see by the dawn's early light?
</a></p>
</html>
我认为“突出显示的文本”jQuery将是最好的方法,但无法弄清楚如何使用多个html页面。
答案 0 :(得分:1)
您可以使用锚点链接到新位置,就像您已经完成的那样。然后,在新页面上,您可以从URL中获取哈希值(window.location.hash
)并突出显示共享该值的特定元素。
// untested, but close enough to convey the point
$(function(){
var theHash = window.location.hash.split("#")[1];
$("a[name='"+theHash+"']").parent("p").addClass("highlight");
});
答案 1 :(得分:1)
使用id
时,jQuery选择器的工作速度会更快。只需从URL中取出#part并在jQuery选择器中使用它。
将您的第2页更改为:
<a id="footwell" name="footwell">...</a>
您可以选择任何想要突出显示锚点的动画,或者像其他人建议的那样添加一个类,但突出显示的部分将保持按类设置,整个时间保持它的CSS类设置。通过使用动画,它会像我们习惯的那样突出显示(即使在这里也是如此)。动画......
这是您必须在第二页上放置的代码:
$(function() {
$(window.location.hash).parent().animate(...)
});
您当然也可以使用this plugin与自定义动画混合使用。