js控制IFRAME内SRC问题,代码出问题,求助
本帖最后由 wjp16351 于 2013-03-12 02:04:24 编辑
<html>
<head>
<title>js </title>
</head>
<body>
<iframe id="ifr" src="http://www.baidu.com/"; width="600" height="600"></iframe>
<script language="JavaScript">
var iframe = document.getElementById('ifr');
setTimeout(Tim(),rand(3000,9000))
function Tim(){
for(i=1;i<4;i++){
changeFrameSrc(iframe,i);
}
}
function changeFrameSrc(f,i){
var src_1 = 'http://www.163.com';
var src_2 = 'http://www.taobao.com';
var src_3 = 'http://www.qq.com';
f.src = "src_"+i;
}
function rand(min,max){
return parseInt(Math.random()*(max-min+1)+min);
}
</script>
</body>
</html>
代码如上,我想用JS控制一个IFRAME定时修改SRC地址,我写的上述代码应该可以,但怎么测试也不行,求解答! iframe javascript
[解决办法]
逻辑上就有问题
function Tim(){
for(i=1;i<4;i++){
changeFrameSrc(iframe,i); // 循环赋值,后面的3 会覆盖前面的1,2. 达不到切换效果
}
}
function changeFrameSrc(f,i){
var src_1 = 'http://www.163.com';
var src_2 = 'http://www.taobao.com';
var src_3 = 'http://www.qq.com';
f.src = "src_"+i; "src_"+i 是字符串。而不是变量 src_1
}
var urls=['http://www.163.com','http://www.taobao.com', 'http://www.qq.com'];
f.src = urls[i-1];
[解决办法]
<html>
<head>
<title>js </title>
</head>
<body>
<iframe id="ifr" src="http://www.baidu.com/"; width="600" height="600"></iframe>
<script language="JavaScript">
var iframe = document.getElementById('ifr');
//setTimeout(Tim(), rand(3000, 9000))//不要加()
setTimeout(Tim, rand(3000, 9000))
function Tim() {
changeFrameSrc(iframe, rand(1, 3));//随机一个地址
/*for (i = 1; i < 4; i++) {
changeFrameSrc(iframe, i);
}*/
}
function changeFrameSrc(f, i) {
var src_1 = 'http://www.163.com';
var src_2 = 'http://www.taobao.com';
var src_3 = 'http://www.qq.com';
f.src = eval("src_" + i)//eval得到变量
}
function rand(min, max) {
return parseInt(Math.random() * (max - min + 1) + min);
}
</script>
</body>
</html>
[解决办法]
f.src = "src_"+i; "src_"+i 是字符串。而不是变量 src_1