Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JQuery简单滑块超时问题_Javascript_Jquery_Settimeout_Setinterval - Fatal编程技术网

Javascript JQuery简单滑块超时问题

Javascript JQuery简单滑块超时问题,javascript,jquery,settimeout,setinterval,Javascript,Jquery,Settimeout,Setinterval,我有一个名为slideMe()的函数,我需要为每个滑块链接启动该函数,延迟几秒钟 jquery版本是1.4.2 代码是: $(document).ready(function(){ var img_id; var clicked; function slideMe(img_id){ $('.slider-menu-item').css('color','#fff'); $('#'+img_id).css('color','#EBE1B9');

我有一个名为
slideMe()
的函数,我需要为每个滑块链接启动该函数,延迟几秒钟

jquery版本是1.4.2

代码是:

$(document).ready(function(){ var img_id; var clicked; function slideMe(img_id){ $('.slider-menu-item').css('color','#fff'); $('#'+img_id).css('color','#EBE1B9'); $('.slider-img').hide(); $('#slider-img-'+img_id).fadeIn(600); }; $.each($('.slider-menu-item'),function(){ img_id = $(this).attr("id"); setTimeout("slideMe()",900); console.log(img_id) }); $('.slider-menu-item').live('click',function(){ img_id = $(this).attr("id"); clicked = 1; slideMe(img_id); }); });//end document.ready $(文档).ready(函数(){ var-img_-id; var单击; 功能幻灯片(img\U id){ $('.slider菜单项').css('color','#fff'); $('#'+img_id).css('color','#EBE1B9'); $('.slider img').hide(); $(“#滑块img-”+img_id).fadeIn(600); }; $.each($('.slider菜单项'),function(){ img_id=$(this.attr(“id”); setTimeout(“slideMe()”,900); console.log(img_id) }); $('.slider菜单项').live('单击',函数()){ img_id=$(this.attr(“id”); 单击=1; slideMe(img_id); }); });//结束文件.ready 但在控制台日志中,我收到的错误是:

未定义slideMe


如何操作?

您需要在document.ready处理程序之外定义
slideMe
函数。另外,最好直接将方法传递给setTimeout,而不是使用字符串。另外,
slideMe
方法需要一个参数,因此请确保传递该参数:

function slideMe(img_id) {
    $('.slider-menu-item').css('color', '#fff');
    $('#' + img_id).css('color', '#EBE1B9');
    $('.slider-img').hide();
    $('#slider-img-' + img_id).fadeIn(600);
}

$(document).ready(function() {
    var img_id;
    var clicked;

    $('.slider-menu-item').each(function() {
        img_id = $(this).attr('id');
        setTimeout(function() {
            slideMe(img_id);    
        }, 900);
    });

    $('.slider-menu-item').live('click',function() {
        img_id = $(this).attr("id");
        clicked = 1;
        slideMe(img_id);
    }); 
});

您需要在document.ready处理程序之外定义
slideMe
函数。另外,最好直接将方法传递给setTimeout,而不是使用字符串。另外,
slideMe
方法需要一个参数,因此请确保传递该参数:

function slideMe(img_id) {
    $('.slider-menu-item').css('color', '#fff');
    $('#' + img_id).css('color', '#EBE1B9');
    $('.slider-img').hide();
    $('#slider-img-' + img_id).fadeIn(600);
}

$(document).ready(function() {
    var img_id;
    var clicked;

    $('.slider-menu-item').each(function() {
        img_id = $(this).attr('id');
        setTimeout(function() {
            slideMe(img_id);    
        }, 900);
    });

    $('.slider-menu-item').live('click',function() {
        img_id = $(this).attr("id");
        clicked = 1;
        slideMe(img_id);
    }); 
});

尝试
slideMe=function(){…}
而不是
function slideMe(){…}
尝试
slideMe=function(){…}
而不是
function slideMe(){…}

谢谢,我尝试了这段代码,看起来还可以,但当我放入console.log(img\u id)时,它总是向我显示img\u id=5:/,应该是什么?不真实,原因全部。滑块菜单项id为1,2,3,4,5:(谢谢,我尝试了这段代码,看起来还行,但当我放入console.log(img_id)时,它总是显示img_id=5:/,应该是什么?不真实,原因全部。滑块菜单项id为1,2,3,4,5:(