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:你必须阅读;)