我正在构建一个网页,您可以在其中横向滚动或使用“新页面”按钮(注意;当您使用按钮时,您会快速滑过以前的页面,它不会加载新页面)。
当指定页面出现时,它应该会触发我用 flash 制作的动画。我通过 swiffy 对其进行了转换,并且可以正常工作。触发动画效果很好,但问题是:例如,当您按下按钮将引导您进入带有动画的页面之后的页面时,“页面”仍然会触发,因为它曾经在视图中。
现在我正在尝试使用 timeOut 来延迟动画,这样当你滚动它时,它不应该触发,除非你在页面上停留超过 X 秒。
这是我当前的脚本:
var $AnimatieAan = false;
var $Zichtbaar = false;
$(window).scroll(function(){
$e = $('#searchEngine');
var visible = $(window).scrollLeft()+window.innerWidth>$e.offset().left&&$(window).scrollLeft()<$e.offset().left+$e.width();
if(visible)
{
$Zichtbaar = true;
var Timer = setTimeout(function()
{
console.log('timerstart');
if($Zichtbaar)
{
//$Zichtbaar = true;
console.log($Zichtbaar)
$AnimatieAan = true;
$Zichtbaar = false;
if($AnimatieAan)
{
var stage = new swiffy.Stage(document.getElementById('searchEngine'), mexaleSearch);
stage.start();
console.log(visible);
$AnimatieAan = false;
}
else
{
clearTimeout(Timer);
console.log('clearTimeout');
$Zichtbaar = false;
$AnimatieAan = false;
stage.stop();
}
}
} , 2000 );
}
关于滚动如何工作的说明,工作版本在 www.mexale.com
任何帮助将不胜感激!