在页面上定一个<div>为它定一个class值为“advert”。这是一个约定,可为其他值。

然后用jquery在页面上搜索,并记录此元素ID。

$('.adv').each(function(i){
            adv[i] = this.id;
});
然后判断adv数组的长度,从而调用ajax去数据库中取相对应位置的广告图(相对应就是根据ID)相关。
如果一个广告位有多个广告图,可以为广告设置“权重”。
(多张图时)
先算出图片个数,然后,再得到权重的总和,再随机生成一个0到总和之间的整数。
0,2,array(10,20,10)            比如三个广告图,即0到2。权重为分别10,20,10(存在一个数组中)
然后循环看这个随机数在哪个权重里。如
var sum = min = max = tmp = 0;
param  = array(10,20,10);
sum = 权重总和;
var seed = Math.ceil(Math.random()*(sum));
for(var i in param){
      min = tmp;
      max = tmp + param[i];
      tmp += param[i];
      if(seed >= min && seed <=max) return i;
 }
注:只适合一个广告位一张广告。但每次刷新因为权重不同显示的广告频率不同。(在与数据库读取中,缓存)
posted on 2011-04-15 15:41  persy  阅读(268)  评论(0编辑  收藏  举报