0

我是 Javascript 的新手,我正在尝试用图像制作一个简单的“幻灯片”。这是我的代码,它不起作用,它正常加载html代码,忽略“隐藏”功能:怎么办?

    <script type="text/javascript">
        $(function() {
            var tot = $(".slide").length,
            current = 1

            $(".slide").not(":first").hide()

            $("#next").click(function () {
            if (current+1 > tot) return false

            $(".slide:visible").hide().next().show()
            current++
            })

            $("#prev").click(function () {
            if (current-1 < 1) return false

            $(".slide:visible").hide().prev().show()
                current--
            })
        })​
    </script>

    <div id="slide_container">  
            <div class="slide">
                <p>Step 1 explained</p>
                <img src="images/android.png" border="none"/>
            </div>
            <div class="slide">
                <p>Step 2 Explained</p>
                <img src="images/apple.png" border="none"/>
            </div>
            <div class="slide">
                <p>Step 3 explained</p>
                <img src="images/windows.png" border="none"/>
            </div>
            <div>
                <button id="prev">Prev</button>
                <button id="next">Next</button> 
            </div>
    </div>

谢谢!

4

2 回答 2

1

为了清楚起见,我重新格式化了您的代码并添加了几个分号;,并且我还更改了当前和总计的索引,一切似乎都可以正常工作我已经使用下面的 JavaScript 创建了一个jsFiddle,一切似乎工作正常。试一试

$(function()
{
    var total = $(".slide").length;
    var current = 0

    $(".slide").not(":first").hide()

    $("#next").click(function ()
    {
        if (current + 1 >= total)
        {
            return false;
        }

        $(".slide:visible").hide().next().show();
        current++
    })

    $("#prev").click(function ()
    {
        if (current <= 0)
        {
            return false;
        }

        $(".slide:visible").hide().prev().show();
        current--;
    });
})​
于 2012-05-25T10:57:05.600 回答
1

我希望您在此处提供的脚本块之前添加了 Jquery 参考。只是一个想法。

于 2012-05-25T11:43:07.510 回答