我有以下小问题。这只是整个代码的片段,它通常通过setInterval(时间,函数)运行;命令,但我想通过改为“下一步”按钮替换自动滑动图片,为什么我不能只使用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>
答案 0 :(得分:2)
它确实只是一个缺少哈希符号来正确引用Id ..感谢所有人,当然还有VeXii指出它x)