本帖最后由 wjp16351 于 2013-03-12 02:04:24 编辑

解决方案 »

  1.   

    逻辑上就有问题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];
      

  2.   

    <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>
      

  3.   

     f.src = "src_"+i;  "src_"+i 是字符串。而不是变量 src_1
      

  4.   


    如果我要按照顺序 依次打开src_1  src_2 src_3 呢!
      

  5.   

    <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))
        var url = ['http://www.baidu.com/', 'http://www.163.com', 'http://www.taobao.com', 'http://www.qq.com']//url地址数组    var idx = 0 //记录当前第几个,默认第一个,百度
        , len = url.length;
        function Tim() { changeFrameSrc(iframe); }
        function changeFrameSrc(f, i) {
            idx++;
            if (idx >= len) idx = 0;
            f.src = url[idx];        setTimeout(Tim, rand(3000, 9000))
        }    function rand(min, max) {
            return parseInt(Math.random() * (max - min + 1) + min);
        }
    </script>
    </body>
    </html>