我想知道是否有任何方法可以在我构建的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);
};
颜色与类相关联,位置与I相关联,所以我想添加一个转换到交换div (#seccA和#seccB)。
提前感谢:-)
发布于 2011-03-22 10:56:57
不确定您想淡入的是什么,但您可以尝试$j(this).fadeOut("fast").removeClass(claseOrigen);
http://api.jquery.com/fadeOut/
发布于 2011-03-22 10:59:51
像这样的东西?
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();
});
};
发布于 2011-03-22 11:02:12
jQuery UI扩展了标准jQuery动画的功能。有了它,你就可以对css类指定的属性进行动画处理,而不是在javascirpt中定义值。查看http://jqueryui.com/demos/addClass/
jQuery UI还允许您对颜色属性进行动画处理。
在链接jQuery UI之后,您应该能够简单地在动画期间向add和remove类函数添加第二个属性。
$j(this).addClass(claseDestino,1000);
https://stackoverflow.com/questions/5386196
复制相似问题