11496 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

je vous invite à consulter cette page d'accueil avec Google Chrome,
le problème apparaît sur grand écran (entre 1870px et 1920px)
http://theatredulamparo.fr/

En effet lorsque l'on scroll de droite à gauche la position du background du chapiteau évolue pour montrer les différentes images du sprite.. cette position est calculée en fonction du ratio de l'image (largeur/hauteur car l'image est à 100% de l'écran), sauf que sur Chrome le chapiteau bouge également de haut en bas ce qui casse l'animation.

Voici le code de ma page :
var portion = 0;
var numPortion = 0;
var chemin = "";
var largeur =0;
var hauteur = 0;
var position = 0;
var entrer2 = null;

function Initwrap(){
	largeur = $('#wrapperbg').width();
	hauteur = (largeur*0.590277778)-1;
	$('#wrapperbg').height(hauteur);
}

// Changer le background position du sprite
function BgAnim(hauteur, position){
	$('#wrapperbg').css({"background-position": "0 -"+position+"px", "height":hauteur});
}

function Entrer(chemin, numPortion, hauteur){
	//Cacher les boutons
	$('.callto').hide();
	//Lancer l'animation d'entrée dans chapiteau
	entrer2 = setInterval(function(){
		if (numPortion<=20){
			position = (hauteur+1)*numPortion;
			BgAnim(hauteur, position);
			numPortion++;
		} else {
			clearInterval(entrer2);
			window.location=chemin;
		}
	}, 100);
}


$(document).ready(function(){

	Initwrap();

	

		//lorsque la souris se déplace dans la page
		$("body").mousemove(function(e){

			Initwrap();

			portion = $('body').width()/9; //découpage écran en 12 portions (12 images)
			numPortion = Math.floor(e.pageX/portion); //la portion où se trouve la souris

			position = (hauteur+1)*numPortion;

			// lorsque la souris sort du cadre
			if(numPortion>8){
				position=8;
			}
			if(numPortion<0){
				position=0;
			}

			if(largeur > 1024){
				BgAnim(hauteur, position); //lance l'effet de survol
			}
		});
		
		
		//Au click sur un call2action
		$('#callto1').click(function(e){
			if(largeur > 1024){
				e.preventDefault();
				//chemin ='tpl_actu_fiche.html';
				chemin ='index.php?id=2';
				$("body").unbind('mousemove');
				Entrer(chemin, numPortion, hauteur);
			}
		});

		$('#callto2').click(function(e){
			if(largeur > 1024){
				e.preventDefault();
				//chemin ='tpl_contact.html';
				chemin ='index.php?id=30';
				$("body").unbind('mousemove');
				Entrer(chemin, numPortion, hauteur);
			}
		});
		
	
	
});

$(window).resize(function(){
	portion = 0;
	numPortion = 0;
	chemin = "";
	position = 0;
	entrer2 = null;
	largeur = $('#wrapperbg').width();

	Initwrap();

	if(largeur > 1024){
		BgAnim(hauteur, position); //lance l'effet de survol
	}

});


Si quelqu'un à une idée d'où peut venir ce bug bizarre qui n'apparaît pas sur les autres navigateurs, merci de répondre au plus vite, c'est pour un projet de cours, (oral vendredi). Smiley decu Smiley decu Smiley decu