我将css和javascript复制到了jsfiddle中,但是我不知道在html中放什么,无论如何,我试图让单个图像脉冲,问题是它只被定义为一个类,并且我遇到了麻烦。当我单独使用它作为它自己的函数时,它工作正常http://jsfiddle.net/EQs9N/,但当我将它包装在一个不可见的函数(或其任何调用的函数)时,动画停止触发http://jsfiddle.net/EQs9N/1/。这与我动画课程有什么关系吗?无论如何将它定义为一个对象,这会有帮助吗?感谢
答案 0 :(得分:0)
$(document).ready(function() {
是jquery在页面完全加载后延迟任何代码执行的方式。
如果将这部分代码包装在函数中,它将不再起作用,只有在调用函数时才会调用代码。这就是为什么当你包装代码时它不起作用。
有关$(document).ready
答案 1 :(得分:0)
在your second jsfiddle中你定义了一个函数(函数A)但实际上没有调用它。
如果您稍微更改代码并将A
传递给document.ready
(而不是传递匿名函数),您应该会发现它有效:
function A(){
if (1 == 1){
function pulsate() {
$(".image2_template").
animate({opacity: 0.1}, 1500, 'linear').
animate({opacity: 1}, 1500, 'linear', pulsate);
}
pulsate();
} else {
$('.image2_template').animate({
opacity: 0,
});
$('.text3_template').animate({
opacity: 0,
});
}
}
$(document).ready(A);
答案 2 :(得分:0)
您正在声明一个函数A,但您没有调用该函数。
(function(){
...
})()
这将创建一个匿名函数(就是您要查找的术语)并执行它。
},我不确定为什么你需要在这种情况下包装它。{/ 1} 关于jsfiddle用法的附注:
在jsfiddle中,您可以从框架下拉列表中选择onDomReady而不是onLoad,以自动将您的javascript包装在$(document).ready()
中,使$(document).ready()
的调用更加冗余。 onLoad选项将其包装在$(document).ready()
如果你选择“no wrap”,那么jsfiddle将只用必要的脚本标签包围它,然后将它放在头部或正文中,具体取决于所选的选项。