次の小さな問題があります。これはコード全体のほんの一部であり、通常は 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>