javascript美元符号变量不工作
我的Wordpress中有以下代码:javascript美元符号变量不工作,javascript,jquery,html,wordpress,dom,Javascript,Jquery,Html,Wordpress,Dom,我的Wordpress中有以下代码: (function ($) { var $header = $("div.header"); $(window).bind("scroll resize", function () { if ($(window).scrollTop() > 30) { $("div.header").stop().animate({ 'opacity': 0.24 }, { duration:
(function ($) {
var $header = $("div.header");
$(window).bind("scroll resize", function () {
if ($(window).scrollTop() > 30) {
$("div.header").stop().animate({
'opacity': 0.24
}, {
duration: 1000
});
} else {
$header.stop().animate({
'opacity': 1
}, {
duration: 1000
});
}
});
})(jQuery);
如果语句在假设的时候起作用,但从没有
但是
如果我附上:
jQuery(document).ready(function($) {
// code here
});
一切都好。为什么?
谢谢可能是您试图在dom未生成时使用jQuery。尝试使用
$(文档)。就绪
功能:
(function ($) {
$(document).ready(function () {
$header = $("div.header");
$header.remove();
});
})(jQuery);
关于你在问题中所说的:
jQuery(document).ready(function ($) {
// code
});
它之所以有效,是因为它做了同样的事情:它将事件处理程序绑定到ready
事件上,并将jQuery
对象作为参数传递给函数$
现在你以前做过什么:
(function ($) {
$header = $("div.header");
$header.remove();
})(jQuery);
在这里,您只需使用命名的$
参数声明匿名函数:
function ($) {
}
并使用jQuery
对象作为参数调用它,该参数将作为$
函数提供:
(function ($) {
})(jQuery);
javascript错误是什么?或者提供包含错误的wordpress url,以便我们能够正确回答。“为什么不起作用?”“这不是我熟悉的错误消息。@ExplosionPills:这就像“天空是蓝色的”、“水是湿的”、“重力是一种消沉剂”和“摩擦是一种阻力”。没错,但没用。我刚刚编辑了我的代码。希望现在一切都不神秘了。我没有在Chrome中报告任何JS错误。正如其他人所指出的,在一种情况下(
$header=..
),DOM在准备好之前就已经被访问了(通过jQuery元素选择器)。。这上面有很多复制品。事件在DOM准备就绪后的某个时间激发。