簡體   English   中英

setAttribute('src','page.html')不起作用

[英]setAttribute('src','page.html') is not working

我有以下JavaScript來每隔5秒在iframe標記中旋轉頁面。

function setPage() {
    if (i == pages.length) {
        i = 0;
    }
    alert(pages[i]); //verify the right url is there
    var elmnt = document.getElementById('dashboard');
    elmnt.setAttribute('src', pages[i]);

    i++;
}
setInterval("setPage()", 5000);

循環,間隔等正在起作用。 但是,我的iframe代碼的src屬性沒有任何變化。

我測試了IE8和Chrome。

我究竟做錯了什么? 我怎樣才能做到這一點(沒有jQuery ...)

您是否嘗試過手動設置iframe的src屬性?

document.getElementById('dashboard').src = pages[i];

就像你現在一樣,每次調用setPage時,值i都是undefined ; 如果你想通過調用來保持i的值,你需要在一個閉包中設置它:

var setPage = (function () {
    var i = 0;
    return function () {
        if (i == pages.length) {
            i = 0;
        }
        var elmnt = document.getElementById('dashboard');
        elmnt.setAttribute('src', pages[i]);
        i++;
    }
}());

同樣在設置間隔時,第一個參數應該只是函數的名稱,沒有引號或者parens:

setInterval(setPage, 5000);

你可以做一些其他調整,但這應該讓它運行。

我建議你改用elmnt.src = pages[i]

如果它仍然給你錯誤,那么很可能你正在嘗試定位沒有src屬性的元素。 檢查elemt.tagName為您提供IFRAME

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM