我有一個顯示大量圖像的HTML5畫布。我在畫布下方的頁面上也有一些簡單的HTML <p></p>
標籤。將腳本添加到網頁以在光標懸停在HTML5畫布上的圖像上時更改段落的內容
我想在光標懸停在這些圖像上時更新<p></p>
標記的內容,並在http://www.quirksmode.org/js/newmouseover.html處找到了一個快速教程,這似乎表明它可以教您如何執行此操作。
我跟着教程,但是,當我在瀏覽器中查看我的網頁現在,我得到的是說
getElementByTagName不是一個函數
我有一個控制檯錯誤之前沒有看過這個函數,我只是想知道它實際上是一個預先定義的函數,還是本教程的作者已經定義了它自己......?我看不到作者定義了該功能的頁面上的任何內容,所以我認爲它可能是預先定義的,但我不確定。有人知道嗎?
編輯
好了,所以修正錯字固定它,現在的功能將被調用。不過,我現在正在從我的window.onload
函數中調用它,所以一旦頁面加載,該段落就已經更新 - 它實際上並不是以調用onmouseover
事件爲條件。
我window.onload
功能如下:
window.onload = function() {
var sources = [];
sources[0] = document.getElementById("building").src,
sources[1] = document.getElementById("chair").src,
sources[2] = document.getElementById("drink").src,
sources[3] = document.getElementById("food").src,
/*There are roughly 30 lines like this adding images in the same way */
if (document.getElementById) {
var x = document.getElementById('mouseovers')
.getElementsByTagName('IMG');
} else if (document.all) {
var x = document.all['mouseovers'].all.tags('IMG');
} else {
return;
}
for (var i = 0; i < x.length; i++) {
console.log("for loop adding onmouseovers is being called");
x[i].onmouseover = displayAssetDescriptionTip();
}
loadImages(sources, drawImage);
drawGameElements();
drawDescriptionBoxes();
stage.add(imagesLayer);
};
我試圖移動if
報表到一個名爲displayAssetDescriptionTip()
功能,而這個功能現在看起來是這樣的:
function displayAssetDescriptionTip() {
if (document.getElementById) {
var x = document.getElementById('mouseovers')
.getElementsByTagName('IMG');
} else if(document.all) {
var x = document.all['mouseovers'].all.tags('IMG');
}else {
return;
}
for (var i = 0; i < x.length; i++) {
console.log("for loop adding onmouseovers is being called");
x[i].onmouseover = displayAssetDescriptionTip();
}
document.getElementById('tipsParagraph').innerHTML = "Assets are items that"
+ " can be bought or sold for cash.";
console.log("displayAssetDescriptionTip being called");
}
然而,onmouseover
事件當我將光標懸停在已添加的圖像上時,似乎並沒有發射 - 爲什麼會這樣?
啊,太棒了,歡呼!我完全錯過了... – someone2088 2013-02-25 21:39:48
該網站告訴我,我不能接受你的答案,再過10分鐘,那麼會做。 – someone2088 2013-02-25 21:40:27
不用麻煩。需要任何幫助,你知道我們在哪裏! – christopher 2013-02-25 21:41:00