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 中。您想访问存储在页面对象中的值吗?也许有一个color具有 key 的对象,Buttons您可以将其传递给 jQuery 的 css 处理程序,例如:

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

或者:

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

也就是说,假设这些 Tumblr 变量存在于文档全局范围内。如果它们是在像这样的闭包内创建的(function() { ... }),那么您将无法在闭包之外访问它们。

编辑

jQuery 的真正强大之处在于您可以访问和操作页面上的几乎所有内容,包括元数据。在这里玩我的 jsfiddle。基本思想是将{color:Buttons}变量存储在 javascript 变量中,然后根据该变量设置 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 回答