0

我对以下内容有小问题。这只是整个代码的一个片段,它通常通过 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>
4

1 回答 1

2

它确实只是一个缺少的哈希符号来正确引用 Id .. 感谢所有人,当然还有 VeXii 指出它 x)

于 2013-03-31T19:57:10.807 回答