我有一个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>
答案 0 :(得分: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是否返回任何内容。如果没有,那么这很可能就是你的问题;)