在页面上定一个<div>为它定一个class值为“advert”。这是一个约定,可为其他值。
然后用jquery在页面上搜索,并记录此元素ID。
$('.adv').each(function(i){
adv[i] = this.id;
});
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;
}
min = tmp;
max = tmp + param[i];
tmp += param[i];
if(seed >= min && seed <=max) return i;
}
注:只适合一个广告位一张广告。但每次刷新因为权重不同显示的广告频率不同。(在与数据库读取中,缓存)