begin process at 2012 05 29 07:36:42
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript et le navigateur

 > 

Autre

 > 

comportement de google chrome "TRES ETRANGE"


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

comportement de google chrome "TRES ETRANGE"

jeudi 25 novembre 2010 à 01:25:58 | comportement de google chrome "TRES ETRANGE"

WiDOC

Bonjour,

alors voila j'ai un bug plutôt "hors du commun" je trouve.
en fait c'est peut être même pas un bug mais un fonctionnement de google chrome qui me met par terre tellement je trouve cela "laid".
je m'explique:

je fait actuellement un site web où, sur la page principale, j'ai plusieurs <div> (au nombre de 9 mais qu'importe) qui apparaissent du bord gauche et droit de l'écran pour arriver au centre.
j'ai créer ma propre fonction qui me permet de "slidé" mes <div>.
j'ai donc une méthode générique où je donne les paramètres qui sont: la div en question, la position d'arrivée et de départ de la div....

mon script marche à la perfection sur IE, et firefox quel que soit le zoom.
mais tenez vous bien il ne marche sur google chrome que lorsque le zoom est a 100%.
En effet, si je modifie le zoom sur google chrome, admettons 50% -> alors a chaque itération (a chaque étape de mon déplacement), TOUTES mes positions seront divisés par deux.
et alors la c'est la catastrophe, quand je zoom à 150% c'est pareil ça explose dans tout les sens.

exemple avec le zoom normal
ma div commence à -1500px
je la bouge de +30px -> me voila à -1470px (et je boucle etc etc etc...)

avec le zoom 50%
ma div commence à -750px (1500/2 donc)
je la bouge de 30px -> seulement comme il me divise tout par 2, me voila avec -750/2 + -30/2 = 360 à la fin du calcul.
Bref au lieu de bouger de 30px par 30px ça fait n'importe quoi.

MA QUESTION si vous avez compris mon probleme (:s) y a t'il un moyen de contourner cela ? est-ce normal ? peut on bloquer le zoom ?
j'ai reellement besoin de votre aide sur ce coup, parce que, de la fenetre ouverte du 5eme etage je ne suis point loin !!!!
jeudi 25 novembre 2010 à 20:33:05 | Re : comportement de google chrome "TRES ETRANGE"

PetoleTeam

Membre Club
Bonjour,
tu as un lien à nous proposer, pour voir...

;O)
jeudi 25 novembre 2010 à 20:51:43 | Re : comportement de google chrome "TRES ETRANGE"

WiDOC

malheureusement non ... :(
jeudi 25 novembre 2010 à 21:47:29 | Re : comportement de google chrome "TRES ETRANGE"

PetoleTeam

Membre Club
alors un morceau de code pour test, pas 3000 lignes quand même...

;O)
lundi 29 novembre 2010 à 22:20:29 | Re : comportement de google chrome "TRES ETRANGE"

WiDOC

salut,

désolé pour la réponse tardive mais je n'étais pas chez moi ces derniers jours.

alors voila le principe est simple
selon la direction j'ajoute ou enleve des pixel a la marge-left.
puis à partir d'une certaine distance d'arrivé (posA) je diminue ma vitesse.
ça a peut etre l'air un peu "brut" mais ceci est la première version de mon code pour test mes animation.
je reprécise que ce code marche parfaitement sur mozilla et IE et ceci qu'importe le zoom.

merci de votre patience :)


function showAccueil(){
var end = true;
if (!moveDiv($("#app1"), getLeft($("#app1")), 0, true )) end=false;
if (!moveDiv($("#app2"), getLeft($("#app2")), 350, true )) end=false;
if (!moveDiv($("#app3"), getLeft($("#app3")), 700, false)) end=false;
if (!moveDiv($("#app4"), getLeft($("#app4")), 0, true )) end=false;
if (!moveDiv($("#app5"), getLeft($("#app5")), 350, false)) end=false;
if (!moveDiv($("#app6"), getLeft($("#app6")), 700, false)) end=false;
if (!moveDiv($("#app7"), getLeft($("#app7")), 0, true )) end=false;
if (!moveDiv($("#app8"), getLeft($("#app8")), 350, false)) end=false;
if (!moveDiv($("#app9"), getLeft($("#app9")), 700, false)) end=false;

if (!end)
window.setTimeout("showAccueil()",10);
else {
$("body").css("overflow", "visible");
}
}

function moveDiv(div, posD, posA, dir, test){

//if dir = true move left else move right
if (dir == true){

if (test == true){

}

if (posD <= posA-200){
posD += 50;
if (test == true){

}
}
else if ((posD > posA-200) && (posD <= posA-50)){
posD += 15;
if (test == true){

}
}
else if (posD > posA-50) {
posD += 5;
if (test == true){

}
}
if (posD >= posA-2){
posD = posA;
if (test == true){

}
}
div.css("left", posD+"px");

if (test == true){

}

}
else{
if (posD >= posA+200){
posD -= 50;
}
else if ((posD < posA+200) && (posD >= posA+50)){
posD -= 15;
}
else if (posD < posA+50) {
posD -= 3;
}
if (posD <= posA+2){
posD = posA;
}
div.css("left", posD+"px");
}
if (posD == posA) return true;
else return false;
}

lundi 29 novembre 2010 à 22:24:33 | Re : comportement de google chrome "TRES ETRANGE"

WiDOC

m**** j'ai oublié d'enlever les deux "if (test == true ) {}"
que j'utilisai pour affiché certaine position
(ne pas les prendre en compte dans le code)
mercredi 1 décembre 2010 à 16:52:51 | Re : comportement de google chrome "TRES ETRANGE"

PetoleTeam

Membre Club
Bonjour,
tu n'aurais pas l'essentiel du code HTML et les infos sur les biblis incluses, pour faire un test en vrai grandeur sans tout avoir à deviner.

;O)
vendredi 3 décembre 2010 à 13:50:09 | Re : comportement de google chrome "TRES ETRANGE"

WiDOC

ok désolé, j'envoi la totalité du code index.php sans les includes sans rien histoire de tout avoir au meme endroit : un copier collé devrai suffire.
j'envoi le css avec.

désolé si ça fait un peu long

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>xxxxxxx</title>
<meta name="keywords" content="xxxxxx" />
<meta name="description" content="xxxxxxx" />
<meta name="author" content="xxxxxxxxx" />
<link rel="icon" type="image/png" href="images/logo/favicon.png" />
<link href="css/designSEGMA.css" rel="stylesheet" type="text/css" />
</head>
<body>
<script type="text/javascript" src="jQuery/jquery-1.4.4.js"></script>

<div id="entete">
<p>
www.<strong>je-segma</strong>.fr
<img src="images/symbole/puce.png" alt="images/symbole/error.png" />
<strong>La Junior-Entreprise de l'ESC Clermont</strong>
</p>
</div>
<div id="bg_menu1">
<div id="bg_menu2">
<div id="menu">
<ul id="menuDeroulant">
<li><a href="index.php">ACCUEIL</a>
</li>
<li><a href="#">ACTUALITES</a>
</li>
<li><a href="#">PRESENTATION</a>
<ul class="sousMenu">
<li><a href="">GROUPE ESC CLERMONT</a></li>
<li><a href="">JUNIOR-ENTREPRISE</a></li>
<li><a href="">VALEURS</a></li>
<li><a href="">EQUIPE</a></li>
<li><a href="">CHIFFRES CLES</a></li>
</ul>
</li>
<li><a href="#">SERVICES</a>
<ul class="sousMenu">
<li><a href="">NOS COMPETENCES</a></li>
<li><a href="">NOS POLES</a></li>
<li><a href="">LES DIFFERENTES ETAPES</a></li>
</ul>
</li>
<li><a href="#">REFERENCES</a>
</li>
<li id="last_item"><a href="#">CONTACT</a>
</li>
</ul>
</div>
</div>
</div>
<div id="ligne_menu1"></div>
<div id="content">
<div class="app" id="app1"></div>
<div class="app" id="app2"></div>
<div class="app" id="app3"></div>
<div class="app" id="app4"></div>
<div class="app" id="app5"></div>
<div class="app" id="app6"></div>
<div class="app" id="app7"></div>
<div class="app" id="app8"></div>
<div class="app" id="app9"></div>
</div>
<div id="ligne_footer1"></div>
<div id="ligne_footer2"></div>
<div id="ligne_footer3"></div>
<div id="footer">

</div>

<script type="text/javascript">
(document).ready(startApp());

function startApp(){
$("body").css("overflow", "hidden");

var a = $("#app1");
a.css("left", "-2000px");
a.css("visibility", "visible");

a = $("#app2");
a.css("left", "-1500px");
a.css("visibility", "visible");

a = $('#app3');
a.css("left", "2700px");
a.css("visibility", "visible");

a = $('#app4');
a.css("left", "-1800px");
a.css("visibility", "visible");

a = $('#app5');
a.css("left", "1600px");
a.css("visibility", "visible");

a = $('#app6');
a.css("left", "2340px");
a.css("visibility", "visible");

a = $('#app7');
a.css("left", "-2400px");
a.css("visibility", "visible");

a = $('#app8');
a.css("left", "2000px");
a.css("visibility", "visible");

a = $('#app9');
a.css("left", "2450px");
a.css("visibility", "visible");

showAccueil();
}

function getLeft(div){
var d = $(div);
return parseInt(d.css("left"));
}

function showAccueil(){
var end = true;
if (!moveDiv($("#app1"), getLeft($("#app1")), 0, true )) end=false;
if (!moveDiv($("#app2"), getLeft($("#app2")), 350, true )) end=false;
if (!moveDiv($("#app3"), getLeft($("#app3")), 700, false)) end=false;
if (!moveDiv($("#app4"), getLeft($("#app4")), 0, true )) end=false;
if (!moveDiv($("#app5"), getLeft($("#app5")), 350, false)) end=false;
if (!moveDiv($("#app6"), getLeft($("#app6")), 700, false)) end=false;
if (!moveDiv($("#app7"), getLeft($("#app7")), 0, true )) end=false;
if (!moveDiv($("#app8"), getLeft($("#app8")), 350, false)) end=false;
if (!moveDiv($("#app9"), getLeft($("#app9")), 700, false)) end=false;
if (!end)
window.setTimeout("showAccueil()",10);
else {
$("body").css("overflow", "visible");
}
}

function moveDiv(div, posD, posA, dir){

//if dir = true move left else move right
if (dir == true){

if (posD <= posA-200){
posD += 50;
}
else if ((posD > posA-200) && (posD <= posA-50)){
posD += 15;
}
else if (posD > posA-50) {
posD += 5;
}
if (posD >= posA-2){
posD = posA;
}
div.css("left", posD+"px");

}
else{
if (posD >= posA+200){
posD -= 50;
}
else if ((posD < posA+200) && (posD >= posA+50)){
posD -= 15;
}
else if (posD < posA+50) {
posD -= 3;
}
if (posD <= posA+2){
posD = posA;
}
div.css("left", posD+"px");
}
if (posD == posA) return true;
else return false;
}
</script>

</body>
</html>


----------------------------------------------------------------

/*
Document : cssDesign
Created on : 15 nov. 2010, 16:51:20
Author : Clément
Description:
Purpose of the stylesheet follows.
*/

/*
TODO customize this sample style
Syntax recommendation http://www.w3.org/TR/REC-CSS2/

base resolution: 1360x768
*/

/*
root {
display: block;
}
*/
* {margin:0;padding:0;}

body {
margin: 0px;
max-height: 1100px;
}

#content {
width:1000px;
height: 820px;
/*background-color: gray;*/
margin: auto;
padding-top: 50px;
}

#entete {
height: 15px;
padding-left: 10px;
background-color: gray;
}

#entete p {
margin: 0px;
color:white;
font-size: 12px;
font-family: Arial;
width: 400px;
}

#bg_menu1 {
width: 100%;
margin: auto;
background-image: url("../images/design/bg_menu.png");
background-repeat:repeat-x;
}

#bg_menu2 {
width: 1000px;
margin: auto;
}


#menu {
font-family: "Arial Narrow", Arial, "MS Sans Serif";
font-size: 14px;
width: 100%;
}

#menu, #menu ul {
padding: 0px;
margin: 0px;
list-style: none;
text-align: center;
height: 30px;
}

#menu ul {
padding-top: 8px;
margin: 0px;
}

#menu a {
/*background-color: transparent;*/
color: #fff;
text-decoration: none;
width: 144px;
padding: 8px 40px 5px 40px;
margin-left: 6px;
margin-right: -5px;
}

#menu a:hover {
background-image: url("../images/design/bg_menu_hover.png");
background-repeat: repeat-x;
}

#menu li {
display: inline;
text-decoration: none;
border-right: 1px solid #c3bcbc;
height: 30px;
margin: 0px 0px 0px -5px;
padding-right: 2px;
}

#menu li ul {
position: absolute;
width: 144px;
display: none;
}

#menu li ul li {
margin: 0px;
padding: 0px;
border-top: 1px solid #000;
}

#menu li ul ul {
margin: 0px;
padding: 0px;
}

#last_item {
border: none !important;
}

#ligne_menu1 {
margin-top: 1px;
height: 2px;
background-color: #d40000;
}

.app {
width: 300px;
height: 225px;
border: 1px solid #dcdcdc;
/*margin-left: 23px;
margin-top: 25px;*/
position: relative;
float : left;
margin-bottom: 50px;
}

#app1 {
background-color: gray;
visibility: hidden;
}

#app2 {
background-color: gray;
left: 350px;
}

#app3 {
background-color: gray;
left: 700px;
}

#app4 {
background-color: gray;
}

#app5 {
background-color: gray;
left: 50px;
}

#app6 {
background-color: gray;
left: 700px;
}

#app7 {
background-color: gray;
}

#app8 {
background-color: gray;
left: 50px;
}

#app9 {
background-color: gray;
left: 700px;
}

#ligne_footer1 {
height: 1px;
margin-bottom: 4px;
background-color:#948e8e;
}

#ligne_footer2 {
height: 2px;
margin-bottom: 2px;
background-color:#827b7b;
}

#ligne_footer3 {
height: 4px;
margin-bottom: 1px;
background-color:#6d6767;
}

#footer {
width: 100%;
margin: auto;
/*height:1080px;*/
height: 130px;
background-color:#4b4040;
}


samedi 4 décembre 2010 à 11:17:49 | Re : comportement de google chrome "TRES ETRANGE"

PetoleTeam

Membre Club
Bonjour,
juste à la lecture du code, il semble qu'il manque $ sur cette ligne
Code Javascript :
(document).ready(startApp());

j'ai bien observé une différence sur Chrome, mais il semble que cela soit plutôt l'utilisation de la bibli qui soit en cause, et notammment la fonction getLeft(div)

as tu essayé avec les effets de la bibli, notamment animate, voir http://api.jquery.com/animate/

Si tu utilises jQuery uniquement pour les animation alors PASSES toi en !!!!

Le code qui ne pose pas de problème !!
création d'un fonction minimaliste
Code Javascript :
//------------------
function $left( id_){
  var oDiv = document.getElementById( id_);
  return( parseInt( oDiv.style.left));
}

puis modif de la sorte la fonction showAcceuil
Code Javascript :
function showAccueil() {
  //var end = true;
  var iCount = 0;
  if (!moveDiv($("#app1"), $left("app1"),   0, true))  iCount++;//end = false;
  if (!moveDiv($("#app2"), $left("app2"), 350, true))  iCount++;//end = false;  
  if (!moveDiv($("#app3"), $left("app3"), 700, false)) iCount++;//end = false;
  if (!moveDiv($("#app4"), $left("app4"),   0, true))  iCount++;//end = false;
  if (!moveDiv($("#app5"), $left("app5"), 350, false)) iCount++;//end = false;
  if (!moveDiv($("#app6"), $left("app6"), 700, false)) iCount++;//end = false;
  if (!moveDiv($("#app7"), $left("app7"),   0, true))  iCount++;//end = false;
  if (!moveDiv($("#app8"), $left("app8"), 350, false)) iCount++;//end = false;
  if (!moveDiv($("#app9"), $left("app9"), 700, false)) iCount++;//end = false;
  //if (!end)
  if( iCount > 0)
    window.setTimeout("showAccueil()", 10);
  else {
    $("body").css("overflow", "visible");
  }
}
l'intégration de iCount est pour ne pas dépendre uniquement de l'état de déplacement de la DIV #9
;O)
mardi 7 décembre 2010 à 18:44:55 | Re : comportement de google chrome "TRES ETRANGE"

WiDOC

oh man, t'es un DIEU. j'ai appliquer tes modifications et ça marche à la perfection.
je te remercie énormément je doit avouer que ma pratique du Javascript ne se résume qu'à ma faible expérience.

Si tu pouvais répondre à ces questions ça serai génial afin d'améliorer ma compréhension.
- Pourquoi proscrire jQuery si ce n'est que pour les animations ?
- peut tu me décrire un peu plus en détail pourquoi c'était la biblio qui ne marchait pas ? (j'avoue ne pas trop comprendre)

encore merci

1 2

Cette discussion est classée dans : zoom, google, div, 30px, chrome


Répondre à ce message

Sujets en rapport avec ce message

Fonction avec boucle for qui ne marche pas [ par toons43 ] Bonjour à tous,J'ai un souci avec une fonction que j'ai crée, c'est une fonction qui me permet de zoomer des thumbnails (6 en tout) en changeant le co script pour zoom (comme google maps) [ par Rose6 ] salut, je repose ma question car je n'ai obtenu aucune réponse satisfaisante... connaissez vous un script pour zoomer et se déplacer sur une image ( Jquery et compatibilité Google Chrome [ par saimonesays ] Salut à tous, je suis nouveau sur ce forum, qui a l'air d'ailleurs très riche d'informations, j'essaierai de contribuer à ma façon.J'ai actuellement u Zoom sur photo qui remplace un div [ par toons43 ] Bonjour à tous,Je cherche un script ou un debut de code pour faire un zoom sur image.Le zoom doit s'effectuer par dessus le texte de mon site.Mais rie drag n drop d'image [ par crasse ] bonsoir !Je suis en train d'essayer de realiser une interface simple de drag n drop d'image mais je n'y parviens pas completement...pour commencer, je dupliquer le contenu d'une div (faire papier peint) [ par crasse ] bonsoir !je voudrais savoir si il est possible sans faire du copier coller brutale de dupliquer le contenu d'une div horizontalement et verticalement div " faux pop up" [ par sand01 ] Bonjour,j'ai une image intégrée dans un div.je souhaite créer un lien dessus ( par clic) qui fait apparaitre une nouvelle image par dessusTout ceci en extraire donnée d'un fichier XML et Google AJAX APIs [ par zamubudio ] Hello, Je debute en prog HTML et j'essaye d'afficher les données contenues dans un fichier XML, en utilisant les fonctions déja creer par Google AJAX Question sur les Frames et DIV [ par Lobb88 ] <link rel="Fi Utilisation du javascript sur des DIV [ par sebastiengoret ] Bonjour a tous,Voila je cherche un moyen de modifier le bgcolor de mon Div, mais cela ne veut pas fonctionner. Je cherche une solution mais aucune n'e


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,484 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales