javascript - jQuery 在 <head> 中不起作用?

标签 javascript jquery

这段代码应该通过淡化最顶层的元素直到只有第一个元素可见,然后淡入最顶层来从堆叠的列表元素中制作幻灯片(我注释掉了 CSS,以便我可以看到发生了什么)元素和其余部分并重新开始。如果我将脚本放在 <body> 中我的内容下方并扔掉 $(function() {它工作得很好,但在 <head>什么都没发生。昨天写的,今天还是看不出有什么错误,所以贴在这里。

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <style type="text/css">
        ul {
            position: relative;
        }
        ul li {
            /*position: absolute;
            left: 0;
            top: 0;*/
        }
    </style>
    <script src="jquery-1.5.1.min.js" type="text/javascript"></script>

    <script type="text/javascript">
        $(function() {
            var i = 0;
            var count = $('ul li').size();      

            function fade() {
                if (i < count-1) {
                $('ul li:nth-child('+(count-i)+')').fadeOut(300);
                    i++;
                } else {
                    $('ul li:nth-child('+count+')').fadeIn(300, function(){$('ul li').show();});    
                    i = 0;
                }
            }

            $('button').click(function() {
                setInterval('fade()', 1000);
            });
        });
    </script>
</head>

<body>
    <button>Slideshow GO!</button>
    <ul id="slider">
        <li><img src="1.jpg" /></li>
        <li><img src="2.jpg" /></li>    
        <li><img src="3.jpg" /></li>
        <li><img src="4.jpg" /></li>
    </ul>
</body>
</html>

谢谢

最佳答案

不同之处在于,将代码包装在 $(function () {}) 中会导致 fade 函数在本地 声明,并且不是全局setTimeout 在全局范围内计算 'fade()',因此找不到函数。

无论如何给 setTimeout 一个字符串通常是不好的做法,所以用指向函数的指针替换它:

setTimeout(fade, 1000);

我前不久回答过类似的问题here ,但该问题还依赖于从 setTimeout 中访问局部变量。

关于javascript - jQuery 在 <head> 中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5229739/

相关文章:

javascript - jQueryUI Selectable(如果元素 hasClass ui-selected)不起作用?

javascript - Firebase - 无法嵌套集合的集合

javascript - React-Native 获取,网络请求失败。不使用本地主机

javascript - 加一按钮导致 JavaScript 错误

jquery - jQuery .on() 应该在移动设备(iPhone Safari)上工作吗?

javascript - ASP.NET MVC5 Bootstrap Popover 字符串,单引号内有双引号

jQuery fullCalendar 和 qTip

javascript - Highcharts 在 x 轴上左对齐

jquery - 如何修复视差窗口滚动溢出?

javascript - 读取并解析 "bad"json