我创建了一个快速jsfiddle here,表明它不起作用。如果元素被隐藏,jquery css(width,0)不起作用
我遇到的问题是滑上去了。我希望它能够在滑动完成后只将宽度设置为0。在幻灯片播放完成后,显然的回调函数似乎没有被调用。
我想它是这样工作的:
- 通过滑动来一起增加宽度显示红色框。
再次单击并将框向上滑动,然后将宽度设置为0.因此,如果用户再次单击该按钮,第一个动画将显示相同。
var $ foo = $(“#elm”);
$("#btn").toggle(function() { showDropDown(); }, function() { hideDropDown(); }); function showDropDown(){ $foo.slideDown({duration:500, queue:false}).animate({"width": 400}, 250); } function hideDropDown(){ $foo.slideUp({duration:800, queue:false},function(){ $foo.css({"width": 0}); }); }
UPDATE: 奇怪的是,如果我添加了一个警报()到回调函数了slideDown它永远不会被调用。
当我点击多次时动画显示相同?我在Chrome17/WindowsServer上 – gideon 2012-02-13 09:52:06
slideUp会通过滑动它来隐藏它,然后将它的宽度设置为0有什么用处? – Poonam 2012-02-13 09:53:21
由于第一个动画与滑动和宽度在一起。第二次调用该函数时,宽度已经设置为内联。 – 2012-02-13 09:55:08