Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.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/4/postgresql/9.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 查询动画()不起作用_Javascript_Jquery_Css - Fatal编程技术网

Javascript 查询动画()不起作用

Javascript 查询动画()不起作用,javascript,jquery,css,Javascript,Jquery,Css,我有以下代码: var isOn = false; $('.switch').on("click",function(){ if (isOn){ $('.toggle').animate({ left:"18px" },10,"linear", { complete: function(){ $('#label').text("ON"); } }); isOn = false;

我有以下代码:

var isOn = false;

$('.switch').on("click",function(){

  if (isOn){


    $('.toggle').animate({
      left:"18px"
    },10,"linear",

     {
      complete: function(){
        $('#label').text("ON");
      }
    });
    isOn = false;



  } else {
    $('.toggle').animate({
      left:"4px"
    }, 10,"linear",
                         {
      complete: function(){
        $('#label').text("OFF");
      }
    });
    isOn = true;
  }

});

它是用
jquery
打开/关闭的开关。它在没有
animate()
方法的情况下工作。
我正在用css制作动画,但在Internet Explorer中有问题。
以下是原始效果:

为什么第一个链接中的完整功能不起作用

编辑:此代码正在工作,但在IE上仍然无法正常工作

您似乎混合了
.animate
功能。如果将持续时间和时间作为参数直接传递,则必须对回调函数执行相同的操作:

$('.toggle').animate({left: "18px"}, 10, "linear", function(){
  $('#label').text("ON");
});
或者必须传递两个对象:

$('.toggle').animate(
  {
     left:"18px"
  },
  {
    duration: 10,
    easing: "linear",
    complete: function(){
      $('#label').text("ON");
    }
  }
);
您似乎混合了
.animate
功能。如果将持续时间和时间作为参数直接传递,则必须对回调函数执行相同的操作:

$('.toggle').animate({left: "18px"}, 10, "linear", function(){
  $('#label').text("ON");
});
或者必须传递两个对象:

$('.toggle').animate(
  {
     left:"18px"
  },
  {
    duration: 10,
    easing: "linear",
    complete: function(){
      $('#label').text("ON");
    }
  }
);

现在它可以工作了。请检查JSFIDLE链接


我从代码中删除了一些括号和
complete:
array键,希望这对您有用。

现在可以了。请检查JSFIDLE链接


我从代码中删除了一些括号和
complete:
array key,希望这对您有用。

哪个Ie版本不起作用?第一个链接。文本未在“开”和“关”之间切换。第二个链接是我制作的版本,它可以工作,但在IE中不工作,所以我尝试使用animate()函数达到相同的效果哪个IE版本不工作?第一个链接。文本未在“开”和“关”之间切换。第二个链接是我制作的版本,它可以工作,但在IE中不工作,所以我尝试使用animate()函数达到相同的效果。我很惊讶为什么它不能像jQuery那样工作。反正+1@Pietro:对于这个函数,它们实际上非常清楚。要么是
.animate(属性[,持续时间][,放松][,完成])
,要么是
.animate(属性,选项)
。哈哈,我的错。我还不习惯jquery文档。。。如果他们用得更多examples@Pietro:你必须阅读;)我很惊讶为什么它没有像jQuery那样有效。反正+1@Pietro:对于这个函数,它们实际上非常清楚。要么是
.animate(属性[,持续时间][,放松][,完成])
,要么是
.animate(属性,选项)
。哈哈,我的错。我还不习惯jquery文档。。。如果他们用得更多examples@Pietro:你必须阅读;)