好的,這是我的問題...我有兩頁。在第一頁上,我有一個標題(h2
),我想在其上應用邊框樣式。在第二頁上,只有一個鏈接。當點擊第二頁的鏈接時,要導航到第一頁,它應該在圍繞h2
標記的第一頁上創建一個邊框。如何使用JavaScript或jQuery更改另一頁上元素的樣式?
有關如何做到這一點的任何想法?是否可以用普通的JavaScript或jQuery來做到這一點?
謝謝!
好的,這是我的問題...我有兩頁。在第一頁上,我有一個標題(h2
),我想在其上應用邊框樣式。在第二頁上,只有一個鏈接。當點擊第二頁的鏈接時,要導航到第一頁,它應該在圍繞h2
標記的第一頁上創建一個邊框。如何使用JavaScript或jQuery更改另一頁上元素的樣式?
有關如何做到這一點的任何想法?是否可以用普通的JavaScript或jQuery來做到這一點?
謝謝!
否,JavaScript是客戶端,因此您需要服務器記住鏈接是否被點擊,可能通過將其記錄在數據庫或會話變量中。
當然,如果您使用的是網站的傳統模式,而不是使用純JS加載頁面。
好吧,我正在尋找使用PHP,但我怎麼能知道誰點擊了鏈接?我應該使用他的IP地址還是其他? 什麼是最佳選擇? –
這確實取決於網站的用途以及您使用的目的。通常設置會話變量將工作。查看http://www.tizag.com/phpT/phpsessions.php瞭解會話變量的介紹。 –
謝謝隊友! :) –
那麼有一種方法可以用JavaScript做到這一點,雖然它很棘手,服務器端更容易。您需要使用一些JavaScript來加載不同的頁面,而無需刷新整個DOM。我用pjax這樣做。它的工作方式是讓每個頁面充當一個容器,通過ajax加載所有後續頁面。通過不進行完整頁面重新加載,您在一個頁面上所做的任何樣式更改都會轉到其他頁面(在實際瀏覽器刷新時,這種效果無法實現)。
這將是一個非常愚蠢的做法,但它是可能做到它的客戶端。我會認真推薦做它服務器端。
在第2頁,鏈接回頁面1散列:
<a href="/page1#border">Go back to page one and add a border</a>
而且第1頁上,檢查是否有一個哈希:
if (window.location.hash === '#border') {
$('h2').addClass('withBorder');
}
我認爲,如果你正在尋找這種的情況下,你可以通過傳遞一些哈希值來實現它:
i passed a hash named 'second'
在second page url
並把這個腳本放在第二頁
$(function(){
var url=window.location;
var hash = url.hash.substr(1);
if(hash == "second"){
$('h2').css('border','solid 1px red');
}
});
結帳,如果幫助。
您正在查看/查看第1頁和第2頁? – Jawad
不,只打開一個頁面。 –
@VladimirSavić:那麼你不能單純的做客戶端。您必須向服務器發送消息,告訴它更新其他頁面。 –