Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.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 单击x次后,如何使不同的文本显示在中?_Javascript_Jquery_Click - Fatal编程技术网

Javascript 单击x次后,如何使不同的文本显示在中?

Javascript 单击x次后,如何使不同的文本显示在中?,javascript,jquery,click,Javascript,Jquery,Click,我想为每次单击在类中显示一些文本,但保留clicky类。很快,如果你点击2次,你会得到一个div文本“you clicked two times”,你仍然可以点击第三次,然后你会得到“you clicked three times”,直到第五次,所有内容都会隐藏。有什么简单的方法可以做到这一点吗?我试过了,但没能成功 var clicks = 0; $('.clicky').on('click', function() { clicks++; if(clicks

我想为每次单击在类中显示一些文本,但保留clicky类。很快,如果你点击2次,你会得到一个div文本“you clicked two times”,你仍然可以点击第三次,然后你会得到“you clicked three times”,直到第五次,所有内容都会隐藏。有什么简单的方法可以做到这一点吗?我试过了,但没能成功

var clicks = 0;
$('.clicky').on('click', function()
    {
    clicks++;
        if(clicks >= 3)
        {
        $(this).add($('.background')).add($('.hello'));
        }

        else(clicks >= 5)
        {
        $(this).add($('.background')).hide();
        }
        });​
这是一个隐藏函数的工作示例

希望你明白我的意思

祝你今天愉快

使用switch语句。注意,因为元素只有类属性,所以选择器可以匹配多个元素。只是要记住一些事情

用于测试

var clicks = 0;
$('.clicky').on('click', function(){
    var string;
    clicks++;
    switch(clicks){
    case 1:
        string = "You clicked one time";
        $('.clicky').text(string);
        break;
    case 2:
        string = "You clicked two times";
        $('.clicky').text(string);
        break;
    case 3:
        string = "You clicked three times";
        $('.clicky').text(string);
        break;
    case 4:
        string = "You clicked four times";
        $('.clicky').text(string);
        break;
    case 5:
        $(this).add($(".background")).hide();
        break;
    }
});​

这对你有帮助吗。我使用JQuery data()而不是全局变量。因此,这将帮助您拥有clicky类的多个元素

<div class="clicky">
    aaaa 
</div>
<div class="clicky">
    bbbb
</div>
<script type="text/javascript" src="jquery.js" ></script>
<script type="text/javascript">
$('.clicky').data('times', 0);
$('.clicky').on('click', function(){
    var times = parseInt($(this).data('times')) + 1;
    $(this).data('times', times);
    if( times >= 3 && times<5)
        $(this).addClass('background').addClass('hello');
    else if (times >= 5){
        $(this).hide('fast');
    }
});  
</script>

aaaa
bbbb
$('.clicky').data('times',0);
$('.clicky')。在('click',function()上{
var times=parseInt($(this).data('times'))+1;
$(此).data('times',times);
如果(次数>=3&×=5){
$(this.hide('fast');
}
});  

我很困惑。您在问题中表示希望更改文本以显示单击div的次数,但在您的代码中,您甚至没有尝试更改/设置任何文本。代码的一个问题是
else(clicks>=5)
如果(clicks>=5)则应为
else,谢谢!是的,它工作得很好。如果要将字符串更改为divs,只需将大小写更改为:
case4:$('.clicky').text;中断对吗?否。要将字符串更改为divs,您需要调用
$('.clicky').html(字符串)
,否则您的标记将转换为