Javascript 动画添加/删除类

Javascript 动画添加/删除类,javascript,jquery,Javascript,Jquery,我希望在代码中添加和删除#left元素时使用fadeIn/Out。你能移除一个类并设置同一个元素的动画吗 var window_width = $(window).width(); var scroll_amount = window_width * .75; var left=$('#latest_wrapper'); $('#latest_wrapper #right').click(function() { $('#left').removeClass('none');

我希望在代码中添加和删除#left元素时使用fadeIn/Out。你能移除一个类并设置同一个元素的动画吗

 var window_width = $(window).width();
 var scroll_amount = window_width * .75;
 var left=$('#latest_wrapper');

 $('#latest_wrapper #right').click(function() {
    $('#left').removeClass('none');
    $('#latest_wrapper').scrollTo('+=' + scroll_amount, 300);   
 });    

 $('#latest_wrapper #left').click(function() {
    $('#latest_wrapper').scrollTo('-=' + scroll_amount, 300);

    actual_left = left.scrollLeft() - scroll_amount;
    if(actual_left <= 0){
        $("#left").addClass('none');
    }
 });


 # HTML page
 <div id="latest_wrapper" data-offset="1">

    <div id="left" class="arrow_wrapper none">
        <i class="icon-angle-left"></i>
    </div>
    <div id="right" class="arrow_wrapper">
        <i class="icon-angle-right"></i>
    </div>

    ... more
var window_width=$(window.width();
var scroll\u amount=窗口宽度*.75;
var left=$(“#最新#包装器”);
$(“#最新的#包装器#右”)。单击(函数(){
$('左').removeClass('无');
$(“#最新#包装”)。滚动到(“+=”+滚动#金额,300);
});    
$(“#最新的#包装器#左”)。单击(函数(){
$(“#最新#包装”)。滚动到(“-=”+滚动#金额,300);
实际\u left=left.scrollLeft()-滚动\u金额;

如果(实际的)_left注意:我假设您希望根据CSS中设置的属性设置动画

这里有很多选项,这取决于您的特定用例

最简单、最干净的方法是将CSS转换与现有JavaScript一起使用:


如果要使用JavaScript实现此目的,可以使用jQuery UI:


如果不想使用jQuery UI,则很可能需要使用jQuery animate手动执行此操作:

$('#left').animate({
  //-- new CSS here
}, {
  complete: function () {
    $(this).removeClass('none');
  }
});

你能移除一个类并设置同一个元素的动画吗? 对于你问题的这一部分,我可以说:

   $("#left").addClass('none').fadeOut();
但是,如果您面对一些css,这些css将使类none变为display none,那么您必须首先制作动画,然后添加您的类

   $("#left").fadeOut('normal', function(){
        $(this).addClass('none');
   });

您可以对fadeIn()执行相同的操作。

为什么要“同时”执行?或者您正在考虑类似的操作:
$item.removeClass(“hai”).animate(选项)
或者你是说在动画中切换类?那么你想在添加类时淡入一个元素,在删除类时淡出一个元素?请澄清。为什么不试试呢?没有理由不能淡入/淡出一个元素并从该元素中删除/添加一个类。
   $("#left").fadeOut('normal', function(){
        $(this).addClass('none');
   });