Сначала перенаправить на URL, а затем изменить HREF - PullRequest
0 голосов
/ 25 февраля 2012

Это мой код, который я хочу, когда я нажимаю ссылку, чтобы сначала перенаправить на страницу по ссылке, а затем изменить href. Проблема в том, что когда я нажимаю это изменение 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>

и это скрипт

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

Ответы [ 2 ]

3 голосов
/ 25 февраля 2012

Зачем вам нужно изменить атрибут href для ссылки? Почему бы вам не перенаправить их сразу, используя:

window.location.href='/to/infinity/and/beyond';
0 голосов
/ 25 февраля 2012

Мне кажется, я понимаю, что вы пытаетесь сделать.

Причина, по которой это не работает, заключается в том, что, когда вы нажимаете на ссылки, он, как обычно, отправляет пользователя на все, что находится внутри 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);');
    });
});

Надеюсь, что это поможет :) Оставьте комментарий, если есть что-то, что вы хотели бы объяснить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...