[英]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.