我对以下内容有小问题。这只是整个代码的一个片段,它通常通过 setInterval(time,function); 运行。命令,但我想通过使用“下一步”按钮来替换自动滑动图片,为什么我不能只使用 jQuery 并将其粘贴到
$("#nextBtn").click(nextSlide);
命令 ?我的按钮出现但没有事件。难道是我将jQuery命令放在JS中
function onLoadWindow(e) {}
而不是 jQuery 的
$(document).ready(function() {})
我最近刚学完 JS 的基础知识,不久之后就开始了 jQ,所以我仍然是这两个方面的初学者,但之前有一些 Java 编程经验。我对将语法混合在一起有点陌生。非常感谢您的帮助!=)
编辑:用完整代码替换代码片段。我尝试通过删除不需要的内容(例如几个标签和相关样式)来略读它。但现在看来我什至无法让 div 按钮将文本发送到控制台,所以我很确定某处存在明显的“noob”错误,对不起“浪费”人们的时间..
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JS Slideshow</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.js"></script>
<style type="text/css">
.slide {
height:200px;
width:320px;
position:absolute;
opacity:0;
}
img {
width:100%;
height:100%;
}
#slideshow {
position:relative;
}
.active {
opacity:1;
transition:opacity 1s;
}
#nextBtn {
display:block;
float:left;
height:25px;
width:40px;
background-color:black;
margin-top:210px;
}
</style>
<script type="text/javascript">
window.addEventListener("load",onLoadWindow);
var active_slide;
var slides;
function onLoadWindow(e) {
var slideShow=document.getElementById("slideshow");
slides=slideShow.getElementsByTagName("div");
active_slide=0;
slides[0].classList.add("active");
//setInterval(nextSlide,10000);
$("nextBtn").click(nextSlide);
}
function nextSlide () {
slides[active_slide].classList.remove("active");
active_slide++;
active_slide%=3;
slides[active_slide].classList.add("active");
}
</script>
</head>
<body>
<div id="slideshow">
<div class="slide">
<img src="IMG/bridge.jpg" alt="" title="" />
</div>
<div class="slide">
<img src="IMG/leaf.jpg" alt="" title="" />
</div>
<div class="slide">
<img src="IMG/road.jpg" alt="" title="" />
</div>
</div>
<div id="nextBtn"></div>
</body>
</html>