2010-07-20 26 views

回答

2

第A,给每个链接的哈希值,将第B网页B上相互匹配手风琴项目的ID

<a href='pageB.html#sectionOne'> Section One </a> 
<a href='pageB.html#sectionTwo'> Section Two </a> 
<a href='pageB.html#sectionThree'> Section Three </a> 

然后,给每个手风琴项目,你会点击一个与上述哈希值相匹配的ID。

(如果其中一人目前拥有“启动器”的ID,将其更改为您要使用的ID。)

<dt id="sectionOne" style="cursor: pointer; font-size: 14px; padding-top: 5px; padding-right: 5px; padding-bottom: 5px; padding-left: 5px; "> 
    Section One 
</dt> 
... 
<dt id="sectionTwo" style="cursor: pointer; font-size: 14px; padding-top: 5px; padding-right: 5px; padding-bottom: 5px; padding-left: 5px; "> 
    Section Two 
</dt> 
... 
<dt id="sectionThree" style="cursor: pointer; font-size: 14px; padding-top: 5px; padding-right: 5px; padding-bottom: 5px; padding-left: 5px; "> 
    Section Three 
</dt> 

最后,在infogrid.js文件,替换该行:

$("#starter").trigger("click"); 

与此:

$(window.location.hash).trigger("click"); 

将得到散列值,并用它触发合适的手风琴项目上的点击事件。


编辑:

正如@Tomas Lycken注意,你可能需要一些默认。您可以使用提供的#starter ID(然后在相应的链接中使用该ID),或者选择您自己的。

如果你想#sectionOne是默认的,你可以这样做:

$((window.location.hash || '#sectionOne')).trigger("click"); 

如果有一个或#sectionOne如果没有这将使用哈希值。

如果你想,以防止无效的哈希值,你可以这样做:

var $viewAtPageLoad = $(window.location.hash).trigger("click"); 

if(!$viewAtPageLoad.length) { 
    $('#sectionOne').trigger("click"); 
); 
+1

+1! =)如果没有给出散列,你甚至应该能够指定'#starter'作为默认选择器=) – 2010-07-20 12:42:36

+0

@Tomas - 这是一个很好的观点。应该真的有一个默认值。我会更新。 – user113716 2010-07-20 12:43:41

+0

欢呼声大家不能相信我没有想到这样做!是的学生证是对的! – justin 2010-07-20 13:17:57

相关问题