0

画像のリストをシャッフルするこの機能があります。#shuffle ボタンを押したときにメッセージをトリガーしたいのですが、2 回目に確認された場合は、もう一度尋ねたくありません!

これをどのようにコーディングするのですか?

$('#shuffle').click(function(){
  if(confirm('This will shuffle all your bla bla bla')){
    $("#upimagesQueue li").shuffle();       
  }
});
4

2 に答える 2

4

次のように変数を使用できます。

var confirmed = false;
$('#shuffle').click(function(){
  if(confirmed || confirm('This will shuffle all your bla bla bla')){
    $("#upimagesQueue li").shuffle();  
    confirmed = true;     
  }
});

これは、確認が確認されていないことから始まりますが、最初は true に設定されます。これは、 の最初の部分が truecondition1 OR condition2であることを意味if()するため、確認が再びポップアップすることはありません。

.data()または、この変数を格納するために使用できます。

$('#shuffle').click(function(){
  if($(this).data('confirmed') || confirm('This will shuffle all your bla bla bla')){
    $(this).data('confirmed', true);   
    $("#upimagesQueue li").shuffle();   
  }
});
于 2010-04-24T01:17:13.187 に答える
0

これはより読みやすい方法です

$('#shuffle').bind('click', function(event){
    if(confirm('are you sure?')){
        $(this).unbind(event);
        $('#shuffle').bind('click', function(){
            $("#upimagesQueue li").shuffle();
        });
        $("#upimagesQueue li").shuffle();
    }
});

参照: http://api.jquery.com/one/

次のように書くこともできます。

$('#shuffle').bind('click', function(event){
    if(confirm('are you sure?')){
        $(this).unbind(event).click(function(){
            $("#upimagesQueue li").shuffle();
        })
        $("#upimagesQueue li").shuffle();
    }
});
于 2010-04-24T01:31:56.187 に答える