Bien le bonjour,
Voici mon problème.
J'ai un site où défilent de gauche à droite des divs, via la fonction .animate.
Sur Firefox, Chrome, et Safari, tout se passe bien, mais sur IE8 (ça semble bon sur IE7), ça n'est pas fluide, les blocs se poussent les uns les autres avant de s'afficher.
Ça donne ça : http://www.raphael-bigot.info
Pour isoler le problème, j'ai refait une version hyperlight avec le strict nécessaire, ici : http://www.raphael-bigot.info/test.html
Voici le code html :
Les CSS :
Et enfin le code javascript (JQuery) :
Est-ce que j'ai mal codé qquechose, ou le problème n'est pas vraiment surmontable, imposé par une mauvaise interprétation de certaines fonctions javascript par IE ?
Merci pour votre aide.
Modifié par Ralf (09 Sep 2010 - 12:12)
Voici mon problème.
J'ai un site où défilent de gauche à droite des divs, via la fonction .animate.
Sur Firefox, Chrome, et Safari, tout se passe bien, mais sur IE8 (ça semble bon sur IE7), ça n'est pas fluide, les blocs se poussent les uns les autres avant de s'afficher.
Ça donne ça : http://www.raphael-bigot.info
Pour isoler le problème, j'ai refait une version hyperlight avec le strict nécessaire, ici : http://www.raphael-bigot.info/test.html
Voici le code html :
<body>
<ul id="nav_test">
<li>slide 1</li>
<li>slide 2</li>
<li>slide 3</li>
<li>slide 4</li>
</ul>
<div id="content_about"></div>
<div id="content_skills"></div>
<div id="content_works"></div>
<div id="content_contact"></div>
</body>
Les CSS :
body {
overflow: hidden;
}
#nav_test {
position: absolute;
left: 50%;
top: 50%;
margin-top: -350px;
margin-left: -100px;
}
#content_about, #content_skills, #content_works, #content_contact {
height: 430px;
width: 765px;
margin-top: -267px;
margin-left: -437px;
position: absolute;
top: 50%;
background-color: #0F0;
}
#content_about {
left: 50%;
}
#content_skills {
left: 150%;
}
#content_works {
left: 250%;
}
#content_contact {
left: 350%;
}
Et enfin le code javascript (JQuery) :
$('document').ready(function() {
$('#nav_test li:eq(0)').click(function() {
$('#content_about').animate({left: '50%'}, 'slow');
$('#content_skills').animate({left: '150%'}, 'slow');
$('#content_works').animate({left: '250%'}, 'slow');
$('#content_contact').animate({left: '350%'}, 'slow');
});
$('#nav_test li:eq(1)').click(function() {
$('#content_about').animate({left: '-150%'}, 'slow');
$('#content_skills').animate({left: '50%'}, 'slow');
$('#content_works').animate({left: '150%'}, 'slow');
$('#content_contact').animate({left: '250%'}, 'slow');
});
$('#nav_test li:eq(2)').click(function() {
$('#content_about').animate({left: '-250%'}, 'slow');
$('#content_skills').animate({left: '-50%'}, 'slow');
$('#content_works').animate({left: '50%'}, 'slow');
$('#content_contact').animate({left: '150%'}, 'slow');
});
$('#nav_test li:eq(3)').click(function() {
$('#content_about').animate({left: '-350%'}, 'slow');
$('#content_skills').animate({left: '-150%'}, 'slow');
$('#content_works').animate({left: '-50%'}, 'slow');
$('#content_contact').animate({left: '50%'}, 'slow');
});
});
Est-ce que j'ai mal codé qquechose, ou le problème n'est pas vraiment surmontable, imposé par une mauvaise interprétation de certaines fonctions javascript par IE ?
Merci pour votre aide.
Modifié par Ralf (09 Sep 2010 - 12:12)