2010-03-14 30 views
8

Bir sayfada 3-4 CSS olması mümkün mü ve daha sonra herhangi bir olayda, tıkla, web sayfasının tamamı için css'yi değiştir. Bu şekilde, kullanıcılarımıza temayı değiştirme yeteneği verebiliriz. Bence tarafından bir elemanın css değişebileceğini biliyoruz:Tıklamada sayfanın/web sitesinin CSS'si nasıl değiştirilir?

$("#myElementID").removeClass("class1").addClass("class2"); 

cevap

9

Evet, bu mümkün. Tipik olarak, ne yapacağınız, belgenin <head>'undan bir stil sayfasını değiştirecek, ekleyecek veya çıkaracak bir JavaScript işlevi yazmaktır. Deneyimi biraz daha iyi hale getirmek için genellikle kullanıcının tercihini bir çerezde saklarsınız. article on A List Apart that show how to implement this var.

Ve tabii ki, you can do this with jQuery ... jStyler kaynağını kontrol etmek isteyebilirsiniz.

+0

kullanarak demek, bu @client tarafını yapmak istiyorum 1 –

+0

jQuery için jStyler plguin bakın , kaynak oldukça kısa ve anlaşılması kolay. –

2

The CSS Zen Garden kolay yolu sayfayı yenileyip yeni bir CSS sunucu tarafı ayarlamak için sadece olduğuna karar sona erdi (beşinci soruya bakın).

+1

Ama ben bu umut verici :) görünüyor jQuery veya javascript –

0

CSS Bu bağlantıyı bulmak ve eklemek/kod takiben

kaldırmak böylece, 'bağlantı' etiketinin üzerine DOM emdeded I $ olsun MS AJAX yöntemine bakın kullanıyorum (kaldırıp yenisini nasıl ekleneceğini gösterir ama saf DOM veya diğer lehçesi) ile değiştirin: Genellikle harici bir stil yüklemek için en iyi

var head = document.getElementsByTagName('head')[0]; 

    var oldLink = $get("nameOfLink", head); 
    if(oldLink!=null) 
     head.removeChild(oldLink); //remove old entry 
    var s = document.createElement('link'); 
    s.id="nameOfLink"; 
    s.type = 'text/css'; 
    s.rel="stylesheet"; 
    s.charset ='utf-8'; 
    s.href = "http://your-provided-url"; 
    head.appendChild(s); 
+0

, "link rel =" stil sayfasını kaldırıyor ve ekliyor "bunu yapacak mı? emin değilim, ama ben bir denemek zorunda kalacağım –

+0

@Rakesh Juyal tür/id/charset artıklık demek? Öyleyse, karakter kümesi gerçekten gereksizdir, ancak bazı tarayıcılar tarafından türlerin kullanılması şiddetle tavsiye edilir (Ben türden yanlış olabilirim, ancak IE'nin buna ihtiyacı var). Son 'id' komut dosyası mantığı ile gereklidir. – Dewfy

İlgili konular