【问题标题】:How to Modify css by jquery with vendor prefix?如何通过带有供应商前缀的jquery修改css?
【发布时间】:2016-06-29 02:50:15
【问题描述】:

我正在尝试使用供应商前缀更改 jquery ui 滑块的背景 css。我正在使用线性渐变。我需要对几乎所有浏览器的支持。我在 css 样式表中设置了一些带有供应商前缀的 css,我想通过 javascript 更改渐变。我需要这 5 个前缀的 css

  • -webkit-
  • -moz-
  • -o-
  • -ms-
  • -khtml-

    这里是jsfiddle

    $(function() {
       $( "#range-slider1" ).slider({
          range:false,
          min: 0,
          max: 360,
          value: 0,
          slide: function( event, ui ) {
             var hue = ui.value,
                 sat = $('#range-slider2').slider('value'),
                 light = $('#range-slider3').slider('value'),
                 alpha = $('#range-slider4').slider('value'),
                 hsla = "hsla(" + hue + "," + sat + "%, " + light + "%, " + alpha + ")",
             satRangeW = "-webkit-linear-gradient(left, hsla(" + ui.value + ", 0%, 50%, 1),hsla(" + ui.value + ", 20%, 50%, 1),hsla(" + ui.value + ", 40%, 50%, 1),hsla(" + ui.value + ", 60%, 50%, 1),hsla(" + ui.value + ", 80%, 50%, 1),hsla(" + ui.value + ", 100%, 50%, 1))",
            satRangeMo = "-moz-linear-gradient(left, hsla(" + ui.value + ", 0%, 50%, 1),hsla(" + ui.value + ", 20%, 50%, 1),hsla(" + ui.value + ", 40%, 50%, 1),hsla(" + ui.value + ", 60%, 50%, 1),hsla(" + ui.value + ", 80%, 50%, 1),hsla(" + ui.value + ", 100%, 50%, 1))";
            $("#slidevalue").text(hsla);
            $(".slidevalue").css('background-color', hsla);
            $("#range-slider2").css("background", satRangeW);
    
          }
       });
    
        $( "#range-slider2" ).slider({
           range:false,
           min: 0,
           max: 100,
           value: 100,
           slide: function( event, ui ) {
              var hue = $('#range-slider1').slider('value'),
                  sat = ui.value,
                  light = $('#range-slider3').slider('value'),
                  alpha = $('#range-slider4').slider('value'),
                  hsla = "hsla(" + hue + "," + sat + "%, " + light + "%, " + alpha + ")";
              $("#slidevalue").text(hsla);
              $(".slidevalue").css('background-color', hsla);
    
           }
        });
        $( "#range-slider3" ).slider({
           range:false,
           min: 0,
           max: 100,
           value: 50,
           slide: function( event, ui ) {
              var hue = $('#range-slider1').slider('value'),
                  sat = $('#range-slider2').slider('value'),
                  light = ui.value,
                  alpha = $('#range-slider4').slider('value'),
                  hsla = "hsla(" + hue + "," + sat + "%, " + light + "%, " + alpha + ")";
              $("#slidevalue").text(hsla);
              $(".slidevalue").css('background-color', hsla);
    
           }
        });
        $( "#range-slider4" ).slider({
           range:false,
           min: 0,
           max: 1,
           value: 1,
           step: 0.01,
           slide: function( event, ui ) {
              var hue = $('#range-slider1').slider('value'),
                  sat = $('#range-slider2').slider('value'),
                  light =  $('#range-slider3').slider('value'),
                  alpha = ui.value,
                  hsla = "hsla(" + hue + "," + sat + "%, " + light + "%, " + alpha + ")";
              $("#slidevalue").text(hsla);
              $(".slidevalue").css('background-color', hsla);
    
           }
        });
    });
    

【问题讨论】:

  • stackoverflow.com/questions/17487716/…(厂商前缀加上.css()
  • 我看到了这个问题。可以不用插件吗?
  • .css 是 jquery 的一部分,我不明白?
  • 是的,.css() 是一种可以在 jQuery 对象上调用的方法。正如我所指出的,代码已经在使用它
  • 只需使用后缀linear-gradient,jquery 将根据我在上面发布的 SO 链接处理供应商前缀;)

标签: javascript jquery css vendor-prefix autoprefixer


【解决方案1】:

您已经有代码显示如何通过 jQuery 修改 CSS,例如:

 $(".slidevalue").css('background-color', hsla);

您可以使用相同的语法,只需将 CSS 属性作为第一个参数,将值作为第二个参数。例如:

 $(".slidevalue").css('-webkit-border-radius', "5px");

【讨论】:

  • 我正在使用线性渐变。
  • 没关系。只需使用 -webkit-linear-gradient- 即可。无论您需要什么 CSS 属性,只需在第一个参数中将其作为字符串提供即可。
猜你喜欢
  • 1970-01-01
  • 2011-10-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多