我对我的javascript有疑问。我面临的问题是,我的单页网站。我有一个在div中运行的打字机.js。我想要完成的是,当你向上或向下滚动时,打字机会冻结' (暂停)当您滚动回页面时,打字机会再次继续。
HTML打字机
<div class="type-o">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut pellentesque consectetur pulvinar. Pellentesque a dapibus nisi.</p>
</div>
Javascript onepage
//section 1
if(anchorLink == 'Illusiveman'){
$(".type-o").typewriter('typestart');
}
if ((index == 2 && direction == 'down') || (index == 2 && direction == 'up')){
$(".type-o").typewriter('typepause');
}
Javascript打字机
$.fn.typewriter = function(a) {
this.each(function() {
var $ele = $(this), str = $ele.text(), progress = 0;
$ele.text('');
var timer = setInterval(function() {
if(a = 'typestart'){
$ele.text(str.substring(0, progress++) + (progress & 1 ? '_' : ''));
if (progress >= str.length) clearInterval(timer);
}else if(a == 'typepause'){
clearInterval(timer);
}
}, 100);
});
return this;
};
我现在拥有的是,如果您保留内容..打字机会继续,但当您滚动回内容时,打字机会再次启动,就像您在单词中启用插入一样。我现在已经不在思想了,所以我需要一些帮助。
谢谢!
答案 0 :(得分:0)
<强>已更新强> 在更正代码后(see为你自己)你只需要将滚动事件绑定到你想要的任何元素,滚动将暂停类型
$( "yourelemntselector" ).scroll(function(){
$(".type-o").typewriter('typepause');
});