2017-06-20 1 views
0

J'ai une question rapide: comment pouvez-vous ajouter des transformations comme un style en ligne via JavaScript? Pendant la dernière heure, j'ai essayé de résoudre ce problème et j'ai aussi cherché partout, mais rien n'a fonctionné. Voici mon code:Javascript ajouter la transformation comme un style en ligne

HTML:

<ul id="slider"> 
    <li class="slide"></li> 
    <li class="slide"></li> 
    <li class="slide"></li> 
    <li class="slide"></li> 
</ul> 

JavaScript:

var windowWidth = $(window).width(); 
var centerDistance = windowWidth/2; 
var targets = $(".slide"); 
var inlineTransform = '"' + "translateZ(" + centerDistance + "px)" + '"'; 
for (var i = 0; i < targets.length; i++) { 
    targets[i].style.WebkitTransform = inlineTransform; 
    targets[i].style.msTransform = inlineTransform; 
    targets[i].style.transform = inlineTransform; 
} 

Selon W3Schools, rien est mal orthographié et tous les préfixes sont corrects: w3schools DOM style transform

La syntaxe devrait être correct aussi. Je ne reçois aucun message d'erreur et ce code fonctionne si j'utilise d'autres styles.

+2

Vous ajoutez des citations à l'extérieur de votre chaîne. Vous n'en avez pas besoin. –

+1

"Selon w3schools ..." Non! Mal! W3Schools n'est pas une source de documentation faisant autorité, et n'a aucune affiliation avec [W3C] (https://www.w3.org/), qui est _completely_ différent. W3Schools a [un historique de documentation inexacte et médiocre] (http://www.w3fools.com/), ainsi qu'une image de marque trompeuse, et ne devrait pas être fiable. –

Répondre

1

Vous n'avez pas besoin d'ajouter de guillemets supplémentaires à cette chaîne. Une chaîne est une chaîne. Les citations sont seulement nécessaires pour les littéraux de chaîne dans le code, et vous les avez déjà.

est ici une version jQuery:

var centerDistance = $(window).width()/2; 
var t = "translateZ(" + centerDistance + "px)"; 
var style = { 
    WebkitTransform: t, 
    msTransform: t, 
    transform: t 
}; 
$(".slide").css(style); 
+0

Fonctionne comme un charme! Je vous remercie! –