2010-06-10 8 views
3

Si je télécharge plusieurs thèmes JQuery, comment puis-je donner aux utilisateurs de mon application Web la possibilité de basculer dynamiquement entre les thèmes?Changement dynamique de thèmes JQuery?

+1

Personnalisez-vous les thèmes? Si ce n'est pas le widget themeswitcher est disponible: http://jqueryui.com/docs/Theming/ThemeSwitcher –

+0

Je pense que c'est exactement ce dont j'ai besoin, merci. Je ne peux pas accepter votre réponse, est-ce parce que c'est un commentaire et non une réponse? – Clax

Répondre

0

En dehors de la themeswitcher, vous pouvez le faire changer le thème dynamique en supprimant les liens au courant thème. Ajoutez de nouveaux liens avec le nouveau thème. Ceci bénéficie de l'avantage que vous pouvez changer aussi vos propres thèmes.

Voir ci-dessous pour un Ansatz

<head> 
<link href="./jquery-ui-first/jquery-ui.css" id="qtheme" rel="stylesheet"> 
<link href="./css/specials-first.css" id="mtheme" rel="stylesheet"> 
</head> 

considèrent maintenant de changer le thème sur un bouton cliquée:

$(#otherthemebutton).click(function(){ 
    $("#qtheme").remove(); 
    $("#mtheme").remove(); 
    qelem = loadCss("./jquery-ui-other/jquery-ui.css","qtheme"); 
    qelem = loadCss("./css/specials-other.css","mtheme"); 
    document.getElementsByTagName("head")[0].appendChild(qelem); 
    document.getElementsByTagName("head")[0].appendChild(melem); 
}); 

loadCss = function(filename,id) { 
    var elem=document.createElement("link"); 
    elem.id=id; 
    elem.rel="stylesheet"; 
    elem.type="text/css"; 
    elem.href=filename; 
    return elem; 
} 

Vous devez vous assurer que le sous-jacent javascript (externe) est de la même version .