jQuery中可暂停的打字机效果
Pausable typewriter effect in jQuery
我正在使用Jason Frame的Grab Bag中的打字机插件。
然而,我现在发现自己的处境是,我需要能够在这台打字机运行的任何时候暂停并恢复使用。
理想情况下,我会让.typewriter("pause")
暂停它,.typewriter("resume")
从它停止的地方恢复动画
我已经尝试在插件中设置一个paused
变量,并在每次迭代时检查变量,使间隔运行——如果为true,则不执行任何操作。
然而,由于我缺乏制作jQuery插件的技能,每次我调用函数暂停打字机时,它都会重新开始。我怀疑paused
变量被重置了。
我该如何让这个插件变得可怜?
jsBin演示
在此处添加这2行:
(function($) {
$.fn.typewriter = function() {
this.each(function() {
var $ele = $(this), str = $ele.text(), progress = 0;
$ele.text('');
timer = setInterval(function() {
if(pause===false){ // ADD THIS LINE ////////////////////////
$ele.text(str.substring(0, progress++) + (progress & 1 ? '_' : ''));
if (progress >= str.length) clearInterval(timer);
} // ADD THIS LINE ////////////////////////
}, 100);
});
return this;
};
})(jQuery);
$("#typewriter").typewriter(); // run your plugin
我创建了这个:
var pause = false;
$('#play_pause').click(function(){
pause= !pause ? true : false; // toggle true/false pause states
});
编辑:在下面的评论中找到一个更好的类似插件的解决方案!
相关文章:
- 如何临时暂停浏览器渲染,然后恢复整个页面
- jQuery循环在特定位置暂停
- NodeJS-readline暂停和恢复事件发射器(逐行读取)
- 最小化时暂停Javascript动画
- jQuery:暂停按钮可以暂停所有其他操作
- tiltSlider播放/暂停视频元素(如果li有当前类)
- Canvas+svg路径动画,在路径中的特定点暂停一段时间,然后继续
- CSS动画暂停并使用javascript播放
- 如何暂停和恢复jquery间隔
- 如何在隐藏时暂停jquery计时器
- 具体化:如何只使用HTML和Javascript制作播放/暂停按钮
- 在 jquery 中定位暂停和播放按钮
- 如何在JavaScript中创建打字机效果,这将考虑html标记规则
- 暂停文档-HTML、CSS、JavaScript
- 如何在悬停时暂停setInterval
- 暂停函数执行流程,直到ajax请求完成
- 使用javascript和随机暂停/超时快速循环文本
- 如何暂停网页
- jQuery中可暂停的打字机效果
- Javascript,暂停打字机