使用jQuery UI加载页面并突出显示锚点div

时间:2016-01-05 17:31:03

标签: javascript jquery html jquery-ui highlight

我试图以类似于StackOverflow的方式设置我的锚标签,如果我在页面A上点击链接到页面B上的div,则通过jQuery UI突出显示div&# 39; s,突出显示功能。我弄清楚的是如何将锚链接传递给新页面并突出显示它。这是页面方案。

第A页

...
<a href="/albums/1#track-1

第B页

<!-- /albums/1#track-1 -->

<div class="tracklist">
  ...
  <div id="track-1" class="track">Track 1</div> <!-- Highlights this div -->
  <div id="track-2" class="track">Track 2</div>
  <div id="track-3" class="track">Track 3</div>
  ...
</div>

除了设置本身,我还有一些性能问题。理想情况下,我认为您必须遍历每个页面加载上的每个.track,无论这些特定div是否在页面上。这样做的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

您在HTML代码中写错了ID,删除了&#39;#&#39;符号。像下面这样的东西可以解决问题。

$(document).ready(function() {
  var url = window.location.href; // Returns full current url.
  var hash = url.substring(url.indexOf("#") + 1);

  $('#' + hash).effect('highlight', {color: '#00f'}, 2000);
});

https://jsfiddle.net/jonathanzuniga/f6qohfb8/