在jQuery中展开和折叠slideToggle上的图标问题

时间:2010-12-19 11:47:14

标签: jquery

我正在使用jQuery实现树视图。

我使用slideToggle()展开折叠子树并将slideToggle方法中显示其状态(展开或折叠)的图像更改为函数,并使用Nick在此问题上学习的内容:

is there a toggleSrc method in jQuery?

但它的图像变化并不自然。我的意思是当子树完全打开时它显示折叠图像,当子树完全关闭时显示展开图像。扩张变化是自然的,但崩溃不是。我的意思是当子树开始崩溃而不是在它完成之后,应该显示崩溃图像。

希望我能清楚地描述我的意思。

有可能做我的意思吗?

提前谢谢。

1 个答案:

答案 0 :(得分:0)

为什么你不分享到目前为止你得到的东西?无论如何,你在slideToggle的回调中切换图像?这意味着在animation..try之后在slideToggle之前切换它,但是这也将在动画开始时显示扩展图像。

你要求的是什么,但要求你写一个条件

if(obj.is(':visible')) { // the sub-tree is expanded
    $img.toggleSrc(); // show image then toggle
    obj.slideToggle(function() {
        // your code WITHOUT toggleSrc
    });
} else {
    obj.slideToggle(function() {
        // your code WITH toggleSrc
    });
}