[英]Iframe and absolute positioned elements
我在iframe中使用绝对定位元素存在一个小问题。
所以我有一个页面,在这个页面上我有一个带有小型游戏的iframe。 在游戏中是一个男生,这个男生绝对定位了学生。 学生们正在用JavaScript移动。 一切正常,但是如果我打开该页面,然后继续浏览不同标签中的其他页面,我回来之后,学生们的位置就比以前大了(完全是双眼)。
在iframe中绝对有更多元素定位,我猜没有一个问题是因为Javascript动画。 有人遇到类似的问题吗? 抱歉,由于多种原因,我无法在此处发布页面。
我可以为学生动画发布脚本:
function eyes_sides(){
$('.eyes').animate({
left:parseInt($('.eyes').css('left'))-9
},{duration:1500});
$('.eyes').animate({
left:parseInt($('.eyes').css('left'))
},{duration:1000});
}
function eyes_roll(){
$('.eyes').animate({
left:parseInt($('.eyes').css('left'))-7,
top:parseInt($('.eyes').css('top'))-18
},{duration:1800});
$('.eyes').animate({
left:parseInt($('.eyes').css('left')),
top:parseInt($('.eyes').css('top'))
},{duration:1300});
}
function animate_eyes(){
var animation = random_number(1,2);
//alert(animation);
switch(animation){
case 1:
eyes_roll();
break;
case 2:
eyes_sides();
break;
}
var delay = random_number(4000,12000);
window.animateEyes = setTimeout(function(){animate_eyes()},delay);
}
该脚本并不完美,但是可以满足要求。
我在想是什么原因引起的,可能是在选项卡不活动时以某种方式连接到了动画的运行? 也许添加“ onBlur”和“ onFocus”来停止/启动动画会有所帮助吗?
谢谢你的建议!
该代码应停止动画。 至少它triggres onblur
你的IFRAME
。 您将轻松地弄清楚如何重新启动动画。
我对jQuery不熟悉,但是您可以“翻译”代码。
window.onload=function (){
var ifr=document.getElementById('your_iframe');
(function (x){x.onblur=function (){clearTimeout(x.contentWindow.animatedEyes);return;}}(ifr));
return;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.