2012-12-05 34 views
1

确定我的脚本的结果并不完全产生我正在寻找的答案,变量回来了我正在寻找的相反:JQuery;目标和火灾功能只有在某个目录

//修订:这是.hover的鼠标移开()

这里是我的功能:

$(".about,.activeAbout").hover(
    function() { 
    $('#dropInvestments').css("left","-9999px"); 
    $('#dropMedia').css("left","-9999px"); 
    $('#dropAbout').css("left","415px"); 
    $('#aboutTitle').addClass("aboutTitleActive").removeClass("aboutTitle"); 
    }, 
     function() { 
     $pageLoc = document.location.pathname.split('/about/'); 
     alert($pageLoc); 
     if (document.location.pathname == $pageLoc) 

    { 
     $('#aboutTitle').addClass("aboutTitle").removeClass("aboutTitleActive"); 
    } 

} 
); 

这里的路径:

wga/x3/about/history.html 

我想要的只是如果当前页面不在about文件夹/目录中,则只进行类更改。有什么想法吗?

采用分体式取出约而返回路径没有它...

+0

虽然有可能是更好的方法来检查这一点,你的'$ pageLoc'将永远是一个数组,如果原始字符串包含的“/约/”在里面,数组的长度将是> 1.因此,我认为你可以使用 – Ian

+0

如何给出正确答案的复选标记? –

回答

0

用户正则表达式.test做到这一点:

function() { 
    var pattern = /^\/?wga\/x3\/about\/.*/; 
    if (pattern.test(document.location.pathname)) { 
     $('#aboutTitle').addClass("aboutTitle").removeClass("aboutTitleActive"); 
    } 
} 
+0

查看修订...谢谢你 – DJERock

+0

你的回答指出我正确的方向所以谢谢你,但它并没有解决问题。我已经明白了你的方向。我会在 – DJERock

0

疯狂感谢Ohgodwhy和TheSmose指着我在正确的方向,这是我如何运作的。如果你可以使它更简单或有更好的方式随意张贴。谢谢:

$(".about,.activeAbout").hover(
    function() { 
    $('#dropInvestments').css("left","-9999px"); 
    $('#dropMedia').css("left","-9999px"); 
    $('#dropAbout').css("left","415px"); 
    $('#aboutTitle').addClass("aboutTitleActive").removeClass("aboutTitle"); 
    }, 
    function() { 
     $pageLoc = document.location.pathname; 
     $tarLoc = /about/g; 
     $result = $tarLoc.test($pageLoc); 
     if ($result !== true) 

    { 
     $('#aboutTitle').addClass("aboutTitle").removeClass("aboutTitleActive"); 
    } 

    } 
); 
+0

以下回复这个问题,这是行不通的。它会匹配任何网页与网址中的“约”字。因此,我们假设您将来会添加'/ wga/x3/services/about-our-services.html' ......它也会与之匹配。我上面发布的答案是你要找的。 –

+0

我试过你的代码,但它没有产生我正在寻找的结果......谢谢 – DJERock