2013-04-23 81 views
0

我使用jmpress.js为我的网站,你可以得到特定的内容/幻灯片锚点如下:index.htm#/ slide1,index.htm#/ slide2等如果页面加载锚,然后

我还使用像

$('.click').click(function() { 
    $(".menu").animate({ top: '+=100' }); 
    $("#logo").fadeToggle(); 
}); 

码显示和隐藏不同的东西,以获得另一张幻灯片时(如果用户对“点击”另一张幻灯片从底部进来,用户点击更换主场页)。 这显然只有在你始终从“开始”页面开始(没有任何锚点)的情况下才起作用。

但是,当您直接使用url index.htm#/ slide1访问页面时,这两个项目显然不会显示或隐藏 - 只要用户位于除开始页面之外的任何网站上,它们就会自动启动。 有没有简单的方法(我不知道编码)来做到这一点?

所以基本上是这样的:

IF anchor #slide1, #slide2 { 
    $(".menu").animate({ top: '+=100' }); 
    $("#logo").fadeToggle(); 
}); 

回答

2
if (window.location.hash){ 
     var hash = window.location.hash.substring(1); 
     if (hash == "slide1" || hash == "slide2"){ 
     $(".menu").animate({ top: '+=100' }); 
     $("#logo").fadeToggle(); 
     } 
} 

http://curtistimson.co.uk/js/reading-url-hashtag-values/

+0

只是一个快速的问题。这似乎只工作,如果我重新加载页面(具体散列/锚点),但不是当我只是输入网址与哈希? – Grimwood 2013-04-23 14:16:17

+0

@Simon在'hashchange'事件处理程序中运行你的代码。看到这个SO帖子了解更多信息:http://stackoverflow.com/questions/8212845/how-to-detect-url-changes-with-jquery – Curt 2013-04-23 14:58:07