2012-02-24 18 views
-6

これは私が望むコードです。最初にクリックしてリンク先のページにリダイレクトした後、hrefを変更します。私はこのhrefの変更をクリックしますが、ページが最初にURLにリダイレクトしてからhrefを変更します

<ul id="searchTabs"> 
    <li class="current" > 
     <a rel="nofollow" href="products.php" id="product">Sản phẩm</a> 
    </li> 
    <li class="tabRight"> 
     <a rel="nofollow" href="products.php?os=offer" id="seller">Cung</a> 
    </li> 
    <li > 
     <a rel="nofollow" href="products.php?os=seeking" id="buy">Cầu</a> 
    </li> 
</ul> 

を変更しないときproblemaがあり、これは

$(window).load(function(){ 
    $("#product").click(function(){ 
     $('#product').attr('href','javascript:void(0);'); 
     $('#seller').attr('href','http://www.vmarket.com.vn/products.php?os=offer'); 
     $('#buy').attr('href','http://www.vmarket.com.vn/products.php?os=seeking'); 
    }); 

    $("#seller").click(function() { 
     $('#product').attr('href','http://www.vmarket.com.vn/products.php'); 
     $('#seller').attr('href','javascript:void(0);'); 
     $('#buy').attr('href','http://www.vmarket.com.vn/products.php?os=seeking'); 
    }); 

    $("#buy").click(function() { 
     $('#product').attr('href','http://www.vmarket.com.vn/products.php'); 
     $('#seller').attr('href','http://www.vmarket.com.vn/products.php?os=offer'); 
     $('#buy').attr('href','javascript:void(0);'); 
    }); 
}); 
+4

非常に長い1行のコードを貼り付ける代わりに、コードを書式設定してください。 –

答えて

3

はなぜあなたはリンクのhref属性を変更する必要があるスクリプトですか?

window.location.href='/to/infinity/and/beyond'; 
+0

私はそれをしますが、うまくいきません – Nguyen

0

私はあなたがしようとしていることを理解していると思います。

リンクがクリックされると、通常どおり、hrefの内部にあるものにユーザーを送信するため、機能しないのはそのためです。あなたが探しているように見えるのは、リンクしているページに応じてリンクを動的に変更する方法です。右?

これを処理するには、サーバー側の言語を使用することをお勧めします。パラメータを使用して表示するリンクを制御する。例えば

<ul id="searchTabs"> 
    <li class="current" > 
     <a rel="nofollow" href="products.php" id="product">Sản phẩm</a> 
    </li> 
    <li class="tabRight"> 
     <a rel="nofollow" href="products.php?os=offer" id="seller">Cung</a> 
    </li> 
    <li > 
     <a rel="nofollow" href="products.php?os=seeking" id="buy">Cầu</a> 
    </li> 
</ul> 

になるだろう:

<ul id="searchTabs"> 
     <li class="current" > 
      <a rel="nofollow" href="products.php?links=1" id="product">Sản phẩm</a> 
     </li> 
     <li class="tabRight"> 
      <a rel="nofollow" href="products.php?links=2" id="seller">Cung</a> 
     </li> 
     <li > 
      <a rel="nofollow" href="products.php?links=3" id="buy">Cầu</a> 
     </li> 
</ul> 

その後、あなたはPHPなどのサーバーサイドの言語でリンクパラメータのスイッチを行うことができます。次に、何が設定されているかに応じてhref属性を変更します。

- それはユーザーをリダイレクトするので、あなたが働いていない理由

理由です。つまり、あなたがJavaScriptであるということは、それが他のページに影響を与えないので全く問題ではないということです。

実際の場所が変更されるのを防ぐことができますが、探しているように聞こえることはありません。しかし、念のために...このような事態を防止するためには、使用することができます:あなたが説明したいものがある場合はコメントを残す:)助け

$(window).load(function(){ 
    $("#product").click(function(e){ 
     e.preventDefault(); 
     $('#product').attr('href','javascript:void(0);'); 
     $('#seller').attr('href','http://www.vmarket.com.vn/products.php?os=offer'); 
     $('#buy').attr('href','http://www.vmarket.com.vn/products.php?os=seeking'); 
    }); 

    $("#seller").click(function(e) { 
     e.preventDefault(); 
     $('#product').attr('href','http://www.vmarket.com.vn/products.php'); 
     $('#seller').attr('href','javascript:void(0);'); 
     $('#buy').attr('href','http://www.vmarket.com.vn/products.php?os=seeking'); 
    }); 

    $("#buy").click(function() { 
     e.preventDefault(); 
     $('#product').attr('href','http://www.vmarket.com.vn/products.php'); 
     $('#seller').attr('href','http://www.vmarket.com.vn/products.php?os=offer'); 
     $('#buy').attr('href','javascript:void(0);'); 
    }); 
}); 

希望を。

関連する問題