Jquery“切换”方法表现得很好 [英] Jquery "toggle" method is behaving wierdly
本文介绍了Jquery“切换”方法表现得很好的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有这样一段代码:
$(。ani-search)。toggle(
function(){
$(#header .logo a)。animate({
marginLeft: - = 30px,
marginLeft: - = 60px,
marginLeft: - = 90px
});
},
function(){
$(#header .logo a)。animate ({
marginLeft: - = 60px,
marginLeft: - = 30px,
marginLeft:0px
})
}
);
当我运行相应的html页面时,我没有收到任何VALID切换响应。会发生什么事情,只要我打开页面的类ani搜索的图像闪烁一次,并消失了它,我不会切换任何东西?为什么会发生这种情况?
同样,这里是另一个测试代码
< p> Hello world< / p>
< script src =// ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js\"> ;</ script>
< script> window.jQuery || document.write('< script src =js / vendor / jquery-1.10.0.js>< \ / script>')< ; / script>
< script>
$(p)。toggle(
function(){
alert(Cliclk 1);
} ,
function(){
alert(Click 2);
}
);
< / script>
$ c $同样的事情发生在这里,只要我在我的浏览器中加载页面,文本Hello world闪烁一次,我得到警报框
为什么不能在这里切换?
解决方案 $(。a (''click',function(){
if(!$(this).data('state')){
$(#header .logo a)) .animate({
marginLeft: - = 30px,
marginLeft: - = 60px,
marginLeft: - = 90px
});
} else {
$(#header .logo a)。animate({
marginLeft: - = 60px,
marginLeft: - = 30px,
marginLeft:0px
});
$(this).data('state',!$(this).data('state'));
});
查看全文