中断循环功能

时间:2013-09-13 19:43:15

标签: javascript jquery

单击工具提示时触发以下功能。这是一次ajax调查。

页面上可能有许多工具提示,并且多个工具提示可能需要访问从服务器检索的数据。

我想要实现的是将此轮询作为一个实例运行 - 因此,如果用户单击不同的工具提示,则轮询将停止,而不是重复。

如果你能提供帮助,将不胜感激。

由于

function doConversationsAjaxLongPoll(tablename){

clientSubmit = new Object;

// HERE WE'RE GOING TO GET A LIST OF THE ROWIDS THAT WE NEED TO POLL FOR, MAKE AN OBJECT OUT OF THEM. DO THIS BY LOOKING AT WHICH //TOOLIPS HAVE CLASS OPEN
var tooltips = [];
$('.tooltipOpen').each(function(index){
    tooltips.push($(this).data('idrow'))
})

console.log("tooltips length: " + tooltips.length)
    if(tooltips.length==0){
//      console.log("tooltip length is 0 so we're returning false")
        return false
    }

clientSubmit.OpenConversations = tooltips
clientSubmit.tablename = tablename
clientSubmit.CurrentData = $('body').data('conversations')

console.log(clientSubmit)

$.ajax({
  type: 'POST',
  url: '/conversations.php?loadNew=1',
  data: clientSubmit,
  timeout: 25000,
    success: function(data){
      console.log('success')
      data=JSON.parse(data)
      console.log(data)
      $('body').data('conversations', data)

    },
    complete: function(status, jqXHR){
    if(tooltips.length==0){
    //  console.log("tooltip length is 0 so we're returning false")
        return false
    }
    else
    {
      doConversationsAjaxLongPoll(tablename);
    }
    }
});
updateConversations()
}

1 个答案:

答案 0 :(得分:0)

我不怀疑有更好的方法可以做到这一点,但我通过点击函数生成一个随机数来解决问题,存储在$('body')中.data('random')然后将其传递给poll函数。当poll函数循环时,它会检查它传递的随机数是否与data-random中的随机数匹配,如果不匹配则返回false。