Div bougeable en fonction du scroll... problème le navigateur panique... Script
cs_MeTh
Messages postés22Date d'inscriptionlundi 20 janvier 2003StatutMembreDernière intervention14 janvier 2005
-
28 mai 2004 à 11:16
Zenor
Messages postés2Date d'inscriptionvendredi 12 mars 2004StatutMembreDernière intervention29 mai 2006
-
26 mai 2005 à 14:08
Bonjour,
J'essai de réalisé un script qui déplace les div verticalement ou horizontalement en fonction du scroll de la fenetre pour que les div reste tjrs visible....
tous marche plus au moins normalement les div bouge en fonction du scroll
Mais si on commence à faire paniquer le scroll... mouvement répété rapide haut bas droite gauche de la barre de défilement... et même un tout ptit peu faut pas grand chose
la charge du CPU s'emballe 100% le script doit tourné en boucle et bien sur le navigateur ne répond plus... et bonjours CTRL ALT DELETE
je n'arrive pas à trouver pkoi je suis sur que c'est du à mes setIntervall mais j'arrive pas à trouvé quand est ce qu'il s'emballe...
Merci de toute réponse...
-->
</style>
<SCRIPT LANGUAGE="javascript1.2" SRC="LibV1.js"></SCRIPT>
<script language="javascript">
<!--
var timecheckscroll = 800; // intérval de temps ou on check le changement de position de la scroll
var timeintmoving = 300; // intérval de temps ou l'on effectue un déplacement de la div position par position
var intervalscroll = setInterval("checkscroll()",timecheckscroll);
function checkscroll(){
//alert("check");
pagesize = document.body.clientHeight;
//DECLARATION DES DIV
divheading = heading.style;
divfooter = footer.style;
// VALEUR DES SCROLL TOP ET LEFTvar topScroll document.body.scrollTop + 5; // 5 valeur de la marge supérieur au dessus de heading
var leftScroll = document.body.scrollLeft;
// VALEUR DES POSITIONS TOP ET LEFT DES DIV HEADING ET PAGGING
var topHeading = getTop(heading);
var topFooter = getTop(footer);
var leftFooter = getLeft(footer);
// VERIFI SI LA SCROLL A BOUGE PAR RAPPORT A LA POSITION DE LA DIV HEADING axe vertical
if(topHeading != topScroll){
//alert("moververti");
// SI OUI LES DIV SONT DEPLACER axe vertical
window.clearInterval(intervalscroll);
intervalmovingvertic = setInterval("movevertic()",timeintmoving);
//movevertic();
}
// VERIFI SI LA SCROLL A BOUGE PAR RAPPORT A LA POSITION DE LA DIV HEADING axe horizontal
if(leftFooter != (leftScroll + 5)){
// SI OUI LES DIV SONT DEPLACER axe horizontal
window.clearInterval(intervalscroll);
intervalmovinghorizon = setInterval("movehorizon()",timeintmoving);
}
}
// FONCTION BOUGE à LA VERTICAL LES DIV
function movevertic(){
//DECLARATION DES DIV
divheading = heading.style;
divfooter = footer.style;
// VALEUR DES SCROLL TOP ET LEFTvar topScroll document.body.scrollTop + 5; // 5 valeur de la marge supérieur au dessus de heading
var leftScroll = document.body.scrollLeft;
// VALEUR DES POSITIONS TOP ET LEFT DES DIV HEADING ET PAGGING
var topHeading = getTop(heading);
var topFooter = getTop(footer);
var leftFooter = getLeft(footer);
// FONCTION BOUGE à L'HORIZONTAL LES DIV
function movehorizon(){
//DECLARATION DES DIV
divheading = heading.style;
divfooter = footer.style;
// VALEUR DES SCROLL TOP ET LEFTvar topScroll document.body.scrollTop + 5; // 5 valeur de la marge supérieur au dessus de heading
var leftScroll = document.body.scrollLeft;
// VALEUR DES POSITIONS TOP ET LEFT DES DIV HEADING ET PAGGING
var topHeading = getTop(heading);
var topFooter = getTop(footer);
var leftFooter = getLeft(footer);
ne pas utiliser de div scrollable mais
plustot la fenetre mettre en place des menu qui se déplacerons en vertical et
en horizontal selon le scrollLeft de l'utilisateur voir testscroll.php pour
plus de source mettre en place une entete pour le tablo qui se déplace en vertical
mais pas en horizontal pour toujours gardé l'alignement par rapport au tablo