没有进入Jquery函数

时间:2012-02-29 11:46:53

标签: c# jquery

我对jquery很新,我的问题是我在一个继承自母版页的页面中完成了jquery函数。由于某种原因,该函数被完全忽略,好像什么都没有,并且页面加载时没有任何脚本。

我是否需要在后面的代码中加载页面?我正在展示这个功能;

<script type="text/javascript">
    var index = 0;
    var images = [
        'child.jpg',
        'girl.gif',
        'sponsor.jpg'
    ];

    $('#Image1').attr('src', 'Resources/ChildrenImages/' + images[0]);

    setInterval(change_image, 5000);

    function change_image() {
        index++;
        if (index >= images.length) 
            index = 0;
        $('#Image1').attr('src', 'Resources/ChildrenImages/' + images[index]);
    }
</script>

3 个答案:

答案 0 :(得分:3)

要做的第一件事是在 DOM ready 事件之后运行你的jQuery代码,这样

<script type="text/javascript">
    var index = 0;
    var images = [
        'child.jpg',
        'girl.gif',
        'sponsor.jpg'
    ];

$(function(){ // added this line

    $('#Image1').attr('src', 'Resources/ChildrenImages/' + images[0]);

    setInterval(change_image, 5000);

      function change_image() {
               index++;
            if (index >= images.length) index = 0;

            $('#Image1').attr('src', 'Resources/ChildrenImages/' + images[index]);

    }

}); // and this one
</script>

第二件事是确保页面中包含jQuery库(在上面的代码之前)

答案 1 :(得分:1)

在DOM加载完成之前,脚本可能正在执行。尝试使用文档准备好围绕代码:

<script type="text/javascript">
    $(document).ready(function() {
        /* your code as you posted */
    });
</script>

请参阅文档以获取对此的解释:http://api.jquery.com/ready/

答案 2 :(得分:0)

在DOM准备好后尝试执行脚本:

<script type="text/javascript">
    $(document).ready(function () {
        var index = 0;
        var images = ['child.jpg', 'girl.gif', 'sponsor.jpg'];

        $('#Image1').attr('src', 'Resources/ChildrenImages/' + images[0]);
        setInterval(change_image, 5000);

        function change_image() {
            index++;
            if (index >= images.length) index = 0;
            $('#Image1').attr('src', 'Resources/ChildrenImages/' + images[index]);
        }
    });
</script>