En tête de page html : !DOCTYPE etc.. fait buguer un script. Pourquoi ?

tigre19 Messages postés 5 Date d'inscription jeudi 1 mars 2007 Statut Membre Dernière intervention 26 janvier 2010 - 3 déc. 2009 à 02:51
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 - 5 déc. 2009 à 13:03
Bonjour, un petit script d'image suivant le curseur marche s'il n'y a pas d'en-tête !DOCTYPE mais ne marche plus dès que je la mets. Pourquoi ?
________________________________________________________
SCRIPT QUI FONCTIONNE

<html>
<head>
<script>function suivrecurseur(){
document.getElementById('suivre').style.left=event.x - 39 ; document.getElementById('suivre').style.top=event.y + 1 ;
}
</script>
</head>



</html>
________________________________________________________
SCRIPT QUI NE FONCTIONNE PLUS AVEC L'EN-TETE

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html <html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script>function suivrecurseur(){
document.getElementById('suivre').style.left=event.x - 39 ; document.getElementById('suivre').style.top=event.y + 1 ;
}
</script>
</head>



</html>
________________________________________________________
A l'inverse un script tout fait que je viens de télécharger sur codes-sources ne marche parfaitement que s'il y a cette en-tête.

Donc que dois-je modifier dans mon mini script pour qu'il marche avec-l'en tête ?
Merci pour vos réponses

9 réponses

Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
3 déc. 2009 à 10:33
Bonjour,

ce script, déjà, ne doit fonctionner qu'avec IE,
les autres navigateurs ne vont pas trop aimer

en mettant le doctype, il faut respecter les
"normes" pour le style.left, top, height, width :
erreur qu'IE ignore sans le doctype
...style= "top:20 px ;left:5cm; ou autre unité...."

pour vous donc :
...style.left =(event.x-39)+"px"; 
...style.top=(event.y+1)+"px"; 

Cordialement [mon Site] [M'écrire] Bul
0
tigre19 Messages postés 5 Date d'inscription jeudi 1 mars 2007 Statut Membre Dernière intervention 26 janvier 2010
3 déc. 2009 à 19:03
Merci pour votre réponse. J'ai corrigé et maintenant il fonctionne avec doctype (de façon moins fluide néamnmoins, mais je ne sais pas pourquoi).
En fait sans doctype il marchait bien sur IE mais aussi sur Google Chrome. Mais je ne l'avais pas testé sur Netscape par exemple.

Je me débrouille en PHP, mais en JavaScript je débute.
Serait-ce abuser de vous demander de me corriger ce script, pratique, qui permet de déplacer une image.

J'ai repéré les 4 lignes style.left ou top mais ne sait comment les modifier.

_______________________________________________
var ns6=document.getElementById&&!document.all
var dragapproved=false
var z,x,y

function move(e){
if (dragapproved){
z.style.left=ns6? temp1+e.clientX-x: temp1+event.clientX-x
z.style.top=ns6? temp2+e.clientY-y : temp2+event.clientY-y
return false
}
}

function drags(e){
if (!ie&&!ns6)
return
var firedobj=ns6? e.target : event.srcElement
var topelement=ns6? "HTML" : "BODY"

while (firedobj.tagName!=topelement&&firedobj.className!="deplacer"){
firedobj=ns6? firedobj.parentNode : firedobj.parentElement
}

if (firedobj.className=="deplacer"){
dragapproved=true
z=firedobj
temp1=parseInt(z.style.left+0)
temp2=parseInt(z.style.top+0)
x=ns6? e.clientX: event.clientX
y=ns6? e.clientY: event.clientY
document.onmousemove=move
return false
}
}

document.onmousedown=drags
document.onmouseup=new Function("dragapproved=false")
_______________________________________________

Dans la page HTML, après insertion, il est utilisé avec class.



Merci d'avance,
J'espère que j'aurai aussi l'occasion de rendre service.
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
4 déc. 2009 à 10:57
plutôt que corriger je vous donnerais l'adresse
d'un script qui fait, dès que mon site est
accessible ( la belle alice, enfin free a
quelques soucis ? ) car pas mis cet exemple
sur CodesSources
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
4 déc. 2009 à 15:26
free/alice/chez... réparé....
Déplacer Un Objet :
ici pour tester
ici pour télécharger
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
tigre19 Messages postés 5 Date d'inscription jeudi 1 mars 2007 Statut Membre Dernière intervention 26 janvier 2010
4 déc. 2009 à 19:43
J'ai téléchargé le script. Très pratique. Juste, quand on relache le bouton droit le menu contextuel apparait chaque fois. C'est le seul inconvénient. (sur IE 8 et Google Chrome 3). Merci
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
5 déc. 2009 à 10:01
>>le menu contextuel apparait
le votre ! car dans mon ch'tiot script : y'en a pas
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
5 déc. 2009 à 10:43
ah... peut-être pas d'ailleurs !?!???
en fait il faut cliquer avec le bouton
gauche de la souris, le bouton droit
fait la même chose sauf que le menu
contextuel est affcihé, ce qui est
normal, c'est le but du bouton droit
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
5 déc. 2009 à 10:48
je suis un peu dyslexique ;o) des mains,
ma dame me dit toujours que j'ai 2 mains gauches...
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
5 déc. 2009 à 13:03
mais vous savez ce qu'est un ambidextre...
un mec maladroit de la main gauche
et gauche de la main droite...
0
Rejoignez-nous