2012-11-19 81 views
1

我需要在我正在建設的網站的頂部有舊的「調整大小字體」選項 - 一個是默認大小的鏈接,一個使字體更大,一個這使他們兩個大小更大。它只需要影響一些導航和正文副本,所以我想簡單地製作兩個額外的樣式表來對這些元素進行樣式設置,並且在單擊其中一個鏈接時,將額外的樣式表加載到標題中。當你點擊「默認」鏈接時,它將回到原始大小(沒有額外的樣式表加載)。動態添加sylesheet到頭使用javascript

有沒有辦法在JavaScript中做到這一點?這是一個WordPress的網站。 或者,我可以使用js將標籤添加到主體並以這種方式定位元素。

這樣做的最好方法是什麼?

回答

2

您應該更改元素的類。這將改變他們的CSS到樣式表中該類所指定的任何東西。你的第一個選擇比它需要的更復雜。如果您使用JQuery,則可以從字面上製作這一行代碼。

$("span#applicableId").each(function(){ 
    $(this).class("theOtherClass"); 
}); 
+0

但有很多跨我需要改變,如果我這樣做的網站元素。這通常如何完成? – user1836690

+0

請參閱使用JQuery示例編輯。它不能比這更容易。如果你想在頁面間保存這些信息,我建議把設置放入一個cookie中,並使用PHP來確定爲相關元素輸出什麼類。 – thatidiotguy

0

我會這樣做,作爲一個包含在PHP標記聲明。然後只需在每個頁面的頂部包含一個php文件。

PHP inlude信息: http://php.net/manual/en/function.include.php

然後從那裏我敢打賭,有一些代碼在那裏你可以重用。

例如,也許這可能有一些幫助?它是一個PHP腳本,將調整頁面的CSS樣式,而不會干擾其他部分。 http://www.phpclasses.org/package/1296-PHP-Resizes-text-on-a-page-using-styles-and-sessions-.html

0

我想這是不可能的動態添加到頭標籤。當然,你可以這樣做,但這個樣式表不會被加載。也許你應該試着通過ajax獲取它,並在你的網站中附加一個特殊的腳本標籤。如果用戶將選擇另一個選項,那麼您將加載另一個內容,清除此腳本標記並在其中添加新內容。

1

可以動態使用類似下面的飛行中添加的樣式表:

function loadNewStyleSheet() { 
     var style = document.createElement('style'); 
     style.type = 'text/css'; 
     style.src = 'http://path/to/cssfile' 
     document.body.appendChild(style); 
      } 
相關問題