淡入一堂课?
我有一个
// css .class1 { background-color: red; } .class2 { background-color: green; } $('#mytd').addClass('green'); // <- animate this?
谢谢
您可以在其上放置一个克隆并在将克隆淡入时将原始文件淡出。
完成淡入淡出后,您可以切换回原始元素…确保在淡化回调中执行此操作!
下面的示例代码将在每次单击时在两个类之间保持淡入淡出:
$(function(){ var $mytd = $('#mytd'), $elie = $mytd.clone(), os = $mytd.offset(); // Create clone w other bg and position it on original $elie.toggleClass("class1, class2").appendTo("body") .offset({top: os.top, left: os.left}).hide(); $("input").click(function() { // Fade original $mytd.fadeOut(3000, function() { $mytd.toggleClass("class1, class2").show(); $elie.toggleClass("class1, class2").hide(); }); // Show clone at same time $elie.fadeIn(3000); }); });
jsFiddle示例
.toggleClass()
.offset()
.fadeIn()
.fadeOut()
jQueryUI特别为此扩展了animate类。 您可以不使用原始参数将新类附加到对象。
$(".class1").switchClass("", "class2", 1000);
这里有样品。
你可以这样做:
$("#mytd").fadeOut(function() { $(this).removeClass("class1").addClass("class2").fadeIn(); });
另外,看看这里: jQuery动画backgroundColor (同样的问题,很多答案)
这个问题很老了; 但对于需要更好解决方案的人来说; 看到:
它使用Jquery和CSS3来切换 class
同时在以下class
中淡化:-)
HTML:
Hover Me Highlight Me
JavaScript
$('#pseudo-hover').hover( function() { $('#pseudo-highlight').toggleClass('highlight'); });