使用/ jQuery延迟淡出类

时间:2012-03-10 17:19:34

标签: jquery

我有以下两个功能。一个检查一个类,如果没有找到它,则删除另一个类。第二个函数执行第一个延迟。两者都运作良好,但我不想突然删除课程,而是逐渐淡化它。这是我到目前为止所拥有的。需要fadeOut .txtCCC。

function noExpand() {
    exp = $("#prT span.ui-icon-triangle-1-s").size();
    if (exp == 0) {
      $("#prT td.txtCCC").removeClass("txtCCC");
    }
}

$("#prT span.btn").bind("click",function() {
    window.setTimeout(function(){
        noExpand(); //execute load function
    },1000);
});

似乎无法整合fadeOut ......

4 个答案:

答案 0 :(得分:2)

当然,可以为addClasstoggleClassremoveClass制作动画。但是你需要jQueryUI。

http://jqueryui.com/demos/removeClass/

$("#prT td.txtCCC").removeClass("txtCCC", 1000);

答案 1 :(得分:1)

你不能“淡化”一堂课。它要么存在要么不存在。但是,您可以为特定的数字CSS属性设置动画。查看.fadeOut().animate()。不知道txtCCC类适用的具体样式,我不能更具体。

答案 2 :(得分:0)

属性上类的存在是一个全有或全无的事情,你不能有中间步骤(这对于淡入淡出行为是必需的)。

为实现这一目标,您需要做的是将txtCCC应用于元素的各种样式应用为内联样式,删除该类,然后使用{{1使这些样式慢慢转换为没有类的元素的匹配值。至少可以说是非平凡的,尤其是如果它包含颜色等(默认情况下jQuery没有动画,虽然有插件)。

答案 3 :(得分:0)

没有办法在jQuery中交叉淡化类的效果。您需要使用.fadeOut().animate()

然而,您可以使用CSS3过渡淡化类的效果:http://www.w3schools.com/css3/css3_transitions.asp

看到这个小提琴:http://jsfiddle.net/wya3N/

仅适用于现代浏览器。