JavaScript:一段时间后改变Div背景

时间:2011-06-28 22:52:48

标签: javascript css time background-image adsense

我的网站上有广告栏目。对于大多数用户来说,这可以很好地加载并按预期工作。但是,如果用户具有各种广告拦截器,则广告不会显示,并且会显示该站点的空白区域。

我的解决方案?我想在广告下面放置一个背景图片,要求用户考虑仅在此网站上启用广告。此图像不突兀,并为用户提供是否支持他们访问的网站的选择。通过简单的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 个答案:

答案 0 :(得分:1)

试试这个:setTimeout(show_banner, 3000);

此外,除非您要更改背景的其他属性,否则只需将...style.background = url...更改为...style.backgroundImage = url...即可。

答案 1 :(得分:1)

删除show_banner_delay函数。 测试一下:

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

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