1

我正在尝试从外部站点创建一个链接,该链接到达我正在构建的 JQTouch 站点上的特定内部面板。但是,无论我在链接中使用什么锚标记,浏览器总是会打开 JQT 站点的主面板。

例如,如果我尝试链接到官方 JQTouch 演示中的用户界面面板,我使用http://www.jqtouch.com/preview/demos/main/#ui但主面板显示在浏览器中,而不是子面板我请求了。

任何建议都会非常受欢迎。我可以控制链接站点和链接站点,因此需要调整代码。

谢谢

4

1 回答 1

2

根据源代码(http://code.google.com/p/jqtouch/source/browse/trunk/jqtouch/jqtouch.js) - jqTouch 将加载页面的任何部分,首先current添加了类。

jqtouch.js的第179行:

// Make sure exactly one child of body has "current" class
if ($('#jqt > .current').length == 0) {
  currentPage = $('#jqt > *:first');
} else {
  currentPage = $('#jqt > .current:first');
  $('#jqt > .current').removeClass('current');
}

// Go to the top of the "current" page
$(currentPage).addClass('current');
location.hash = '#' + $(currentPage).attr('id');
addPageToHistory(currentPage);

因此,最好的办法可能是在运行 jqtouch 源之前window.location.hash检查您的变量,并设置类中存在的哈希值。current

类似于这种启发式的东西:

<script include jquery>
<script>
var cur = document.location.hash;
if (cur) {
  $('.current').removeClass('current');
  $(cur).addClass('current');
}
</script>
<script include jqtouch>
于 2010-04-10T19:07:36.103 回答