我是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>
外部文件中的JavaScript :(在关闭qazxsw poi之前)
</body>
myJavaScript设置:
<script src="src/index.js"></script>
我在外部文件中创建了我的JS,为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() {...}
按钮创建了sliderPrev()
。但是,每次我尝试单击按钮,它会保持返回Prev
。
我不知道我的代码出了什么问题。我也尝试过简单的测试,但最后仍然没有工作。
简单测试:
ReferenceError: sliderPrev is not defined
在我的研究中,我发现有人说使用function sliderPrev() {
alert("Testing");
}
事件被认为是一个非常糟糕的练习我们应该使用onclick=""
:(是真的吗?)
addEventListener
看我的代码var button = document.getElementById("slider").addEventListener("click", sliderPrev);
!
您无法访问其他文件中at here中定义的局部变量和函数。
要将index.js
暴露给浏览器,您应该将sliderPrev
添加到window.sliderPrev = sliderPrev
模块,这样您就可以在html文件中使用它。
看看你在问题中给出的链接中的代码,我看到以下行
index.js
这是问题所在。这必须删除。这导致错误,因此不会运行更多的JS代码。所以函数import "./styles.css";
根本没有得到定义。
要导入CSS样式,您需要在sliderPrev
中的HTML中使用以下内容:
<head>