同一页PHP / JavaScript上的多个随机广告Div

时间:2013-01-04 01:05:45

标签: php javascript

我已经用尽了业余脚本技巧并寻求帮助。

这是我的网站主索引和当前工作脚本,其中一组添加随机显示在我的主页上。

http://blessone.netau.net/

我经过不同的尝试后,我遇到了不同的代码,我遇到了这个。

divs = ['d1','d2','d3','d4'];

function hideDivs() {
for (var i=0; i<divs.length; i++)
document.getElementsByClassName('adbox');

}

function showDiv() {
hideDivs(); //hide them all before we show the next one.
var randomDiv = divs[Math.floor(Math.random()*divs.length)];
var div = document.getElementsByClassName(randomDiv).style.display =
'block';

setTimeout(showDiv,500); //set a delay before showing the next div

}`

我试图在“adverts / pop_left_ad.php”“热门产品”中的一组div中随机在我的主页上显示div。

效果很好!

但有一个问题。当我尝试使用.....

<?php include("adverts/pop_left_ad.php"); ?>

...在一个页面上两次它不会在我的页面上给我两个不同的随机div,无论我放在哪里。我为每组div使用不同的文件,而不是由他们的调用div随机调用。

我应该指出我不知道如何为我的第二次收录编辑JS。我只在那里添加一系列div ID吗?我在JS中改变了哪些元素?

我现在已经知道问题是我的id设置,并已将其更改为类设置。 所以我需要帮助使我的JS更改为包含类等等。

非常感谢任何帮助。

非常感谢。

1 个答案:

答案 0 :(得分:0)

问题似乎是您正在使用div的id属性。如果代码中只有一个d1,d2,d3,d4副本,这很好,但是如果多次包含它,则getElementById将无法区分具有相同id的不同div。

我会做什么改变d1到d4中每个类属性的id attirbutes(并对每个d1-d4的内容做同样的事情,例如make id =“adTitle”into class =“adTitle”),然后将一组广告包含在一个div中,其中的类属性名为“adbox”

从那里,你修改你的代码以获得所有具有adbox类的div,然后像你当前那样循环使用类名为d1-d4的内部div。使用jQuery,您可以执行类似$('.adbox').each()的操作,这样可以简化循环,但如果您想坚持使用纯JS,也可以使用document.getElementsByClassName('adbox')