如何通过JS实现广告位随机显示不同图片及链接?

很多个人博客网站上都有一些固定的广告位,大多数都是投放一些图片广告,有些博主是通过投放 gif 格式的广告图片,有些直接投放 jpg 或 png 格式图片。这种做法都是只能一个广告位显示一个广告图片和一个链接地址,那么有没有可能实现一个广告位随机显示不同的图片及链接地址呢?
简单的随机图片广告代码:

var p=3;
var q=Math.floor(Math.random()*p+1)
switch(q)
{
    case 1:
    document.writeln("<a href=http://广告链接地址 target=_blank><img src=http://广告图片地址  border=0></a>");
    break;
    case 2:
    document.writeln("<a href=http://广告链接地址 target=_blank><img src=http://广告图片地址  border=0></a>");
    break;
    case 3:
    document.writeln("<a href=http://广告链接地址 target=_blank><img src=http://广告图片地址  border=0></a>");
    break;
}

先将上述代码里的“广告链接地址”和“广告图片地址”等修改为自己的链接后,将上述代码另存为ad.js文档后,上传至服务器主机指定目录,记下具体的目录地址。
在需要引用的地方,只需要加上下面这段引用代码即可:

<center>
<script type="text/javascript" src="http://www.yyob.com/myad.js"></script>
</center>

其实只要是有点儿JS代码常识的都可以看出来,这个代码很简单,但是又很实用。明月提供的这个样例,是可以实现三张图片随机展示。如果想调整这个图片数量,只需要修改var p=3这里的数字,然后修改switch里面的对应的case数量即可。
还可以给广告指定投放有效时段,代码如下

function strToDate(str,ext){
    if(str==null || str=='') return;
    var arys = new Array();
    arys = str.split('-');
    var newDate = new Date(arys[0],arys[1]-1,arys[2],9,0,0);
    if(ext){
        newDate = new Date(newDate.getTime()+1000*60*60*24);
    }
    return newDate;
}
function showit(str,start,end){
    var date = new Date();
    var start=strToDate(start);
    var end=strToDate(end,false);
    if(date>start && date<end || start==null){
        document.write(str);
    }
}
var p=3;
var q=Math.floor(Math.random()*p+1)
switch(q)
{
    case 1:
    showit("<a href='https://广告链接地址=_blank'><img src='http://广告图片地址'  border=0></a>","2017-3-24","2017-3-25");
    break;
    case 2:
    showit("<a href='https://广告链接地址=_blank'><img src='http://广告图片地址'  border=0></a>","2017-3-24","2017-3-25");
    break;
    case 3:
    showit("<a href='https://广告链接地址=_blank'><img src='http://广告图片地址'  border=0></a>","2017-3-24","2017-3-25");
    break;
}

上述代码没有测试过,大家只能自己调试了。

0

评论0

请先

没有账号? 注册  忘记密码?

社交账号快速登录