JQuery可以在每次后续点击时显示不同的元素吗?

时间:2016-07-22 05:22:47

标签: jquery

我有一个非常简单的想法...有一个按钮(class =“upload”),在每次后续点击时,我希望它显示一个新的div,设定的最大次数。

例如:

$('.upload').click(function() {
            $('.upload_block2').show(0);
        }, function() {
            $('.upload_block3').show(0);
        }, function() {
            $('.upload_block4').show(0);
        }, function() {
            $('.upload_block5').show(0);
            $('.upload').hide(0);
        });

显然上面的代码不起作用......

这甚至可能吗?

3 个答案:

答案 0 :(得分:1)

声明两个全局变量,一个用于显示的块总数,另一个用于显示的当前块。

点击.upload后,请检查currentBlock < maxBlock。如果是,则递增应显示的当前块并将.upload_blockcurrentBlock连接以获取jquery选择器。

var maxBlock = 5;
var currentBlock = 1;
$('.upload').click(function() {
    if(currentBlock < maxBlock) {
        currentBlock ++;
        $('.upload_block'  + currentBlock).show(0);
    }
});

答案 1 :(得分:1)

我希望它对你有用。

$('.upload').toggle(function() {
        $('.upload').hide(0);
        $('.upload_block2').show(0);
    }, function() {
        $('.upload').hide(0);
        $('.upload_block3').show(0);
    }, function() {
        $('.upload').hide(0);
        $('.upload_block4').show(0);
    }, function() {
        $('.upload').hide(0);
        $('.upload_block5').show(0);
});

参考:http://www.w3schools.com/jquery/event_toggle.asp

答案 2 :(得分:0)

试试这个:

var count = 1;
$('.upload').click(function(){
    $(body).append('<div id="Div'+count+'"></div>');
    count++;
});

这将每次附加一个新的div,同时还有一个唯一的id。