Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当用户取消选择div时停止代码运行_Javascript_Jquery_Css_This_Setinterval - Fatal编程技术网

Javascript 当用户取消选择div时停止代码运行

Javascript 当用户取消选择div时停止代码运行,javascript,jquery,css,this,setinterval,Javascript,Jquery,Css,This,Setinterval,当用户取消选择他们选择的div时,我试图停止setInterval函数的运行,但我无法让它工作。有什么想法吗` 我试过净空间歇,但不起作用。我也尝试过使用这个cvalue,但它在代码中没有更新 $(document).on("click",".profTemp", function() { var pollUser; if(!$(this).hasClass('selected'))

当用户取消选择他们选择的div时,我试图停止setInterval函数的运行,但我无法让它工作。有什么想法吗`

我试过净空间歇,但不起作用。我也尝试过使用这个cvalue,但它在代码中没有更新

 $(document).on("click",".profTemp", function()
                { 
                  var pollUser;
                  if(!$(this).hasClass('selected'))
                  {
                    var selectedUser;
                    var previous = null;
                    var current = null;
                    var assigned = false;

                    selectedUser = $(this).children('span').text();
                    selectedUser = selectedUser.trim();



                    //selectedUser = $(this).children('span').text();
                    console.log(selectedUser);
                    $(this).toggleClass('selected');

                    //selectedUser = selectedUser.trim();

                    pollUser = setInterval(function()
                    {

                      console.log(selectedUser);
                      $.ajax({
                        url: '/getJSON',
                        dataType: 'json',
                        success: function(response) {
                          console.log(response + "84897348");
                          obj = JSON.parse(response);
                          console.log(selectedUser + "inside success");

                          var changeTo;
                          var deviceID;

                          console.log(current + "current");
                            for(var i = 0; i < obj.clients.length; i++)
                            {
                              if((selectedUser == obj.clients[i].userName) && (assigned == false))
                              {
                                console.log(selectedUser + " inside if");
                                current = JSON.stringify(obj.clients[i]);
                                changeTo = obj.clients[i].uri;
                                device = obj.clients[i].deviceID
                                assigned = true;
                              }
                            }
                            assigned = false;

                            console.log(current + " current");
                            console.log(previous + "previous");

                            if(previous !== current)
                            {          

                              console.log("ARE WE INSIDE HERE");

                              $.ajax({
                                url: 'https://api.spotify.com/v1/me/player/play',
                                contentType: 'application/json',
                                type: 'PUT',
                                dataType: 'json',
                                headers: {
                                  'Authorization': 'Bearer ' + access_token
                                },
                                data: JSON.stringify({"uris":[changeTo], "device_id":device, "offset": { "uri":changeTo} }),
                                success: function(response) {
                                  console.log(response);
                                }
                              });
                            }
                          }
                        });
                      previous = current;
                      console.log(selectedUser);
                    }, 2000);
                  }

                  else if($(this).hasClass('selected'))
                  {
                    $(this).toggleClass('selected');
                    console.log("not selected");
                    clearInterval(pollUser);
                  }       

                }); 
$(document).on(“click”,“.proftem”,function())
{ 
var-pollUser;
if(!$(this).hasClass('selected'))
{
变量选择器;
var-previous=null;
无功电流=零;
var赋值=假;
selectedUser=$(this.children('span').text();
selectedUser=selectedUser.trim();
//selectedUser=$(this.children('span').text();
console.log(selectedUser);
$(this.toggleClass('selected');
//selectedUser=selectedUser.trim();
pollUser=setInterval(函数()
{
console.log(selectedUser);
$.ajax({
url:“/getJSON”,
数据类型:“json”,
成功:功能(响应){
控制台日志(响应+84897348“);
obj=JSON.parse(响应);
console.log(selectedUser+“insidesuccess”);
var转换为;
变量设备ID;
控制台日志(当前+“当前”);
对于(变量i=0;i

`

将var置于用户;在onclick函数之前。

var pollUser
是您希望设置间隔的id所在的位置,对吗?因为在函数的后面,您将执行
pollUser=setInterval(函数()…
。请参见关于setInterval的

这不起作用,因为在
.proftem
的每一次
点击
,您都在通过在函数顶部执行
var pollUser
来创建一个新的
pollUser
变量

如果要实际保存setInterval的ID,应将其保存到
.proftem
单击处理程序函数范围之外的变量中,以便对其进行维护


上,是否“未选择”登录到控制台?是的,它会记录,然后返回并循环pollUserOh中的代码,一秒钟后立即键入答案Komali_2解释了原因:D