簡體   English   中英

更改頁面時可以在腳本中更改類名嗎

[英]Can I change the classname in a script when I change page

哈羅大家,
我有個問題。 我編寫了一個非常詳盡的腳本,將我的身體背景從頁面特定的背景圖像更改為其他背景圖像。 出於參考:

我的“ mypage.html”的默認背景為在默認樣式表中定義的class =“ image1”。
我編寫了一個腳本,將其更改為在持久樣式表中定義的class ='image10'或class ='image11'。 (相信我,這是一個簡短的版本,但是這部分工作...很好,正要去做。這里沒有問題。)
我的“ otherpage.html”的默認背景是在默認樣式表中定義的class =“ image2”,我希望能夠將其也從持久樣式表中更改為相同的“ image10”和“ image11”。
這兩個默認背景在備用樣式表中都有多個不同顏色的版本...更改樣式表,並將class ='image1'鏈接鏈接到該圖像的另一個版本。
所有這些都是由特定頁面的Cookie指導的。 這使得尋找解決方案變得非常重要,因為否則我將不得不為每個頁面設置cookie。 我認為這是不可接受的。
我的問題是 ,是否必須將整個腳本復制/粘貼到我的“ otherpage.html”中,然后將“ image1”更改為“ Image2”,或者是否可以使用javascript這樣的方法:

if(HTML = 'otherpage.html') {
   (".image1" = ".image2")
}

請原諒我非常業余的腳本。 我到處都看過,但是我什至不知道該怎么搜索...希望有人能幫忙,否則復制/粘貼是;)

您可以在這里使用這個小腳本

var currentPage =  window.location.pathname;

if (currentPage == "/somepage.html") {
   // change the body class name
   document.getElementsByTagName("body")[0].className = "image2";
}

如果要測試多個頁面,則可以使用switch語句。

您可以通過基類控制樣式(背景樣式和其他樣式),您可以將其設置為文檔的主體標簽或任何根容器。 在頁面加載時,檢查頁面名稱並相應地設置類名稱。

if(page == "otherPage"){
  document.body.className = "image2";
}

現在將應用所有屬於image2的類。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM