Bonjour,
j'ai un problème de Javascript dans Google Chrome et Safari pour PC (webkit).
J'utilise un slider responsive assez large (1200px) dans un header avec ce plugin jQuery responsive-slides.
Dans ce slider, je veux afficher un paragraphe en surimpression, de 40% de la largeur du slider, cadré à gauche avec un fond blanc transparent et dont la hauteur est celle du slider.
Quand on redimensionne la page, le slider se redimensionne et le paragraphe aussi.
Ça marche bien sous Firefox et IE10.
Par contre ça marche pas correctement avec Chrome et Safari sur PC, c'est à dire que ça fonctionne au redimensionnement mais pas au chargement, en ce qui concerne le fond blanc qui n'est pas visible. J'ai donc tenté de forcer l’exécution de la fonction affectée au redimensionnement, lors du chargement, mais ça ne change rien.
Lorsque je charge la page dans Firefox (et ceci dans la taille la plus large bien sur), les 3 console.log affichent 300px, ce qui est la hauteur des images du slider à la base, donc la vérité.
Chrome affiche lui 0px !!! et pourtant le paragraphe contient bien du texte et il est visible. Après un redimensionnent (toujours dans Chrome), le dispositif fonctionne.
j'y comprends plus rien........
voici le code
pour le html
pour le css
pour le javascript
Modifié par lionel_css3 (24 Apr 2013 - 09:09)
j'ai un problème de Javascript dans Google Chrome et Safari pour PC (webkit).
J'utilise un slider responsive assez large (1200px) dans un header avec ce plugin jQuery responsive-slides.
Dans ce slider, je veux afficher un paragraphe en surimpression, de 40% de la largeur du slider, cadré à gauche avec un fond blanc transparent et dont la hauteur est celle du slider.
Quand on redimensionne la page, le slider se redimensionne et le paragraphe aussi.
Ça marche bien sous Firefox et IE10.
Par contre ça marche pas correctement avec Chrome et Safari sur PC, c'est à dire que ça fonctionne au redimensionnement mais pas au chargement, en ce qui concerne le fond blanc qui n'est pas visible. J'ai donc tenté de forcer l’exécution de la fonction affectée au redimensionnement, lors du chargement, mais ça ne change rien.
Lorsque je charge la page dans Firefox (et ceci dans la taille la plus large bien sur), les 3 console.log affichent 300px, ce qui est la hauteur des images du slider à la base, donc la vérité.
Chrome affiche lui 0px !!! et pourtant le paragraphe contient bien du texte et il est visible. Après un redimensionnent (toujours dans Chrome), le dispositif fonctionne.
j'y comprends plus rien........
voici le code
pour le html
<div id="sliderWide">
<p id="intro">Curabitur blandit mi sit amet ligula pretium vitae hendrerit lacus rhoncus. Vivamus metus tellus, aliquet quis auctor ut, scelerisque nec nisl. Aliquam viverra neque nec leo malesuada ac pharetra purus euismod. Phasellus cursus ornare luctus. Nunc sollicitudin tincidunt luctus. Morbi mi odio, fermentum Curabitur blandit mi sit amet ligula pretium vitae </p>
<ul class="rslides">
<li><img src="images/slider-1/pic-01.jpg" alt=""></li>
<li><img src="images/slider-1/pic-02.jpg" alt=""></li>
<li><img src="images/slider-1/pic-03.jpg" alt=""></li>
</ul>
</div>
pour le css
div#sliderWide {
position:relative;
}
p#intro {
position:absolute;
width:40%;
background-color:#CCC;
opacity:0.5;
top:0;
z-index:20;
}
.rslides {
position: relative;
list-style: none;
overflow: hidden;
width: 100%;
padding: 0;
margin: 0;
}
.rslides li {
-webkit-backface-visibility: hidden;
position: absolute;
display: none;
width: 100%;
left: 0;
top: 0;
}
.rslides li:first-child {
position: relative;
display: block;
float: left;
}
.rslides img {
display: block;
height: auto;
float: left;
width: 100%;
border: 0;
}
pour le javascript
$(function() {
$(".rslides").responsiveSlides();
/* init hauteur p#intro */
var hSide = $('#sliderWide .rslides').css('height');
$('p#intro').css('height',hSide);
$('p#intro').css('background-color','#ccc');
myResize();
$(window).resize(myResize);
});
function myResize() {
console.log($('p#intro').css('height'));
hSide = $('#sliderWide .rslides').css('height');
console.log(hSide);
$('p#intro').css('height',hSide);
console.log($('p#intro').css('height'));
}
Modifié par lionel_css3 (24 Apr 2013 - 09:09)