2016-07-14 6 views
2

Guten Tag,JQuery CSS-Methode setzt keine CSS3 Variablen

Ich arbeite mit CSS3 Variablen Artikel und viele andere Dinge im laufenden Betrieb aber JQuery CSS-Methode Offset ignoriert jeden Versuch eine CSS-var Einstellung. Ich versuche, die folgende

$(document).ready(function() { 
 
     $('#testdiv').css('--bgc','rgb(0,0,255)'); 
 
    });
div 
 
    { 
 
     --bgc:rgb(255,0,0); 
 
     background-color:var(--bgc); 
 
     width:50px; 
 
     height:50px; 
 
    }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script> 
 
<div id="testdiv"></div>

Also in der Theorie die div zunächst als 50px 50px von roten Feld und sobald das Laden der Seite abgeschlossen ist Änderung in einem blauen Kasten jedoch die --bgc laden sollte Variable wird nie am DIV geändert. Gibt es eine Möglichkeit, dies in JQuery zu setzen?

+2

Was ist '--bgc'? –

+0

@AnujKumar lesen Sie den Titel –

+0

@AnujKumar, das ist eine CSS-Variable, siehe die CSS-Klasse in den Beitrag hinzugefügt. – Jai

Antwort

4

fand ich eine reine JavaScript-Lösung:

JS:

$(document).ready(function() { 
    document.documentElement.style.setProperty('--bgc', 'rgb(0,0,255)'); 
}); 

CSS:

:root { 
    --bgc: rgb(255,0,0); 
} 

div { 
    background-color:var(--bgc); 
    width:50px; 
    height:50px; 
} 

Codepen: http://codepen.io/theblindprophet/pen/yJpZNb

Referenz: Variables why should you care?

+0

Danke, das scheint zu funktionieren, ich wollte es auf JQuery-Sammlungen setzen können, aber ich gues $(). Each() wird tun müssen – KaoSDlanor

0

Sie können variabel über Vanille-Set Javascript

$(document).ready(function() { 
    $('#testdiv')[0].style.setProperty('--bgc', 'rgb(0, 0,255)'); 
}); 

$(document).ready(function() { 
 
    $('#testdiv')[0].style.setProperty('--bgc', 'rgb(0,0,255)'); 
 
});
div 
 
{ 
 
    --bgc:rgb(255,0,0); 
 
    background-color:var(--bgc); 
 
    width:50px; 
 
    height:50px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="testdiv"></div>

+0

wo ist Vanille Javascript in Ihrer Antwort? – Jai

+0

'$ ('# testdiv')' gibt kein Array zurück. Sie sollten die ' – theblindprophet

+0

@Jai hier nicht brauchen:' .style.setProperty() ' @theblindprophet versuchen Sie es ohne die' [0] ' – user1636505

Verwandte Themen