2011-03-22 75 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