Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.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
如何使用一个键通过jQuery一步一步地对事件排序?_Jquery_Events_Keyboard - Fatal编程技术网

如何使用一个键通过jQuery一步一步地对事件排序?

如何使用一个键通过jQuery一步一步地对事件排序?,jquery,events,keyboard,Jquery,Events,Keyboard,我正在制作一个类似聊天车队的东西,你可以按空格键发送另一条消息,但它不起作用,有一个实时代码: 有人能解释一下如何通过按每个键到下一条消息来排列事件吗 谢谢 这就是你要找的: 您需要跟踪当前显示的消息(我使用的是classcurrent),并相应地隐藏该消息并仅显示下一条消息 这是jquery: $(document).keyup(function(event) { if (event.which === 32) { if ($('#msg1').hasClass('c

我正在制作一个类似聊天车队的东西,你可以按空格键发送另一条消息,但它不起作用,有一个实时代码:

有人能解释一下如何通过按每个键到下一条消息来排列事件吗


谢谢

这就是你要找的:

您需要跟踪当前显示的消息(我使用的是class
current
),并相应地隐藏该消息并仅显示下一条消息

这是jquery:

$(document).keyup(function(event) {
    if (event.which === 32) {
        if ($('#msg1').hasClass('current'))
        {
            $('#msg1').hide('slow').removeClass('current');
            $('#msg2').show('slow').addClass('current');
        }
        else if ($('#msg2').hasClass('current'))
        {
            $('#msg2').hide('slow').removeClass('current');
            $('#msg3').show('slow').addClass('current');
        }
    }  
}); 
很高兴知道你在一个循环中工作。我也只是在循环中实现它,这就是我得到的:


耶!它就像一个符咒,它是不受限制的,无论有多少信息它都有效。它也适用于循环,谢谢@伊凡:没问题。很高兴知道你在一个循环中工作。我也在上面添加了我的通用实现。
var messages = new Array('msg1','msg2','msg3');

$(document).keyup(function(event) {
    if (event.which === 32) {
        for (x in messages)
        {
            if ($('#'+messages[x]).hasClass('current'))
            {
                $('#'+messages[x]).hide('slow').removeClass('current');
                $('#'+messages[(parseInt(x)+1)]).show('slow').addClass('current');                
                break;
            }
        }      
    }  
});