我有這樣的代碼在JavaScript:JavaScript的全局變量在功能和.hover
status = document.getElementById('status2');
$('#slider > img').hover(
function() {
stopLoop();
status.innerHTML = "paused";
},
function() {
startSlider();
status.innerHTML = "playing";
}
);
,我找都在我的HTML有ID滑塊,當我懸停,然後我要添加圖像一個字(暫停或播放)到id爲status2的span標籤。但我不知道爲什麼全局變量不工作,我做它的工作是把一個局部變量每個funcion內像這樣的唯一途徑:
function() {
stopLoop();
var status = document.getElementById('status2');
status.innerHTML = "paused";
},
function() {
startSlider();
var status = document.getElementById('status2');
status.innerHTML = "playing";
}
任何人都可以我爲什麼?
注意:正如我之前所說的所有使用局部變量但不將其設置爲全局變量。
因爲在你運行'status = document.getElementById('status2')的時候''DOM沒有準備好,所以你把'status'設置爲'undefined',所以它不會進一步工作 – vinayakj
你說你看所有圖像的ID爲'slider',但是你的代碼檢查圖像,這些圖像是id爲'slider'的元素的直接子元素。也許[本頁](https://css-tricks.com/child-and-sibling-selectors/)更好地解釋它? ID爲「滑塊」的圖像被用'$(「IMG#滑塊」)'選擇,而與ID爲「滑塊」元素的圖像的兒童用'$(「#滑塊> IMG」)來選擇。 – FWDekker
如果你願意,你可以去完整的jQuery並使用'var status = $(「status2」);''''和'status.html(「playing」);'。 – Anders