Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.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 jQuery切换图像旋转_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript jQuery切换图像旋转

Javascript jQuery切换图像旋转,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我需要运行下面的代码示例,以便它在切换上工作,因此当单击div时,它将启动图像旋转,当再次单击它时,它将启动,依此类推? 提前感谢:) 例如: 如果你看这个例子:jsfiddle.net/AKgZn/2当点击白色方块(#pause_button1)时,它需要循环,当它循环时,你再次点击循环方块,它会返回白色方块 html: 关键是全局变量window.is_已切换,尽管您可以使用任何名称:window.my_variable或其他任何名称。幸运的是,您不需要首先用“var”声明它!未定义=真 希

我需要运行下面的代码示例,以便它在切换上工作,因此当单击div时,它将启动图像旋转,当再次单击它时,它将启动,依此类推? 提前感谢:)

例如:

如果你看这个例子:jsfiddle.net/AKgZn/2当点击白色方块(#pause_button1)时,它需要循环,当它循环时,你再次点击循环方块,它会返回白色方块

html:

关键是全局变量window.is_已切换,尽管您可以使用任何名称:window.my_variable或其他任何名称。幸运的是,您不需要首先用“var”声明它!未定义=真


希望有帮助?祝你好运

您可以在围绕代码的闭包中放置一个切换标志,它的优点是不引入全局变量

(function() {
    var toggled = true; // toggle flag in a closure

    var changeImage = function(element, imageNumber) {
        imageNumber++;

        if(imageNumber > 6) {
            imageNumber = 1;
        }
        console.log(imageNumber);
        element.addClass('pause_button' + imageNumber, 200);

        element.attr('class', 'pause_button' + imageNumber);
        setTimeout(function(){changeImage(element, imageNumber)}, 200);  
    };

    $('#pause_button1').click(function() {
        if (toggle) {
            changeImage($('#pause_button'), 0);
        } else {
            // do what should happen if not toggled
        }
        toggle = !toggle; // flip the toggle
    });
})(this); 

如果你看这个例子:当白色方块(#pause_按钮1)出现时,它需要循环点击后,当它循环,你再次点击循环方块时,它会返回到白色方块。嘿,我在一个实时版本上尝试过它,但仍然不工作?我如何让它总是在同一个div上停止和开始?像这样:你能投票给我的答案吗?谢谢!:)
<div id="pause_button" class="pause_button1">
$('#pause_button').click(function() {

    //Initially sets global variable is_toggled to true, then
    //toggles it back and forward to true and false
    window.is_toggled = !window.is_toggled;
    if (window.is_toggled) { 
      function changeImage(element, imageNumber){

          imageNumber++;

          if(imageNumber > 6){
            imageNumber = 1;
          }
          console.log(imageNumber);
          element.attr('class','pause_button' + imageNumber);
          window.timeOutId = setTimeout(function(){changeImage(element, imageNumber)}, 200); 
      }
      changeImage($('#pause_button'), 0);    
  } else {
       clearTimeout(window.timeOutId);
       $('#pause_button').attr('class','pause_button' + 1);
  }  
});
(function() {
    var toggled = true; // toggle flag in a closure

    var changeImage = function(element, imageNumber) {
        imageNumber++;

        if(imageNumber > 6) {
            imageNumber = 1;
        }
        console.log(imageNumber);
        element.addClass('pause_button' + imageNumber, 200);

        element.attr('class', 'pause_button' + imageNumber);
        setTimeout(function(){changeImage(element, imageNumber)}, 200);  
    };

    $('#pause_button1').click(function() {
        if (toggle) {
            changeImage($('#pause_button'), 0);
        } else {
            // do what should happen if not toggled
        }
        toggle = !toggle; // flip the toggle
    });
})(this);