rotation qui ne passe pas

a marqué ce sujet comme résolu.

Bonjour à tous ! J’ai un soucis sur une page que je ne comprends pas : je veux faire tourner un div de 90° au premier clic, et le ramène au 2è. code :

$('.onglet').click(function(){
    var $angle = getRotationDegrees($(this).children(".onglet"));
    var $angleFin = ($angle+90)%180;
    if ($angleFin == 0) {
        $(this).children(".onglet").css(
            'boxShadow', '3px 3px 3px 0px grey');
    }
    else {
        $(this).children(".onglet").css(
            'boxShadow', '3px -3px 3px 0px grey');
    }
    $(this).children(".answer").toggle(500);
    $(this).children(".onglet").rotate({
        duration: 500,
        angle: $angle,
        animateTo: $angleFin
    })

});
// fonction copiée collée d'un site :
function getRotationDegrees(obj) {
    var matrix = obj.css("-webkit-transform") ||
    obj.css("-moz-transform")    ||
    obj.css("-ms-transform")     ||
    obj.css("-o-transform")      ||
    obj.css("transform");
    if(matrix !== 'none') {
/*l.8*/ var values = matrix.split('(')[1].split(')')[0].split(',');
        var a = values[0];
        var b = values[1];
        var angle = Math.round(Math.atan2(b, a) * (180/Math.PI));
    } else { var angle = 0; }
    return (angle < 0) ? angle + 360 : angle;
}

Quand je clique dessus j’ai : functions.js:8 Uncaught TypeError: Cannot read property 'split' of undefined at getRotationDegrees (functions.js:8) at HTMLDivElement.<anonymous> (informations.js:11) at HTMLDivElement.dispatch (jquery-3.3.1.js:5183) at HTMLDivElement.elemData.handle (jquery-3.3.1.js:4991)

Le truc vraiment bizarre, c’est que ce même code fonctionne parfaitement pour une autre page de mon site… :s [edit : enfin presque, sur l’autre page je ne clique pas sur l’élément lui-même]

Quelqu’un aurait une idée pour le faire marcher ? Merci d’avance :)

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte