2012-10-28 170 views
1
<a href="#" id="toggle01">CONTACT</a> 

<script> 
$('#toggle01').click(function() { 
    $('#contact').slideToggle("slow"); 
    return false; 
}); 
</script> 


<div id="contact"> 
123-456<br /> 
</div> 
<iframe id="player" src="http://www.youtube.com/embed/..."></iframe> 

一切工作在這裏,但當我點擊鏈接CONTACT和div#contact變得可見/不可見時,iframe閃爍並閃爍。
我該如何避免這種閃爍?如何避免閃爍iframe?

+0

您能告訴我們'slideToggle'插件嗎,它有什麼作用? – Bergi

+2

這可能是一個可能的答案。 http://stackoverflow.com/questions/7200425/iframe-with-pdf-black-flickeringblinking你想使用iframe雖然?你也可以使用帶有'overflow:auto'的DIV @Bergi slideToggle是一個JQuery原生函數。 –

+0

@IgnacioBelhotColistro,同意你的答案。 –

回答

1

這個問題似乎是滑動動畫。當你的div動畫時,iframe向下移動並導致重新渲染。

您可以將您的div放在iframe之後或將其封裝在另一個具有固定高度的div中。

例如:

<div style="height:50px;"> 
    <div id="contact"> 
     123-456<br /> 
    </div> 
</div> 

但是,這將使你的iframe上方的空白區域。

+0

我嘗試了你所說的一切,沒有結果。這是地址:'http:// www.mementocosmicum.site90.net /' – Alegro

+0

您的網站適合我。只有在IE中閃爍一點點,但這是瀏覽器的具體情況,不能用腳本修復,除了重新安排你的項目。 – bukart

+0

bukfixart,非常感謝。 – Alegro

1

你的腳本看起來是正確的,我沒有看到它應該眨眼的任何理由。但是,你可以嘗試下面的腳本?添加e.preventDefault();

<script> 
    $('#toggle01').click(function(e) { 
    e.preventDefault(); 
    $('#contact').slideToggle("slow"); 
    return false; 
    }); 
</script> 
+0

Abhishek,你的代碼給我一個錯誤在線2 – Alegro

+0

對不起,我忘了把括號。糾正。 –

+0

阿布舍克,iframe再次閃爍 – Alegro