[英]Beginner: How to fix 'ReferenceError myFunc is not defined' in JavaScript
我是JavaScript的新手,正在嘗試創建一個非常簡單的圖像滑塊。 我也試圖了解錯誤返回的onclick=""
事件。
我已經學習了如何編寫函數並將其分配給<button>
事件。
HTML設置:
<div id="custom-slider">
<button onclick="sliderPrev()">Prev</button>
<img id="slider" src="https://picsum.photos/400/200" />
<button onclick="sliderNext()">Next</button>
</div>
外部文件中的myJavaScript :(在結束</body>
)
<script src="src/index.js"></script>
myJavaScript設置:
var images = [
"https://picsum.photos/400/200",
"https://picsum.photos/400/200",
"https://picsum.photos/400/200"
];
var num = 0;
function sliderPrev() {
var slider = document.getElementById("slider");
num--;
if (num < 0) {
num = images.length - 1;
}
slider.src = images.length;
}
function sliderNext() {...}
我已經在Prev
按鈕的外部文件和sliderPrev()
創建了JS。 但是,每次我嘗試單擊該按鈕時,它都會保持返回ReferenceError: sliderPrev is not defined
。
我不知道我的代碼出了什么問題。 我也嘗試簡單的測試,但最終還是無法正常工作。
簡單測試:
function sliderPrev() {
alert("Testing");
}
在我的研究中,我發現有人說使用onclick=""
事件被認為是一種非常不好的做法。我們應該使用addEventListener
:(是真的嗎?)
var button = document.getElementById("slider").addEventListener("click", sliderPrev);
在這里查看我的代碼!
您無法在其他文件中訪問index.js
內部定義的局部變量和函數。
要將sliderPrev
給瀏覽器,您應該將window.sliderPrev = sliderPrev
添加到index.js
模塊中,這樣您便可以在html文件中使用它。
在問題中給出的鏈接中查看了您的代碼,我看到以下行
import "./styles.css";
這就是問題。 這必須刪除。 這導致錯誤,因此無法再運行JS代碼。 因此,沒有完全定義函數sliderPrev
。
要導入CSS樣式,您需要在HTML中<head>
使用以下內容:
<link rel="stylesheet" href="src/styles.css">
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.