Javascript:将循环jQuery动画放在js函数中
Javascript: Putting a looping jQuery animation inside a js function
我想在js函数中嵌套一个循环jQuery动画函数,但我不知道该怎么做。
我有一个音频文件,当单击div 时播放(如果再次单击div 会暂停),同时div 文本从播放符号变为暂停符号。我想在播放音乐时对另一个div 进行动画处理,并在音乐暂停时停止动画。
这是我的音频函数代码:
function play() {
var audio = document.getElementById('whatchaDoin');
if (audio.paused) {
audio.play();
document.getElementById('playButton').innerHTML = ''u2016';
} else {
audio.pause();
document.getElementById('playButton').innerHTML = ''u25BA';
}
}
这是我的动画:
$(document).ready(function() {
function animateBox() {
$('#greenBox').animate({
'margin-top': '20px',
'height': '150px',
'width': '150px'
}, 195).animate({
'margin-top': '30px',
'height': '140px',
'width': '140px'
}, 390, animateBox);
}
animateBox();
});
我似乎找不到一种方法在不破坏播放功能的情况下将它们放在一起。感谢您给我的任何帮助!
这应该有效。我还没有尝试过使用音频对象,但动画循环应该是正确的。这是一个没有音频对象的jsFiddle:https://jsfiddle.net/5fwdcq37/1/
下面的代码应该是带有音频的,重要的是要知道,当您在 jquery 中停止动画并将"jumpToEnd"标志设置为true
它将触发完整的函数。在之前的示例中,将再次启动动画循环,因此您将永远无法停止它。因此,您需要添加一个额外的变量loop
来检查它是否应该循环:
function play() {
var audio = document.getElementById('whatchaDoin');
if (audio.paused) {
audio.play();
document.getElementById('playButton').innerHTML = ''u2016';
startAnimation();
} else {
audio.pause();
document.getElementById('playButton').innerHTML = ''u25BA';
stopAnimation();
}
}
var loop = false;
function startAnimation(){
loop = true;
$('#greenBox').animate({
'margin-top': '20px',
'height': '150px',
'width': '150px'
}, 195).animate({
'margin-top': '30px',
'height': '140px',
'width': '140px'
}, 390, function(){ if(loop){ startAnimation(); } });
}
function stopAnimation(){
loop = false;
$('#greenBox').stop( true, true );
}
$( "#playButton" ).click( play );
相关文章:
- 当js函数's已执行
- 调用php数组中的JS函数
- 为JS函数添加延迟
- 我如何制作一个JS函数,它可以从相似的原始颜色双向更改为某个颜色
- 使用JS函数来使用另一个函数的语法?node.js
- 将JS函数传递给Emscripten生成的代码
- 是否可以在使用headerphp函数后自动调用JS函数
- 如何在.js函数中检索来自其他模板的表单的目标值
- 简单的JS函数.需要对变量进行澄清
- 无法识别从php创建的Js函数
- 如何将对象传递给这个js函数
- 全局窗口热键在最小化chrome窗口时调用js函数
- 将重定向URL链接添加到JS函数
- 从PHP调用JS函数不起作用
- js函数堆栈传入变量,.hide()不起作用
- 当运行JS函数时,如何在c#中的Edgejs中获取错误文本
- 如何让JS函数自行执行
- 使用默认js函数的javascript中的日期的第二天
- 如何从页面中的jquery调用angular js函数控制器
- 从.js文件调用html中的js函数