Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript:从数组更改iFrame src_Javascript_Iframe - Fatal编程技术网

JavaScript:从数组更改iFrame src

JavaScript:从数组更改iFrame src,javascript,iframe,Javascript,Iframe,假设我有一个包含3个URL的数组,页面上有一个iFrame 如何每5秒运行一次这3个URL,然后重新开始? 理想情况下,页面将保持不变,只是iFrame src将发生更改。类似的操作应该可以: setInterval(function(){ var u = 0; document.getElementById('myiFrame').setAttribute('src',myUrlArray[u]); if(u < myUrlArray.length-1){

假设我有一个包含3个URL的数组,页面上有一个iFrame

如何每5秒运行一次这3个URL,然后重新开始?
理想情况下,页面将保持不变,只是iFrame src将发生更改。

类似的操作应该可以:

setInterval(function(){
    var u = 0;
    document.getElementById('myiFrame').setAttribute('src',myUrlArray[u]);
    if(u < myUrlArray.length-1){
        ++u;
    }else{
        u = 0;
    }
},5000);
setInterval(函数(){
var u=0;
document.getElementById('myiFrame').setAttribute('src',myUrlArray[u]);
if(u
假设您有:

<iframe id="ifr" src="">Your browser does not support iframes</iframe>

正确标记答案中的代码不起作用,因为它总是计数过高。以下是完美适用于我的代码:

<html>
<body>

<iframe id="myiFrame" src="a.html" width="100%" height="100%"></iframe>

<script>
    var myUrlArray = [
        "a.html", 
        "b.html", 
        "c.html"
    ];
    var u = 1;

    setInterval(function(){
        document.getElementById('myiFrame').setAttribute('src',myUrlArray[u]);
        u++;
        if (u == myUrlArray.length) {u = 0;}
    },1000);
</script>

</body>
</html>

var myUrlArray=[
“a.html”,
“b.html”,
“c.html”
];
var u=1;
setInterval(函数(){
document.getElementById('myiFrame').setAttribute('src',myUrlArray[u]);
u++;
如果(u==myUrlArray.length){u=0;}
},1000);

是,setInterval比我的解决方案更合适。请使用“%url.length”而不是“%3”
<html>
<body>

<iframe id="myiFrame" src="a.html" width="100%" height="100%"></iframe>

<script>
    var myUrlArray = [
        "a.html", 
        "b.html", 
        "c.html"
    ];
    var u = 1;

    setInterval(function(){
        document.getElementById('myiFrame').setAttribute('src',myUrlArray[u]);
        u++;
        if (u == myUrlArray.length) {u = 0;}
    },1000);
</script>

</body>
</html>