1

私のスクリプトの結果は、私が探している答えを正確に生成していません.変数は私が探しているものとは反対に戻ってきます:

//改訂: これは .hover() の mouseOut にあります

これが私の機能です:

$(".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 フォルダー/ディレクトリにない場合にのみ、クラスの変更を行うことです。何かご意見は?

split を使用すると、about が取り出され、それなしでパス名が返されます...

4

2 に答える 2

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");
    }

  }
);
于 2012-12-05T03:27:55.120 に答える
0

これを行うためのユーザー正規表現.test:

function () {
    var pattern = /^\/?wga\/x3\/about\/.*/;
    if (pattern.test(document.location.pathname)) {
        $('#aboutTitle').addClass("aboutTitle").removeClass("aboutTitleActive");
    }
}
于 2012-12-05T02:52:08.807 に答える