JavaScript: изменить iFrame src из массива - PullRequest
1 голос
/ 14 февраля 2012

Допустим, у меня есть массив из 3 URL-адресов с iFrame на странице.

Как я могу просмотреть эти 3 URL-адреса каждые 5 секунд, а затем начать все сначала? В идеале страница останется прежней, просто изменится iFrame.

Ответы [ 3 ]

2 голосов
/ 14 февраля 2012

Примерно так должно работать:

setInterval(function(){
    var u = 0;
    document.getElementById('myiFrame').setAttribute('src',myUrlArray[u]);
    if(u < myUrlArray.length-1){
        ++u;
    }else{
        u = 0;
    }
},5000);
0 голосов
/ 26 мая 2014

Код в правильном помеченном ответе не работает, так как он всегда считается слишком высоким. Вот код, который работает для меня безупречно:

<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>
0 голосов
/ 14 февраля 2012

Предположим, у вас есть это:

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

Вам просто нужно сделать это в Javascript:

var URLs = ["url1", "url2", "url3"];
var currURL = 0;

function cycle() {
    currURL = (currURL + 1) % 3;
    document.getElementById("ifr").src = URLs[currURL];
    setTimeout(cycle, 5000);
}

cycle();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...