2012-12-20 63 views
1

好的,這是我的問題...我有兩頁。在第一頁上,我有一個標題(h2),我想在其上應用邊框樣式。在第二頁上,只有一個鏈接。當點擊第二頁的鏈接時,要導航到第一頁,它應該在圍繞h2標記的第一頁上創建一個邊框。如何使用JavaScript或jQuery更改另一頁上元素的樣式?

有關如何做到這一點的任何想法?是否可以用普通的JavaScript或jQuery來做到這一點?

謝謝!

+0

您正在查看/查看第1頁和第2頁? – Jawad

+0

不,只打開一個頁面。 –

+0

@VladimirSavić:那麼你不能單純的做客戶端。您必須向服務器發送消息,告訴它更新其他頁面。 –

回答

1

,JavaScript是客戶端,因此您需要服務器記住鏈接是否被點擊,可能通過將其記錄在數據庫或會話變量中。

當然,如果您使用的是網站的傳統模式,而不是使用純JS加載頁面。

+0

好吧,我正在尋找使用PHP,但我怎麼能知道誰點擊了鏈接?我應該使用他的IP地址還是其他? 什麼是最佳選擇? –

+0

這確實取決於網站的用途以及您使用的目的。通常設置會話變量將工作。查看http://www.tizag.com/phpT/phpsessions.php瞭解會話變量的介紹。 –

+0

謝謝隊友! :) –

0

那麼有一種方法可以用JavaScript做到這一點,雖然它很棘手,服務器端更容易。您需要使用一些JavaScript來加載不同的頁面,而無需刷新整個DOM。我用pjax這樣做。它的工作方式是讓每個頁面充當一個容器,通過ajax加載所有後續頁面。通過不進行完整頁面重新加載,您在一個頁面上所做的任何樣式更改都會轉到其他頁面(在實際瀏覽器刷新時,這種效果無法實現)。

1

這將是一個非常愚蠢的做法,但它可能做到它的客戶端。我會認真推薦做它服務器端。

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

我認爲,如果你正在尋找這種的情況下,你可以通過傳遞一些哈希值來實現它:

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

結帳,如果幫助。

相關問題