Accueil > Forum > > > > IE8 > drag qui agrandit la zone affichable pourtant en overflow hidden
IE8 > drag qui agrandit la zone affichable pourtant en overflow hidden
dimanche 4 octobre 2009 à 12:21:11 |
IE8 > drag qui agrandit la zone affichable pourtant en overflow hidden

neiimad
|
Bonjour.
Ma zone affichable <body> s'agrandit sous IE8 lorsque je tente de déplacer mon élément hors de celle ci, malgré l'overflow hidden. Je n'ai pourtant pas ce souci sous FF, Opera, IE6, IE7....
Est-ce que quelqu'un pourrait m'aiguiller sur ce point ? (je flanche après des heures de recherche...)
Ci joint, un code exemple simplifié, pour voir ce que ca donne :
Code HTML :
<!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" xml:lang="fr" lang="fr">
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1252" />
<!--<meta http-equiv="x-ua-compatible" content="ie=emulateie7" />-->
<style type="text/css">
html, body { margin: 0; padding: 0; height: 100%; }
html { overflow: hidden; position: absolute; z-index: 0; width: 1000px; max-width: 1000px; border: 1px solid blue; }
body { overflow: hidden; position: relative; z-index: 1; width: 900px; max-width: 900px; border: 1px solid green; }
#bloc { position: absolute; z-index: 2; height: 500px; width: 500px; background: red; }
#testbug { font-family: "trebuchet ms"; background-color: rgb(255, 255, 255); color: #444444; text-decoration: none; word-spacing: normal; text-align: left; letter-spacing: 0pt; line-height: 1.2em; font-size: 5em; }
</style>
<script type="text/javascript">
function addevent(obj, event, fct) {
if (obj.attachevent) { obj.attachevent("on" + event, fct); }
else { obj.addeventlistener(event, fct, true); }
}
var curx = 0;
var cury = 0;
function getpos (e) {
curx = e.clientx;
cury = e.clienty;
if (dragging) { return false; }
}
addevent(document, 'mousemove', getpos);
var elt = '';
var dragging = false;
var draginterval = '';
var decalx = 0;
var decaly = 0;
var nextposx = 0;
var nextposy = 0;
var ondrag = '';
function dragelt (elt) {
if (elt) {
if (!(elt.style.top)) { elt.style.top = 0 +'px'; }
if (!(elt.style.left)) { elt.style.left = 0 +'px'; }
if (!dragging) {
dragging = true;
decalx = curx - parseint(elt.style.left);
decaly = cury - parseint(elt.style.top);
ondrag = function() {
nextposx = curx - decalx;
nextposy = cury - decaly;
if (nextposy <= 0) { nextposy = 0; }
elt.style.left = nextposx + 'px';
elt.style.top = nextposy + 'px';
elt.focus();
};
draginterval = setinterval(ondrag, 10);
}
}
else {
dragging = false;
clearinterval(draginterval);
}
}
</script>
<title>area 404</title>
</head>
<body id="top">
<div id="testbug">testbug</div>
<div id="bloc" onmousedown="dragelt(this); this.style.cursor = 'move';" onmouseup="dragelt(); this.style.cursor= 'auto';">yop</div>
</body>
</html>
|
|
dimanche 4 octobre 2009 à 14:35:51 |
Re : IE8 > drag qui agrandit la zone affichable pourtant en overflow hidden

Bul3
|
Bonjour,
pas été très loin... mais :
decalx = curx - parseInt(elt.style.left);
decaly = cury - parseInt(elt.style.top);
or l'élément n'a pas de style=
( ça plante à ce niveau d'ailleurs ! )
soit utiliser ce qu'il y a dans le class
si class il y a, ou voir du coté de .offset???
ou .client???
sans préjuger du reste
Cordialement [ mon Site] [ M'écrire] Bul 
|
|
dimanche 4 octobre 2009 à 17:57:34 |
Re : IE8 > drag qui agrandit la zone affichable pourtant en overflow hidden

neiimad
|
Excuse moi, mais dans le JS fourni, il y a bien application du style à l'élément, je cite :
Code :
if (!(elt.style.top)) { elt.style.top = 0 +'px'; }
if (!(elt.style.left)) { elt.style.left = 0 +'px'; }
Cela dit, je vais voir du coté de offset ou .client
|
|
dimanche 4 octobre 2009 à 18:05:47 |
Re : IE8 > drag qui agrandit la zone affichable pourtant en overflow hidden

neiimad
|
Aucun changement avec client ou offset...
|
|
dimanche 4 octobre 2009 à 18:23:29 |
Re : IE8 > drag qui agrandit la zone affichable pourtant en overflow hidden

Bul3
|
je ne sais pas si vous avez remarqué,
mais le colorateur syntaxique ( un bug )
transforme tout en minuscules
pas simple de reprendre pour tester !
que corriger qui n'est pas une erreur ?
vous pouvez nous remettre en "brut" ?
j'ai testé en corrigeant la 1ère fois,
et je tombais sur une erreur à ce niveau
peut-être était-ce du à mes corrections ?

|
|
dimanche 4 octobre 2009 à 19:27:45 |
Re : IE8 > drag qui agrandit la zone affichable pourtant en overflow hidden

neiimad
|
Ah, en effet je n'avais pas remarqué que le colorateur syntaxique du site générait un code erroné.
J'ai mis l'URL en ligne sinon, ici : http://area404.free.fr/test/index.html
Mais comme demandé, en brut (si ca passe) :
<!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" xml:lang="fr" lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />
<!--<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />-->
<style type="text/css">
html, body { margin: 0; padding: 0; height: 100%; }
html { overflow: hidden; position: absolute; z-index: 0; width: 1000px; max-width: 1000px; border: 1px solid blue; }
body { overflow: hidden; position: relative; z-index: 1; width: 900px; max-width: 900px; border: 1px solid green; }
#bloc { position: absolute; z-index: 2; height: 500px; width: 500px; background: red; }
#testBug { font-family: "Trebuchet MS"; background-color: rgb(255, 255, 255); color: #444444; text-decoration: none; word-spacing: normal; text-align: left; letter-spacing: 0pt; line-height: 1.2em; font-size: 5em; }
</style>
<script type="text/javascript">
function addEvent(obj, event, fct) {
if (obj.attachEvent) { obj.attachEvent("on" + event, fct); }
else { obj.addEventListener(event, fct, true); }
}
var curX = 0;
var curY = 0;
function getPos (e) {
curX = e.clientX;
curY = e.clientY;
if (dragging) { return false; }
}
addEvent(document, 'mousemove', getPos);
var elt = '';
var dragging = false;
var dragInterval = '';
var decalX = 0;
var decalY = 0;
var nextPosX = 0;
var nextPosY = 0;
var onDrag = '';
function dragElt (elt) {
if (elt) {
if (!dragging) {
dragging = true;
decalX = curX - parseInt(elt.offsetLeft);
decalY = curY - parseInt(elt.offsetTop);
onDrag = function() {
nextPosX = curX - decalX;
nextPosY = curY - decalY;
if (nextPosY <= 0) { nextPosY = 0; }
elt.style.left = nextPosX + 'px';
elt.style.top = nextPosY + 'px';
elt.focus();
};
dragInterval = setInterval(onDrag, 10);
}
}
else {
dragging = false;
clearInterval(dragInterval);
}
}
</script>
<title>Area 404</title>
</head>
<body id="top">
<div id="testBug">testBug</div>
<div id="bloc" onmousedown="dragElt(this); this.style.cursor = 'move';" onmouseup="dragElt(); this.style.cursor= 'auto';">yop</div>
</body>
</html>
|
|
lundi 5 octobre 2009 à 00:01:36 |
Re : IE8 > drag qui agrandit la zone affichable pourtant en overflow hidden

neiimad
|
En fait, c'est le focus sur lélément qui génère ce "bug" sur IE8...........
J'avais mis ce focus pour éviter à FF de sélectionner le texte de mon objet dragué ou du contenu en arrière plan, et je me retrouve en face de ce problème à nouveau...... Si quelqu'un sait comment faire en sorte que FF ne selectionne pas un texte lors d'un drag, ej suis preneur !!
|
|
lundi 5 octobre 2009 à 09:26:11 |
Re : IE8 > drag qui agrandit la zone affichable pourtant en overflow hidden

Bul3
|
je viens de tester avec IE8....
pas de soucis à priroi ????
>>faire en sorte que FF ne selectionne
>>pas un texte lors d'un drag,
ajouter return false;

|
|
lundi 5 octobre 2009 à 09:46:05 |
Re : IE8 > drag qui agrandit la zone affichable pourtant en overflow hidden

neiimad
|
En fait, j'as déjà mis un return false, qui ne fonctionne que sur IE, pas sur FF ;)
|
|
lundi 5 octobre 2009 à 10:03:05 |
Re : IE8 > drag qui agrandit la zone affichable pourtant en overflow hidden

Bul3
|
décidément !?!
pour IE unselectable="on"
et pour Fx return false; dans le onmousedown
j'utilise ça comme ça (?)
<div ...
unselectable="on"
onmousedown="trait(this); return false;">
et tout baigne

|
|
Cette discussion est classée dans : style, var, elt, overflow, if
Répondre à ce message
Sujets en rapport avec ce message
2 menuS deroulants java dans une page [ par DEVLYNE ]
Bonjour!Sachez que je suis uns très grande débutante mais j'ai un petit souci.J'utilise un logiciel gratuit: Coffee Cup DHTML menu pour faire mes menu
Variables PHP dans JS [ par Dyx50 ]
Bonjour,Alors voila depuis 2 jours je me casse la tête à propos de ma question. J'explique mon problème :J'ai un espace membre ou le membre peut ajout
Page de chargement après un formulaire [ par cubitus79 ]
Bonjour, J'ai actuellement des problème pour mettre en place une animation de chargement a la suite de mon formulaire. J'explique mieux: j'ai un for
Pb avec IE [ par Thiman ]
j'ai mis ce script d'info-bulle, trouver sur internet. Il fonctionne parfaitement sur Firefox et Opéra mais problème avec IE. Pourriez-vous me venir e
parser un xml [ par zeitoun69 ]
Bonjour je dois parser un fichier xml et former un tableau a partir des données extraite j'ai réussi a former le tableau mais les données sont celles
repetition code [ par chguignard ]
bonjour, j'ai une page avec un menu. j'aimerai sortir le CSS de la page html ainsi que le detail du menu (les ul et li). comment puis je faire pour q
changer le sens d'un texte qui défile [ par anthony428 ]
Bonjour à tous, je viens de plonger les mains dans un site dont je suis chargé de faire la refonte et je souhaiterais changer le sens du texte qui d
Deux javascripts identique dans une même page [ par guerrilleur ]
Voila je voudrai avoir de fois le même javascript sur ma page. voici mon code actuel: [code=html] --> /***************
JS : Firefox oui, autres navigateurs non... [ par tets88 ]
Bonjour, Je me suis amusé à faire un calendrier. Sous Firefox il fonctionne no problemo amigo. Dès que j'essaye de l'ouvrir avec un autre navigateur
Livres en rapport
|
Derniers Blogs
JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|