0

我有这个功能可以随机播放图像列表,当我按下#shuffle 按钮时,我想触发一条消息,如果第二次确认我就不想再问了!

如何编码?

$('#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。condition1 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 回答