【问题标题】:jQuery animate backgroundColorjQuery 动画背景颜色
【发布时间】:2010-09-16 11:24:24
【问题描述】:

我正在尝试在鼠标悬停时使用 jQuery 对 backgroundColor 的变化进行动画处理。

我已经检查了一些示例,我似乎没有错,它适用于其他属性,如 fontSize,但使用 backgroundColor 时,我得到了“无效属性”js 错误。 我正在使用的元素是一个 div。

$(".usercontent").mouseover(function() {
    $(this).animate({ backgroundColor: "olive" }, "slow");
});

有什么想法吗?

【问题讨论】:

  • 对于带有 jquery effect 1.8 的 jquery 1.4.2 我不得不承认 Andrew 解决方案工作完美。请参阅下面的帖子。
  • 注意:此插件正在检测元素的当前背景颜色 - 当没有定义背景颜色时,Chrome 浏览器返回 rgba(0, 0, 0, 0) 而不是预期的空/空值。要“修复”这个问题,元素必须具有初始背景颜色。
  • 链接页面好像坏了(至少是项目页面和演示页面)。

标签: javascript jquery colors jquery-animate


【解决方案1】:

颜色插件仅比 UI 库便宜 4kb。当然你会想要使用插件的decent version 而不是some buggy old thing,它不能处理Safari,并且在转换太快时会崩溃。由于未提供缩小版本,您可能想测试各种压缩器和make your own 最小版本。在这种情况下,YUI 获得了最好的压缩,只需要 2317 个字节,而且因为它很小 - 这里是:

(function (d) {
    d.each(["backgroundColor", "borderBottomColor", "borderLeftColor", "borderRightColor", "borderTopColor", "color", "outlineColor"], function (f, e) {
        d.fx.step[e] = function (g) {
            if (!g.colorInit) {
                g.start = c(g.elem, e);
                g.end = b(g.end);
                g.colorInit = true
            }
            g.elem.style[e] = "rgb(" + [Math.max(Math.min(parseInt((g.pos * (g.end[0] - g.start[0])) + g.start[0]), 255), 0), Math.max(Math.min(parseInt((g.pos * (g.end[1] - g.start[1])) + g.start[1]), 255), 0), Math.max(Math.min(parseInt((g.pos * (g.end[2] - g.start[2])) + g.start[2]), 255), 0)].join(",") + ")"
        }
    });

    function b(f) {
        var e;
        if (f && f.constructor == Array && f.length == 3) {
            return f
        }
        if (e = /rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(f)) {
            return [parseInt(e[1]), parseInt(e[2]), parseInt(e[3])]
        }
        if (e = /rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(f)) {
            return [parseFloat(e[1]) * 2.55, parseFloat(e[2]) * 2.55, parseFloat(e[3]) * 2.55]
        }
        if (e = /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(f)) {
            return [parseInt(e[1], 16), parseInt(e[2], 16), parseInt(e[3], 16)]
        }
        if (e = /#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(f)) {
            return [parseInt(e[1] + e[1], 16), parseInt(e[2] + e[2], 16), parseInt(e[3] + e[3], 16)]
        }
        if (e = /rgba\(0, 0, 0, 0\)/.exec(f)) {
            return a.transparent
        }
        return a[d.trim(f).toLowerCase()]
    }
    function c(g, e) {
        var f;
        do {
            f = d.css(g, e);
            if (f != "" && f != "transparent" || d.nodeName(g, "body")) {
                break
            }
            e = "backgroundColor"
        } while (g = g.parentNode);
        return b(f)
    }
    var a = {
        aqua: [0, 255, 255],
        azure: [240, 255, 255],
        beige: [245, 245, 220],
        black: [0, 0, 0],
        blue: [0, 0, 255],
        brown: [165, 42, 42],
        cyan: [0, 255, 255],
        darkblue: [0, 0, 139],
        darkcyan: [0, 139, 139],
        darkgrey: [169, 169, 169],
        darkgreen: [0, 100, 0],
        darkkhaki: [189, 183, 107],
        darkmagenta: [139, 0, 139],
        darkolivegreen: [85, 107, 47],
        darkorange: [255, 140, 0],
        darkorchid: [153, 50, 204],
        darkred: [139, 0, 0],
        darksalmon: [233, 150, 122],
        darkviolet: [148, 0, 211],
        fuchsia: [255, 0, 255],
        gold: [255, 215, 0],
        green: [0, 128, 0],
        indigo: [75, 0, 130],
        khaki: [240, 230, 140],
        lightblue: [173, 216, 230],
        lightcyan: [224, 255, 255],
        lightgreen: [144, 238, 144],
        lightgrey: [211, 211, 211],
        lightpink: [255, 182, 193],
        lightyellow: [255, 255, 224],
        lime: [0, 255, 0],
        magenta: [255, 0, 255],
        maroon: [128, 0, 0],
        navy: [0, 0, 128],
        olive: [128, 128, 0],
        orange: [255, 165, 0],
        pink: [255, 192, 203],
        purple: [128, 0, 128],
        violet: [128, 0, 128],
        red: [255, 0, 0],
        silver: [192, 192, 192],
        white: [255, 255, 255],
        yellow: [255, 255, 0],
        transparent: [255, 255, 255]
    }
})(jQuery);

【讨论】:

  • 好的,转到 Andrew 建议的链接。下载文件。您需要将其添加到您的项目中。你仍然可以在你的项目中使用 jquery.effects.core 这将完美地工作。谢谢你的回答。 +1
  • 我只是将上面的内容粘贴到我现有的 'jquery-ui-1.8.2.min.js' 文件中......一切仍然有效:-)
  • 我想指出,在去年(2011 年),这个插件的作者发布了一个版本 2,其中有很多不错的功能,但基本功能不需要这个lib通常被追捧。它现在有 20+kb 大。您可以选择v1 分支来获取旧版本(仍然可以使用),但重量要轻得多。
  • FWIW - 您可以删除代码中的颜色到 rgb 映射并进一步减小大小:raw.github.com/gist/1891361/…。缺点是您不能为动画使用颜色名称。您将不得不使用 rgb 值。
  • jQuery 1.8 打破了这个插件顺便说一句。 curCSS 不再在 jQuery 中了。
【解决方案2】:

我遇到了同样的问题,并通过包含 jQuery UI 解决了这个问题。这是完整的脚本:

<!-- include Google's AJAX API loader -->
<script src="http://www.google.com/jsapi"></script>
<!-- load JQuery and UI from Google (need to use UI to animate colors) -->
<script type="text/javascript">
google.load("jqueryui", "1.5.2");
</script>


<script type="text/javascript">
$(document).ready(function() {
$('#menu ul li.item').hover(
    function() {
        $(this).stop().animate({backgroundColor:'#4E1402'}, 300);
        }, function () {
        $(this).stop().animate({backgroundColor:'#943D20'}, 100);
    });
});
</script>

【讨论】:

    【解决方案3】:

    使用 CSS3-Transitions 来实现。支持很棒(所有现代浏览器,甚至 IE)。使用 Compass 和 SASS 可以快速完成:

    #foo {background:red; @include transition(background 1s)}
    #foo:hover {background:yellow}
    

    纯 CSS:

    #foo {
    background:red;
    -webkit-transition:background 1s;
    -moz-transition:background 1s;
    -o-transition:background 1s;
    transition:background 1s
    }
    #foo:hover {background:yellow}
    

    我写了一篇关于这个话题的德语文章:http://www.solife.cc/blog/animation-farben-css3-transition.html

    【讨论】:

    【解决方案4】:

    Bitstorm 拥有我见过的最好的 jquery 颜色动画插件。这是对 jquery 颜色项目的改进。它还支持 rgba。

    http://www.bitstorm.org/jquery/color-animation/

    【讨论】:

    • 我非常感谢你说它支持'rgba',这正是我想要的
    【解决方案5】:

    您可以使用 jQuery UI 添加此功能。你可以抓住你需要的东西,所以如果你想为颜色设置动画,你只需要包含以下代码。我从最新的 jQuery UI(当前是 1.8.14)得到 if

    /******************************************************************************/
    /****************************** COLOR ANIMATIONS ******************************/
    /******************************************************************************/
    
    // override the animation for color styles
    $.each(['backgroundColor', 'borderBottomColor', 'borderLeftColor',
        'borderRightColor', 'borderTopColor', 'borderColor', 'color', 'outlineColor'],
    function(i, attr) {
        $.fx.step[attr] = function(fx) {
            if (!fx.colorInit) {
                fx.start = getColor(fx.elem, attr);
                fx.end = getRGB(fx.end);
                fx.colorInit = true;
            }
    
            fx.elem.style[attr] = 'rgb(' +
                Math.max(Math.min(parseInt((fx.pos * (fx.end[0] - fx.start[0])) + fx.start[0], 10), 255), 0) + ',' +
                Math.max(Math.min(parseInt((fx.pos * (fx.end[1] - fx.start[1])) + fx.start[1], 10), 255), 0) + ',' +
                Math.max(Math.min(parseInt((fx.pos * (fx.end[2] - fx.start[2])) + fx.start[2], 10), 255), 0) + ')';
        };
    });
    
    // Color Conversion functions from highlightFade
    // By Blair Mitchelmore
    // http://jquery.offput.ca/highlightFade/
    
    // Parse strings looking for color tuples [255,255,255]
    function getRGB(color) {
            var result;
    
            // Check if we're already dealing with an array of colors
            if ( color && color.constructor == Array && color.length == 3 )
                    return color;
    
            // Look for rgb(num,num,num)
            if (result = /rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(color))
                    return [parseInt(result[1],10), parseInt(result[2],10), parseInt(result[3],10)];
    
            // Look for rgb(num%,num%,num%)
            if (result = /rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(color))
                    return [parseFloat(result[1])*2.55, parseFloat(result[2])*2.55, parseFloat(result[3])*2.55];
    
            // Look for #a0b1c2
            if (result = /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(color))
                    return [parseInt(result[1],16), parseInt(result[2],16), parseInt(result[3],16)];
    
            // Look for #fff
            if (result = /#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(color))
                    return [parseInt(result[1]+result[1],16), parseInt(result[2]+result[2],16), parseInt(result[3]+result[3],16)];
    
            // Look for rgba(0, 0, 0, 0) == transparent in Safari 3
            if (result = /rgba\(0, 0, 0, 0\)/.exec(color))
                    return colors['transparent'];
    
            // Otherwise, we're most likely dealing with a named color
            return colors[$.trim(color).toLowerCase()];
    }
    
    function getColor(elem, attr) {
            var color;
    
            do {
                    color = $.curCSS(elem, attr);
    
                    // Keep going until we find an element that has color, or we hit the body
                    if ( color != '' && color != 'transparent' || $.nodeName(elem, "body") )
                            break;
    
                    attr = "backgroundColor";
            } while ( elem = elem.parentNode );
    
            return getRGB(color);
    };
    

    用YUI压缩后只有1.43kb:

    $.each(["backgroundColor","borderBottomColor","borderLeftColor","borderRightColor","borderTopColor","borderColor","color","outlineColor"],function(b,a){$.fx.step[a]=function(c){if(!c.colorInit){c.start=getColor(c.elem,a);c.end=getRGB(c.end);c.colorInit=true}c.elem.style[a]="rgb("+Math.max(Math.min(parseInt((c.pos*(c.end[0]-c.start[0]))+c.start[0],10),255),0)+","+Math.max(Math.min(parseInt((c.pos*(c.end[1]-c.start[1]))+c.start[1],10),255),0)+","+Math.max(Math.min(parseInt((c.pos*(c.end[2]-c.start[2]))+c.start[2],10),255),0)+")"}});function getRGB(b){var a;if(b&&b.constructor==Array&&b.length==3){return b}if(a=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(b)){return[parseInt(a[1],10),parseInt(a[2],10),parseInt(a[3],10)]}if(a=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(b)){return[parseFloat(a[1])*2.55,parseFloat(a[2])*2.55,parseFloat(a[3])*2.55]}if(a=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(b)){return[parseInt(a[1],16),parseInt(a[2],16),parseInt(a[3],16)]}if(a=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(b)){return[parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16),parseInt(a[3]+a[3],16)]}if(a=/rgba\(0, 0, 0, 0\)/.exec(b)){return colors.transparent}return colors[$.trim(b).toLowerCase()]}function getColor(c,a){var b;do{b=$.curCSS(c,a);if(b!=""&&b!="transparent"||$.nodeName(c,"body")){break}a="backgroundColor"}while(c=c.parentNode);return getRGB(b)};
    

    您还可以使用 CSS3 过渡来为颜色设置动画,但它仅受现代浏览器支持。

    a.test {
      color: red;
      -moz-transition-property: color;  /* FF4+ */
      -moz-transition-duration: 1s;
      -webkit-transition-property: color;  /* Saf3.2+, Chrome */
      -webkit-transition-duration: 1s;
      -o-transition-property: color;  /* Opera 10.5+ */
      -o-transition-duration: 1s;
      -ms-transition-property: color;  /* IE10? */
      -ms-transition-duration: 1s;
      transition-property: color;  /* Standard */
      transition-duration: 1s;
      }
    
      a.test:hover {
      color: blue;
      }
    

    使用速记属性:

    /* shorthand notation for transition properties */
    /* transition: [transition-property] [transition-duration] [transition-timing-function] [transition-delay]; */
    
    a.test {
      color: red;
      -moz-transition: color 1s;
      -webkit-transition: color 1s;
      -o-transition: color 1s;
      -ms-transition: color 1s;
      transition: color 1s;
      }
    
    a.test {
      color: blue;
     }
    

    与常规的 javascript 过渡不同,CSS3 过渡是硬件加速的,因此更流畅。您可以使用 Modernizr 来确定浏览器是否支持 CSS3 过渡,如果不支持,则可以使用 jQuery 作为后备:

    if ( !cssTransitions() ) {
        $(document).ready(function(){
            $(".test").hover(function () {
                    $(this).stop().animate({ backgroundColor: "red" },500)
                 }, function() {
                     $(this).stop().animate({ backgroundColor: "blue" },500)}    
                 );
        }); 
    }
    

    记得在开始一个新动画之前使用 stop() 停止当前动画,否则当你过快地越过元素时,效果会闪烁一段时间。

    【讨论】:

      【解决方案6】:

      对于任何找到这个的人。最好使用 jQuery UI 版本,因为它适用于所有浏览器。颜色插件在 Safari 和 Chrome 中存在问题。它只在某些时候有效。

      【讨论】:

      • -1 最新版本的颜色插件在Chrome中完美运行。
      • 添加额外的脚本来为背景设置动画是很繁重的
      【解决方案7】:

      您可以使用 2 个 div:

      您可以在其上放置一个克隆,并在淡入克隆的同时淡出原始版本。

      当淡入淡出完成后,用新的背景恢复原来的。

      $(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();
      
          $mytd.mouseover(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 example


      .toggleClass()
      .offset()
      .fadeIn()
      .fadeOut()强>

      【讨论】:

      • 也许它在某些时候有效,至少它似乎没有达到预期的效果。
      • @epeleg - 适用于我的 mac chrome。您单击彩色矩形,它会改变颜色(2013 - 07 - 15)
      • 我不知道如何,但现在它确实可以在我的 windows7 chrome 上运行。也许与我在酵母日进行的 chrome 更新有关?!无论如何,正如我所说的,它现在确实有效。
      【解决方案8】:

      我将 CSS 转换与 JQuery 结合使用以获得所需的效果;显然,不支持 CSS 转换的浏览器不会设置动画,但它是一个轻量级选项,适用于大多数浏览器,并且对于我的要求,降级是可以接受的。

      jquery改变背景颜色:

         $('.mylinkholder a').hover(
              function () {
                  $(this).css({ backgroundColor: '#f0f0f0' }); 
              },
              function () {
                  $(this).css({ backgroundColor: '#fff' });
              }
          );
      

      CSS 使用过渡淡化背景颜色变化

         .mylinkholder a
         {
         transition: background-color .5s ease-in-out;
         -moz-transition: background-color .5s ease-in-out;
         -webkit-transition: background-color .5s ease-in-out; 
        -o-transition: background-color .5s ease-in-out; 
         }
      

      【讨论】:

        【解决方案9】:

        现在 jQuery 颜色插件支持以下命名颜色:

        aqua:[0,255,255],
        azure:[240,255,255],
        beige:[245,245,220],
        black:[0,0,0],
        blue:[0,0,255],
        brown:[165,42,42],
        cyan:[0,255,255],
        darkblue:[0,0,139],
        darkcyan:[0,139,139],
        darkgrey:[169,169,169],
        darkgreen:[0,100,0],
        darkkhaki:[189,183,107],
        darkmagenta:[139,0,139],
        darkolivegreen:[85,107,47],
        darkorange:[255,140,0],
        darkorchid:[153,50,204],
        darkred:[139,0,0],
        darksalmon:[233,150,122],
        darkviolet:[148,0,211],
        fuchsia:[255,0,255],
        gold:[255,215,0],
        green:[0,128,0],
        indigo:[75,0,130],
        khaki:[240,230,140],
        lightblue:[173,216,230],
        lightcyan:[224,255,255],
        lightgreen:[144,238,144],
        lightgrey:[211,211,211],
        lightpink:[255,182,193],
        lightyellow:[255,255,224],
        lime:[0,255,0],
        magenta:[255,0,255],
        maroon:[128,0,0],
        navy:[0,0,128],
        olive:[128,128,0],
        orange:[255,165,0],
        pink:[255,192,203],
        purple:[128,0,128],
        violet:[128,0,128],
        red:[255,0,0],
        silver:[192,192,192],
        white:[255,255,255],
        yellow:[255,255,0]
        

        【讨论】:

        • 能否引用出处。感谢您的列表。
        • 此列表来自 jQuery 颜色插件:plugins.jquery.com/project/color
        • -1 您的颜色列表指的是过期版本。当前版本至少有一种我注意到的额外颜色。
        【解决方案10】:

        我喜欢使用 delay() 来完成,这里有一个例子:

        jQuery(element).animate({ backgroundColor: "#FCFCD8" },1).delay(1000).animate({ backgroundColor: "#EFEAEA" }, 1500);
        

        这可以由函数调用,“元素”是元素类/名称/等。该元素将立即以#FCFCD8 背景出现,按住一秒钟,然后淡入#EFEAEA。

        【讨论】:

          【解决方案11】:

          只需在您的 jquery 脚本中添加以下 sn-p 即可享受:

          <script src="https://cdn.jsdelivr.net/jquery.color-animation/1/mainfile"></script>
          

          See the example

          Reference for more info

          【讨论】:

          • 请内联示例,这样它们就不容易链接腐烂。
          【解决方案12】:

          我偶然发现这个页面有同样的问题,但有以下问题:

          1. 我无法在当前设置中包含额外的 jQuery 插件文件。
          2. 我不习惯粘贴没有时间阅读和验证的大段代码。
          3. 我无权访问 css。
          4. 我几乎没有时间实施(这只是对管理页面的视觉改进)

          以上内容几乎排除了所有答案。考虑到我的褪色非常简单,我使用了以下快速技巧:

          element
            .css('color','#FF0000')
          ;
          $('<div />')
            .css('width',0)
            .animate(
              {'width':100},
              {
                duration: 3000,
                step:function(now){
                  var v = (255 - 255/100 * now).toString(16);
                  v = (v.length < 2 ? '0' : '') + v.substr(0,2);
                  element.css('color','#'+v+'0000');
                }
              }
            )
          ;
          

          上面创建了一个永远不会放在文档流中的临时 div。然后,我使用 jQuery 的内置动画为该元素的数字属性设置动画 - 在本例中为 width - 它可以表示百分比(0 到 100)。然后,使用 step 函数,我通过简单的十六进制计算将此数字动画转换为文本颜色。

          使用setInterval 也可以实现同样的效果,但是通过使用这种方法,您可以从 jQuery 的动画方法中受益——比如.stop()——你可以使用easingduration

          显然,它仅用于简单的颜色渐变,对于更复杂的颜色转换,您需要使用上述答案之一 - 或编写您自己的颜色渐变数学 :)

          【讨论】:

            【解决方案13】:

            试试这个:

            (function($) {  
            
                        var i = 0;  
            
                        var someBackground = $(".someBackground");  
                        var someColors = [ "yellow", "red", "blue", "pink" ];  
            
            
                        someBackground.css('backgroundColor', someColors[0]);  
            
                        window.setInterval(function() {  
                            i = i == someColors.length ? 0 : i;  
                            someBackground.animate({backgroundColor: someColors[i]}, 3000);  
                            i++;  
                        }, 30);  
            
            })(jQuery);  
            

            您可以在此处预览示例:http://jquerydemo.com/demo/jquery-animate-background-color.aspx

            【讨论】:

              【解决方案14】:

              ColorBlend 插件完全符合您的要求

              http://plugins.jquery.com/project/colorBlend

              这是我的高亮代码

              $("#container").colorBlend([{
                  colorList:["white",  "yellow"], 
                  param:"background-color",
                  cycles: 1,
                  duration: 500
              }]);
              

              【讨论】:

                【解决方案15】:

                如果您不想仅使用核心 jQuery 功能为背景设置动画,请尝试以下操作:

                jQuery(".usercontent").mouseover(function() {
                      jQuery(".usercontent").animate({backgroundColor:'red'}, 'fast', 'linear', function() {
                            jQuery(this).animate({
                                backgroundColor: 'white'
                            }, 'normal', 'linear', function() {
                                jQuery(this).css({'background':'none', backgroundColor : ''});
                            });
                        });
                

                【讨论】:

                  【解决方案16】:

                  尝试使用它

                  -moz-transition: background .2s linear;
                  -webkit-transition: background .2s linear;
                  -o-transition: background .2s linear;
                  transition: background .2s linear;
                  

                  【讨论】:

                    【解决方案17】:

                    试试这个:

                    jQuery(".usercontent").hover(function() {
                        jQuery(this).animate({backgroundColor:"pink"}, "slow");
                    },function(){
                        jQuery(this).animate({backgroundColor:"white"}, "slow");
                    });
                    

                    修改后的方式与效果:

                    jQuery(".usercontent").hover(function() {
                    
                        jQuery(this).fadeout("slow",function(){
                            jQuery(this).animate({"color","yellow"}, "slow");
                        });
                    });
                    

                    【讨论】:

                      【解决方案18】:

                      在不使用 jQueryUI 的情况下使用动画效果更改背景颜色:

                      selector.css({
                          backgroundColor: "#555",
                          transition: "background-color 1.8s"
                      });
                      

                      【讨论】:

                        猜你喜欢
                        • 2023-03-11
                        • 1970-01-01
                        • 1970-01-01
                        • 2010-11-20
                        • 1970-01-01
                        • 1970-01-01
                        • 2015-08-11
                        • 1970-01-01
                        • 2020-11-04
                        相关资源
                        最近更新 更多