2014-04-25 60 views
0

我想弄清楚是否有一種方式,以便當有人點擊一個鏈接(在新窗口中打開),它結束了每次後續點擊更改鏈接地址。例如,如果有人點擊超鏈接1,它會將它們轉到第一個轉到的page1.html,第二個轉到page2.html,第三個轉到page3.html。改變鏈接與onclick事件

我試圖讓這個工作使用jquery和anchorobject.href,但我不是很精通jQuery,並不知道如何從中取得進展。

任何幫助將不勝感激。謝謝!

+0

請包括您嘗試的代碼,並讓我們知道出了什麼問題。 – showdev

+0

您必須使用URL參數,本地存儲或服務器端解決方案來跟蹤索引。如果可靠,您也可以使用腳本將鏈接的「href」值鎖定到頁面文件名。 – isherwood

回答

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:DEMO

:上的jsfiddle

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

演示

+0

感謝您的支持!有沒有什麼辦法可以提供這個代碼應該如何看待鏈接本身的例子?我很難實施它。再次感謝! – user3061277

+0

我插入了代碼,但它只是一遍又一遍地打開同一個窗口,而不是打開系列中的下一個窗口。 – user3061277

+0

@ user3061277我更新了我的帖子。檢查它;) – Mortezaipo

0
$("#link-id").click(function(e){ 
    var oldlink = $(this).attr("href"); 
    var newlink = doSomethingWith(oldlink); 
    $(this).attr("href",newlink); 
}); 

希望它有幫助!