1

私はTumblr用に独自のカスタムテーマを作成しようとしています(実際には、ブログをベースにしたある種のポートフォリオを作成しようとしています)、問題に直面しました:

jQuery を使用しており、そのスクリプトに Tumblr 変数を挿入して、Tumblr サイトの外観パネルから色を変更できるようにしたいと考えています。しかし、うまくいかないようです。たぶん、私が考慮していない構文について何か特別なことがあります。変数が挿入されたスクリプトを次に示します。

<script>
    $("#Home").hover(
        function(over){
            $("#Home").css('background-color','{color:Home-hover}');
            $("#title").css('color','{color:Home-hover}');
        },
        function(out){
            $("#Home").css('background-color','{color:Buttons}');
            $("#title").css('color','{color:Buttons}');
        }
    );
</script>

前もって感謝します。

4

1 に答える 1

3

{color:buttons}一重引用符で囲むと、それらの文字が CSS に正確に挿入されます。ページ上のオブジェクトに保存されている値にアクセスしたかったですか? おそらく、次のように jQuery の css ハンドラーに渡すことができるcolorkey を持つオブジェクトがあるとします。Buttons

$("#title").css('color',document.color.Buttons)

また:

 $("#title").css('color',document.color["Buttons"])

つまり、これらの Tumblr 変数がドキュメントのグローバル スコープに存在すると仮定します。それらが のようなクロージャー内で作成された場合、(function() { ... })クロージャーの外からアクセスすることはできません。

編集

jQuery の真の力は、メタデータを含め、ページ上のほぼすべてのものにアクセスして操作できることです。ここで私のjsfiddleをいじってください。基本的な考え方は、変数を JavaScript 変数に格納{color:Buttons}し、それに基づいて CSS を設定することです。

中身$(document).ready()

$("#Home").on("mouseenter", function() {
   var metaColorButtons = $("meta[name='color:Buttons']").prop("content");
   $("#title").css('color', metaColorButtons);
 });

$("#Home").on("mouseleave", function() {
  $("#title").css('color', '#000');
});
于 2013-02-02T22:53:50.637 に答える