我有一个基本动画:
$(function() {
$('div').click(function() {
var r = this.id;
$('.fp div').not('#'+r).css({'color':'blue'});
});
});
<div id="FPbl">text</div>
问题是,我使用的是“onepage”滚动插件,每次加载新部分时都会触发脚本 - 导致上面的文字出现在所有'幻灯片'上
如何使用stop函数,使每个站点加载脚本只运行一次?
答案 0 :(得分:1)
如果插件刷新页面,那么我们无能为力,但是如果你觉得它触发了这个函数两次,那么使用全局变量作为标志并在动画制作之前检查它。
也使用回调函数
var globalFlag=0; //declare globally
if(globalFlag==0){
$("#FPbl").delay(3000).animate({"opacity": "1"}, 700,function(){
$("#FPbl").delay(2000).animate({"opacity": "0"}, 700);
globalFlag=1; // change it after required animation is completed
});
}
答案 1 :(得分:0)
1)使用jquery插件, 2)试试这个,
<script type="text/javascript">
$(document).ready(function()
{
$("#FPbl").fadeIn(1000);
setTimeout(function()
{
$("#FPbl").fadeOut(1000);
}, 3000);
});
</script>