我有这个功能可以随机播放图像列表,当我按下#shuffle按钮我想要触发一条消息,如果第二次确认我不想再问一次!
如何编码?
$('#shuffle').click(function(){
if(confirm('This will shuffle all your bla bla bla')){
$("#upimagesQueue li").shuffle();
}
});
答案 0 :(得分: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();
}
});
答案 1 :(得分: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();
}
});