11488 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

Je développe un site Web sous Wordpress, le thème utilisé est le thème "Salient". Cependant j'aimerais ajouter un petit code Javascript sur toutes les pages pour simuler l'effet de "object-fit:cover" sur Internet Explorer. Le code fonctionne très bien, aucun problème de ce côté-là.

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<script>
if (document.documentMode || /Edge/.test(navigator.userAgent)) {
jQuery('img:not(.icon img, .interrogation img, #logo img, .banniere, .page-id-1865 .section-5 img, .logo-footer img)').each(function(){
    var t = jQuery(this),
        s = 'url(' + t.attr('src') + ')',
        p = t.parent(),
        d = jQuery('<div></div>');        p.append(d);
    d.css({
        'height'                : t.parent().css('height'),
        'background-size'       : 'cover',
        'background-repeat'     : 'no-repeat',
        'background-position'   : '50% 50%',
        'background-image'      : s
    });
    t.hide();
});
}
</script>


Par contre, l'implantation de ce code JS (que ce soit dans le modèle de page ou dans le footer) provoque quelques bugs gênants. Par exemple la vidéo de ma page d'accueil disparaît, et mon burger-menu (réduire la fenêtre pour le voir) ne s'ouvre plus. J'avais déjà eu le problème avec un autre code auparavant, je ne pense donc pas que ça vienne du code en lui-même.

Accéder au site

Savez-vous d'où vient le problème ? Mes connaissances en JS sont très limitées et je n'arrive pas à interpréter ce que me dit la console.

Merci d'avance !
Modifié par Myrial (18 Jun 2019 - 11:04)
Bonjour,

wordpress intègre déjà jquery donc pas besoin de l'inclure à nouveau. Possible que ce soit ce qui pose problème.

Pour ajouter du code dans tes pages il vaut mieux utiliser wp_enqueue_script.
Meilleure solution
Problème réglé, c'était bien Jquery. Merci à toi, je vais maintenant me renseigner sur wp-enqueue-script.