【问题标题】:jQuery UI change color does not work properly (RoR application)jQuery UI 更改颜色无法正常工作(RoR 应用程序)
【发布时间】:2015-07-22 13:30:58
【问题描述】:

我有一个购物车视图,其中包含我想要动画颜色变化的元素列表。

列表中的每个元素都有白色或灰色背景,具体取决于它在购物车中的奇数/偶数位置。

当我删除列表中间的一个元素时,它会向上滑动,并且所有元素都会相应地改变颜色,因为它们的位置已经改变。

代码如下:

count = 0;
$(".cart_item").each(function(){
   if ( count % 2 == 0 )
   {
     $(this).delay(count * 1000).removeClass("background_gray",800);
   }
   else
   {
     $(this).delay(count * 1000).addClass("background_gray",800);
   }
   count += 1;
 });

添加类 background_gray 可以正常工作,但使用动画删除它不起作用。它会被移除,但在一击之内。

我也尝试过以下操作,但我得到了同样的效果!

$(this).delay(count * 1000).addClass("background_white",800).removeClass("background_gray");

jQuery-UI 已经正确包含。

有什么线索吗?

谢谢!

【问题讨论】:

    标签: jquery css ruby-on-rails jquery-ui jquery-animate


    【解决方案1】:

    这并不能回答您的直接问题,但您是否知道您可以仅使用 css 设置备用行的样式,而不必费心使用 javascript?

    试试这个,而不是 javascript

    <style type="text/css">
      .cart_item:nth-child(even) {background: #ccc}
      .cart_item:nth-child(odd) {background: #FFF}
    </style>
    

    http://www.w3.org/Style/Examples/007/evenodd.en.html

    显然你仍然需要 javascript 来删除 li 或你正在做的任何事情。

    【讨论】:

    • 谢谢! +1 提示(虽然我不能在那种特定情况下使用,因为我想逐个元素而不是同时制作动画......)
    • 你的意思是你想要动画背景的颜色变化,每行改变颜色之间有延迟?听起来有点古怪。
    猜你喜欢
    • 2021-02-16
    • 1970-01-01
    • 2014-04-12
    • 2012-04-19
    • 2012-03-18
    • 1970-01-01
    • 2023-02-18
    • 2018-12-20
    • 1970-01-01
    相关资源
    最近更新 更多