-1

我有一个 wordpress 购买的主题我想在页面加载或加载时更改 JavaScript 的行为

目前我的标题从上到下动画我想在运行时更改该行为。

在这里你可以看到它

http://wordpress.p198800.webspaceconfig.de/

我已经尝试过

<style type="text/css">
    .myFix { bottom: 0 !important; }
</style>

<script type="text/javascript">

    function myFix() {

        $("#slidecaption").addClass("myFix");

        $("#slidecaption").css("marginRight", "0").animate({
            marginRight: "+=1000"
        });
    }
</script>
4

1 回答 1

1

它们的 jQuery 表达式是正确的,但是如果您从未真正调用过该代码,myFix()则该代码将永远不会运行。

围绕自主执行功能的一种常见方法是 SEAF(自执行匿名函数):

(function myFix() {
  $("#slidecaption").addClass("myFix");

  $("#slidecaption").css("marginRight", "0").animate({
    marginRight: "+=1000"
  }
})();

像这样包装一个函数会导致它在没有被显式调用的情况下运行。

这个特定示例在技术上不是匿名的,而是假设您打算myFix()在其他时间调用,同时仍希望它自行运行。

如果您不需要调用它并且只需要应用 jQuery 规则,请将该功能一起从图片中删除:

<script>
  $("#slidecaption").addClass("myFix");

  $("#slidecaption").css("marginRight", "0").animate({
    marginRight: "+=1000"
  }
</script>

更多信息:http: //markdalgleish.com/2011/03/self-executing-anonymous-functions/

我在这里假设调用失败myFix()是问题所在。如果您确实将该功能绑定到此处未显示的某些事件,请使用大图更新您的帖子。

另一种选择是,当应用这些规则时,由于 DOM 的状态,jQuery 选择器没有找到任何东西。尝试:

console.log($('#slidecaption'));

看看jQuery是否甚至返回任何东西。如果没有,那么这很可能是您的问题;)

于 2013-07-30T23:04:29.267 回答