show hide div基于输入字段

时间:2012-10-22 21:40:52

标签: jquery hide show

我想用一个问题做一个简单的测验, 我已经进入了如果输入正确答案然后显示“正确”消息的阶段,我的问题是我还希望显示“不正确”消息1秒钟然后淡出,如果在其中输入任何其他内容输入字段。

我真的不知道如何让这两个功能发生,这是我到目前为止所拥有的

http://jsfiddle.net/bloodygeese/3XGGn/36/

 <p>What is 10 x 2 ?</p>
<div id="correct">
That's Correct!
</div>
<div id="incorrect">
Sorry, Try again!
</div>
<input type='text' id="full_day"/>
<input type='button' id="buttontest" value="clickme"/>​



$(document).ready(function(){
$("#buttontest").click(function(){

    if ($('#full_day').val() == 20) {   

        $("#correct").show("fast"); //Slide Down Effect
    } 
    else {
        $("#correct").hide("fast");    //Slide Up Effect
    }
});


});​

3 个答案:

答案 0 :(得分:2)

只需添加一行即可。在你的其他地方:

else {
     $("#incorrect").show("500").delay("1000").hide("500");
}

示例:http://jsfiddle.net/3XGGn/39/

修改

我看到你已经接受了答案,所以它应该令人满意,但是,我现在注意到我误解了你的问题。

  

[..]“错误”消息显示1秒钟,然后在输入字段中输入任何其他内容时淡出。

无论输入字段中是否输入任何内容,我给你的东西都会消失。我将为您提供实际要求的代码,您可以选择要使用的代码。

$("#buttontest").click(function(){

    if ($('#full_day').val() == 20) {   

        $("#correct").show("fast"); //Slide Down Effect
    } 
    else {
        $("#correct").hide("fast");    //Slide Up Effect
        $("#incorrect").show("500");
    }
});
$("#full_day").change(function() {
    $("#incorrect").hide("500");
});

Example fiddle

答案 1 :(得分:0)

你可以只使用一个div而只需更改html

$(document).ready(function(){
    $("#buttontest").click(function(){
        var html = 'That\'s Correct!' ;
        if ($('#full_day').val() != 20) {   
            html = 'Sorry, Try again!' ;
        }
         $("#correct").html(html).show("fast"); //Slide Down Effect
    });
});​

FIDDLE

答案 2 :(得分:-1)

$(document).ready(function(){
$("#buttontest").click(function(){

    if ($('#full_day').val() == 20) {   

        $("#incorrect").hide("fast"); 
        $("#correct").show("fast");

    } 
    else {
        $("#correct").hide("fast");
        $("#incorrect").show("fast");
    }
});


});​

这应该解决你的问题,你必须在显示下一个之前隐藏div!