2012-02-24 4 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

매우 긴 한 줄 코드를 붙여 넣지 말고 코드 서식을 지정하십시오. –

답변

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

희망을.

관련 문제