2016-10-13 11 views
0

私は、ユーザーの選択に従ってテーマのCSSファイルを追加し、以前に選択したtheme.cssファイルを削除する機能があります。私はこのコードを書いたテーマに応じてCSSを変更し、以前のテーマを削除してください。

var previousTheme="theme1"; 
var show='theme1'; 
$(document.body).on('change', '#selecttheme', function() { 
    show = $("option:selected", this).data('show'); 
    $("#hue-demo-bg-div").fadeToggle("3000", function(){ 
     $("#hue-demo-bg-div").removeClass(previousTheme).addClass(show).css('background-color',""); 
     $(document.head).find('#themecss').attr("href","/assets/css/"+show+".css"); 
     $('#heading_preview').css('color',""); 
     $('#description_preview').css('color',""); 
     $('#btn_text_preview').css('color',""); 
     $('#hue-demo-link-div').css('background-color',""); 
     $('#paragraph_preview').css('color',""); 
     $('#decline_preview').css('color',""); 
     $('#leadsnowheader').css('background-color',""); 
    }); 
    previousTheme=show; 
    $("#hue-demo-bg-div").fadeToggle("3000", function(){ 
     loadColorValues(); 
    }); 
}); 

このコードはlocalhostでうまくいきます。サーバー上では正しく動作しません。 CSSの読み込みには多くの時間がかかります。任意のヘルプやこのコードの改善..?

+0

すべてのCSSを1つのファイルに保存することは可能でしょうか? –

+0

実際にはすべてのテーマについて、別のtheme.cssファイルがあります。私は選択したドロップダウンの変更で特定のtheme.cssファイルをロードする必要があります –

+0

なぜそれは1つのファイルにできませんか?彼らは矛盾したスタイリングを持っていますか?あなたは上記のコードで前のcssファイルをどこから削除していますか? – snit80

答えて

1

すべてを平易なJavaScriptで書き換えます。その後、ファイルを小さくします。また、ロードする必要のあるすべてのCSSファイルを縮小します。また、.change(function(){});.on('change', function() {});

よりも高速である私はvariablesにすべてのものを入れたときに、それは読みやすさを向上させる知っているが、variablesは時間が減少見つけるために、要素のシステムをループしjQueryをさせます。

これに影響を与える可能性のあるサーバー側には、多くの要因があります。私はどこから始めるべきかわからない...

関連する問題