2011-03-22 74 views
1

我想知道是否有任何方式淡出动画添加到这个jQuery功能我建立的:添加jQuery的动画自定义函数

var $j = jQuery.noConflict(); 
    $j('#seccG').click(swapWith); 

function swapWith(){ 
    var tmp = $j(this).html(); 

    var claseOrigen = $j(this).attr("class"); 
    var claseDestino = $j('#seccA').attr("class"); 

    //REMOVES THE CLASSES 
    $j(this).removeClass(claseOrigen); 
    $j('#seccA').removeClass(claseDestino); 
    $j('#Main').removeClass(claseDestino); 
    $j('#content').removeClass(claseDestino); 

    //ASSIGN NEW CLASSES 
    $j(this).addClass(claseDestino); 
    $j('#seccA').addClass(claseOrigen); 
    $j('#Main').addClass(claseOrigen); 
    $j('#content').addClass(claseOrigen); 

    //EXCHANGE CONTENTS 
    $j(this).html($j('#seccA').html()); 
    $j('#seccA').html(tmp); 
}; 

的颜色与类和关联使用ID定位,所以我想添加一个转换到交换div(#seccA和#seccB)。

在此先感谢:-)

回答

0

这样的事情?

var $j = jQuery.noConflict(); 
    $j('#seccG').click(swapWith); 

function swapWith(){ 
    var   tmp = $j(this).html(), 
     claseOrigen = $j(this).attr("class"), 
     claseDestino = $j('#seccA').attr("class"), 
       self = this, 
     elements; 

    //REMOVES THE CLASSES 
    (elements = $j('#seccA,#Main,#content').add(this)) 
     .removeClass(claseOrigen) 
     .fadeOut(function(){ 
      // EXCHANGE CONTENTS 
      $j(self).html($j('#seccA').html()); 
      $j('#seccA').html(tmp); 

      // ASSIGN NEW CLASSES 
      elements.addClass(claseDestino).fadeIn(); 
     }); 
}; 
0

jQuery UI扩展了标准jQuery动画的功能。有了它,你可以动画到由CSS类指定的属性,而不是在javascirpt中定义值。退房http://jqueryui.com/demos/addClass/

jQuery UI还允许您为动画的颜色属性设置动画。

链接jQuery UI后,您应该可以在动画期间简单地向添加和删除类功能添加第二个属性。

$j(this).addClass(claseDestino,1000);

+0

像魅力一样工作,谢谢! – nomeacuerdo 2011-03-22 03:25:06

+0

太棒了。没问题。 – 2011-03-22 23:12:53