Изменение ссылки с помощью события onclick

0

Я пытаюсь выяснить, есть ли способ сделать так, чтобы, когда кто-то нажимает на ссылку (которая открывается в новом окне), она заканчивает изменение адреса ссылки при каждом последующем щелчке. Например, если кто-то нажимает на гиперссылку1, он переводит их на page1.html при первом обходе, page2.html на втором, page3.html на третьем.

Я попытался заставить это работать с помощью jquery и anchorobject.href, но я не очень хорошо разбираюсь в jquery и понятия не имею, как продвигаться от этого.

Любая помощь будет принята с благодарностью. Благодарю!

  • 0
    Пожалуйста, включите код, который вы пробовали, и дайте нам знать, что пошло не так.
  • 0
    Вы должны будете использовать параметр URL, локальное хранилище или серверное решение для отслеживания индекса. Вы также можете использовать сценарии, чтобы связать значение href ссылки с именем файла страницы, если это надежно.
Теги:
hyperlink
href

2 ответа

1

Объявите массив, у которого есть список таких ссылок, и установите новый href при щелчке.

var links = new Array('first.html','second.html','third.html');
var i = 0;
$(document).ready(function(){
    $('#myhref').attr('href',links[i]);
    $('#myhref').click(function(){
        //do something like open window.
        if(i+1 in links)
        {
            i++;
        }
        $(this).attr('href',links[i]);
    });
});

Пример:

<a href="#" id="myhref">Click here</a> 

Открыть в iframe:

<a href="#" id="myhref" target="myiframe_name">Click here</a> 

Использование в AJAX:

var links = new Array('first.html','second.html','third.html');
var i = 0;
$(document).ready(function(){
    $('#myhref').attr('href',links[i]);
    $('#myhref').click(function(){
        $("#mydialog").load($(this).attr('href'))
        if(i+1 in links)
        {
            i++;
        }
        $(this).attr('href',links[i]);
        return false;
    });
});

Демо на jsfiddle: DEMO

  • 0
    Спасибо за это! Можно ли как-нибудь привести пример того, как этот код должен выглядеть и на самой ссылке? Мне трудно это реализовать. Еще раз спасибо!
  • 0
    Я вставил код, но он продолжает открывать одно и то же окно снова и снова, а не открывать следующее в серии.
Показать ещё 6 комментариев
0
$("#link-id").click(function(e){
   var oldlink = $(this).attr("href");
   var newlink = doSomethingWith(oldlink);
   $(this).attr("href",newlink);
});

Надеюсь, поможет!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню