-1

次のjqueryがあると仮定して、コードでスクリプトを作成できる指定された回数だけボタンをクリックできるようにするにはどうすればよいですか

デモ

$('h3').on('click', function(){
    $('#test').css('width','+=10px');
});

いつでもクリック可能です。ここで、クリック可能にしたいのは 1 回か 2 回だけです。どうやってやるの?

css width += で例を示しましたが、実際にはやりたいです

何時にクリック==私が定義したように

編集

次の質問: さて、h3 と h4 の 2 つのボタンがあります。

h4 をクリックすると h3 の時間がリセットされ、h3 がクリックされると h4 の時間がリセットされます

4

6 に答える 6

3
var cnt = 0;
$('h3').on('click', function () {
    if (cnt != 2) {
        $('#test').css('width', '+=10px');
        cnt++;
    }
});

または、一度だけクリックしたい場合は、 .one() を使用できます

$('h3').one('click', function () {
        $('#test').css('width', '+=10px');
});

アップデート

var h3cnt = 0;
var h4cnt = 0;
$('h3').on('click', function () {
    if (h3cnt != 2) {
        $('#test').css('width', '+=10px');
        h3cnt++;
    }
    h4cnt =0;
});
$('h4').on('click', function () {
    if (h4cnt != 2) {
        $('#test').css('width', '-=10px');
        h4cnt++;
    }
    h3cnt =0;
});

デモ

于 2013-09-25T10:01:57.003 に答える
3
$('h3').data('clickable',2).on('click.h3', function(){
    this.clicks = !this.clicks?0:this.clicks++;
    if(this.clicks < $(this).data('clickable'))
        $('#test').css('width','+=10px');
    else $(this).off('click.h3');
});
于 2013-09-25T10:01:33.157 に答える
2

これにより、5回のクリック後にクリックイベントの機能が停止します...

var count = 5;

$('h3').on('click', function(){
    count--;
    if (count == 0) return;
    $('#test').css('width','+=10px');
});

合わせて着替えるだけcount

于 2013-09-25T10:01:11.180 に答える
0

試す:

(function() {
    var countA = 3,  // number of clicks that the h3 will work for
        countB = 5;  // number of clicks that the h4 will work for

    $('h3').on('click', function(){

        countB = 5;  // reset count for h4

        if (!countA) {return;}
        countA--;

        // do stuff

    });

    $('h4').on('click', function(){

        countA = 3;  // reset count for h3

        if (!countB) {return;}
        countB--;

        // do stuff

    });



})();
于 2013-09-25T10:03:01.450 に答える
0

次のコードを使用します。

$('h3').attr('data-count', 1).on(
    'click',
    function()
    {
        var count = $(this).attr('data-count');
        var maxClicks = 5;

        count = parseInt(count, 10);

        if(count >= maxClicks)
        {
            return
        }

        $('#test').css('width','+=10px');
        $(this).attr('data-count', count + 1);
    }
);

ここにも例があります:

http://jsfiddle.net/merianos/sPKVr/

そして、これは更新されたコードです:

http://jsfiddle.net/merianos/syZ78/2/

于 2013-09-25T10:04:02.850 に答える
-1

ボタンが押されるたびにカウント変数とインクリメントカウントを取得し、カウントが指定された数に達するとボタンを無効にすることができます,,simple

于 2013-09-25T10:03:48.130 に答える