2011-06-28 117 views
0

我在我的網站上有一個廣告部分。對於大多數用戶來說,這種加載非常好,並按預期工作。但是,如果用戶擁有各種廣告攔截器,則廣告不會顯示,並且會顯示網站的空白區域。JavaScript:更改時間後的Div背景

我的解決方案?我想在廣告下面放置一個背景圖片,要求用戶考慮只在本網站上啓用廣告。這張圖片是不顯眼的,並且讓用戶選擇是否支持他們正在訪問的網站。通過簡單的CSS,我可以使這項工作很好(只需使用背景圖像,這是很好的)。

問題是,廣告需要一點點加載(對於一些用戶大約一秒左右)。我不希望這個背景圖像在廣告有機會加載之前顯示,所以我想在一段時間後(也許2-3秒)更改div的背景。

這是我在JavaScript函數當前的嘗試:

<script type="text/javascript"> 
function show_banner(){ 
    document.getElementById('banner').style.background="url('images/banner_bg.png')"; 
} 
function show_banner_delay(){ 
    setTimeout("show_banner()", 3000); 
}</script> 

這是HTML代碼:

<div id="banner-wrap"> 
    <div id="banner"> 
     <!--Google AdSense Code Here--> 
    </div> 
</div> 

我覺得我可能只是失去了一些東西,只要基本的語法在這裏,但我似乎無法弄清楚!

感謝您的幫助!

+2

什麼時候你打電話給show_banner_delay()?嘗試刪除()以及 –

+0

因此,你建議我做一些類似於:window.onload = setTimeout(「show_banner」,3000); –

+0

我也實施了您的更改,但總體上使用了Ravan的代碼。謝謝你的幫助! –

回答

1

刪除show_banner_delay函數。 測試它:

function show_banner(){ 
    document.getElementById('banner').style.backgroundImage="url('images/banner_bg.png')"; 
} 

window.onload = function() { 
    setTimeout(show_banner, 3000); 
}; 
1

試試這個:setTimeout(show_banner, 3000);

而且,只是爲了好措施改變...style.background = url......style.backgroundImage = url...除非你要改變背景的其他屬性。

+0

我也實現了你的改變,但總體來說還是使用Ravan的代碼。謝謝你的幫助! –