当我在函数中包装动画效果时,它停止工作.有人能告诉我为什么吗?
When I wrap my animation effect in a function, it stops working. Can anyone tell me why?
我将css和javascript复制到jsfiddle中,但我不知道该在html中放入什么,无论如何,我试图获得单个图像来脉冲,问题是它只定义为一个类,我遇到了麻烦。当我把它单独作为它自己的函数时,它工作得很好http://jsfiddle.net/EQs9N/,但是当我把它包装在一个不可见的函数中(或不管它叫什么),动画停止发射http://jsfiddle.net/EQs9N/1/。这和我给一个班级做动画有关系吗?是否有办法将它定义为一个对象,这有帮助吗?由于
你声明了一个函数a,但是你没有调用这个函数。
(function(){
...
})()
这将创建一个匿名函数(就是您正在查找的术语)并执行它。我不确定你为什么要在这种情况下包装它,$(document).ready()
应该足够了。
关于jsfiddle用法的旁注:
在jsfiddle中,你可以选择onDomReady而不是onLoad从框架下拉菜单中自动包装你的javascript在$(document).ready()
使你的$(document).ready()
调用冗余。选项onLoad将把它封装在$(window).load()
如果你选择了"no wrap",那么jsfiddle只会用必要的脚本标签包围它,然后根据所选的选项将其放在标题或正文中。
$(document).ready(function() {
是jquery延迟任何代码执行到页面完全加载后的方式。
如果你把这部分代码包装在一个函数中,它将不再工作,代码将只在你调用函数时被调用。这就是为什么当你包装你的代码时它不起作用。
请参阅本教程了解$(document).ready
在你的第二个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);
- 更新Wordpress和我的平滑滚动停止工作
- 当我添加JavaScript时,链接按钮停止工作
- 当我移动引用three.js的html文件时,three.js停止工作
- 为什么AngularJS$scope.watch()在我告诉它监视数组时会停止工作
- 我将此代码移动到一个单独的函数中,它停止工作,为什么
- 当我添加Mootools时,外部JS库停止工作
- 为什么我的 javascript else 语句停止工作
- 为什么当我更改或尝试添加另一类不同的输入时,总和会停止工作
- 当我放入一个库时,幻灯片就停止工作了
- 为什么我之前工作的谷歌可视化图表在2013年11月26日之后停止工作
- angularJS-当我添加ngRoute时,控制器停止工作
- 为什么当我使用JQuery DatePicker时,Google Code Prettifier停止工作(反之亦然)
- 当我更改所需的输出时,Javascript 停止工作
- href 在导航栏中不起作用.有人可以告诉我如何让它工作
- 知道为什么我的简单脚本在页面中途停止工作
- 当我将我的网站移动到在线测试服务器时,“添加到购物车”按钮停止工作
- 我的javascript验证刚刚停止工作,我不知道为什么
- Javascript脚本停止工作,我不知道为什么
- 当我在函数中包装动画效果时,它停止工作.有人能告诉我为什么吗?
- Javascript代码不工作?告诉我为什么