IMAGE SUIVANT LA SOURIS ET ESCAMOTABLE PAR UN DOUBLE CLICK

coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 - 1 juin 2005 à 17:12
dj_stank Messages postés 2 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 16 février 2007 - 16 févr. 2007 à 23:46
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/31733-image-suivant-la-souris-et-escamotable-par-un-double-click

dj_stank Messages postés 2 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 16 février 2007
16 févr. 2007 à 23:46
Salut peter,
Désolé pour le retard de ma réponse :), j'avais perdu le pass de mon compte !
Juste pour te remercier ! Ca marche niquel ! Bravo et merci à toi !
cs_peter1789 Messages postés 35 Date d'inscription mercredi 19 janvier 2005 Statut Membre Dernière intervention 22 mai 2006
8 oct. 2005 à 14:42
salut DJ_STANK,
Pour masquer l'image au chargement de la page, remplace la ligne :




par :
ifebo Messages postés 181 Date d'inscription jeudi 10 mars 2005 Statut Membre Dernière intervention 28 décembre 2006
1 oct. 2005 à 08:36
Messieurs, c'est un vrai régal de vous lire, même si je ne comprends pas tout. Merci et bonne continuation.
dj_stank Messages postés 2 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 16 février 2007
2 sept. 2005 à 04:52
Bonsoir,

Je trouve ce petit script vraiment tres interessant, cependant sauriez vous comment masqué l'image au chargement de la page au lieu qu'elle ne s'affiche par default?

Merci d'avance pour vos reponses

@+
cs_peter1789 Messages postés 35 Date d'inscription mercredi 19 janvier 2005 Statut Membre Dernière intervention 22 mai 2006
5 juin 2005 à 13:28
Merci encore pour l'idée et ma découverte de la propriété css display ;) Je te dois toutes les modifications :) !
@ bientôt
Gorrk Messages postés 96 Date d'inscription mercredi 16 avril 2003 Statut Membre Dernière intervention 26 avril 2007
4 juin 2005 à 14:41
Bon, c'est déjà mieux, ça fonctionne bien sous Firefox, mais je me permet quand même de faire encore quelques petites remarques : tout d'abord, dans la fonction move, tu mentionne l'utilisation de with, mais tu ne l'utilise pas, ensuite, je ne suis pas sur que les commentaires placés au milieu du code en simplifie la lecture pour les néophytes (clin d'?il à LocalStone :)), et enfin, ce n'est pas la peine de mettre window.event à chaque fois, event suffit.

Bon, c'est un peu près tout pour la fonction move, atttaquons nous maintenant à la foncion change : la variable i n'a ici aucune utilité et le risque c'est de modifier sa valeur dans un autre script, voici une meilleur solution dans laquelle je remplace l'attribut visibility par display qui me parait un peu mieux, je te laisse regarder sur le net la différence.

function change()
{
with (document.getElementById("curseur").style)
display display "none" ? "" : "none";
}
Gorrk Messages postés 96 Date d'inscription mercredi 16 avril 2003 Statut Membre Dernière intervention 26 avril 2007
4 juin 2005 à 14:22
Au fait, si tu pouvais mettre un petit zip de ta source, ce serait pas mal, parce qu'avec la nouvelle version de code source, le copier-coller du code affiche les numéros des lignes qu'il faut enlever un par un pour tester le code, donc si tu pouvais faire ca, merci.
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
4 juin 2005 à 11:23
oh, autant pour moi, pardonnez mon ignorence...
cs_peter1789 Messages postés 35 Date d'inscription mercredi 19 janvier 2005 Statut Membre Dernière intervention 22 mai 2006
3 juin 2005 à 20:02
bon j'ai changé tout mon script et j'ai enlevé l'ancien code !
@+
peter1789
cs_peter1789 Messages postés 35 Date d'inscription mercredi 19 janvier 2005 Statut Membre Dernière intervention 22 mai 2006
3 juin 2005 à 18:40
En fait j'ai changé d'avis je vais corriger le script et laisser le premier en commentaire !

peter1789
Gorrk Messages postés 96 Date d'inscription mercredi 16 avril 2003 Statut Membre Dernière intervention 26 avril 2007
3 juin 2005 à 18:24
Je t'en pris, tout le plaisir a été pour moi, si je puis encore t'être utile, n'hésites pas...
cs_peter1789 Messages postés 35 Date d'inscription mercredi 19 janvier 2005 Statut Membre Dernière intervention 22 mai 2006
3 juin 2005 à 18:06
Salut Gorrk !

Merci pour ce que tu m'as appris sur with -dont je suis tout de suite allé voir la signification sur SelfHTML- et aussi pour la manière de vérifier si le navigateur est compatible avec l'objet event ! Je mettrai ce code en commentaire à la fin de mon code original que je vais laisser pour qu'il reste accessible à tous le monde... ;)
Merci encore !
Amicalement, peter1789
Gorrk Messages postés 96 Date d'inscription mercredi 16 avril 2003 Statut Membre Dernière intervention 26 avril 2007
1 juin 2005 à 21:49
Bon, assez papoté de tout et de n'importe quoi, je m'en vais commenter ce script : che moi, ca ne fonctionne pas, ce doit être du a quelques erreurs telle que la gestion des événements sur le modèle Netscape. Je ne vais pas faire un cours ici, mais dans le modèle Netscape les évènements se passent en paramètres de fonction, exemple :

function move(E)
{
if (window.event)
{
document.getElementById("curseur").style.left = event.clientX;
document.getElementById("curseur").style.top = event.clientY
}
else
{
document.getElementById("curseur").style.left = E.pageX;
document.getElementById("curseur").style.top = E.pageY;
}
}

Ou encore mieux, on condense la fonction :

function move(E)
{
with (document.getElementById("curseur").style)
{
left = window.event ? event.clientX : E.pageX;
top = window.event ? event.clientY : E.pageY;
}
}

C'est quand même plus propre et léger non, et en plus, question compatibilité c'est bien mieux.
Gorrk Messages postés 96 Date d'inscription mercredi 16 avril 2003 Statut Membre Dernière intervention 26 avril 2007
1 juin 2005 à 20:52
Si si, pour vérification, il te suffit de faire alert(window.document) ou même de parcourir toutes les propriétés de window :

for (property in window)
document.writeln("window." + property + " : " +window[property]);

Vérifié sous Windows, Linux, IExplorer et Firefox, je n'ai pas regardé Konqueror.
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
1 juin 2005 à 19:45
ils le font implicitement, mais document n'a pas window pour parent...
Gorrk Messages postés 96 Date d'inscription mercredi 16 avril 2003 Statut Membre Dernière intervention 26 avril 2007
1 juin 2005 à 17:58
Après avoir réaliser un petit test, je reviens pour modérer mes propos au sujet des déclarations de variable.

Voilà le script de test :

var var1 = "variable 1";
var2 = "variable 2";
window.var3 = "variable 3";

document.writeln(window.var1);
document.writeln(window.var2);
document.writeln(window.var3);

for (property in window)
if (window.property.indexOf("var") != -1)
document.writeln("window." + property + " : " +window[property]);

Les résultats sont assez étranges car non seulement il y a une différence de fonctionnement entre Firefox et IExplorer, mais en plus, dans ce dernier il y a une "bizarrerie".

Dans Firefox, les trois variables sont enregistrés comme des propriétés de window, dans IExplorer ,en partie seulment, je m'explique : window.var{i} retourne bien la variable correspondante, comme sous Firefox, mais lors du for...in, impossible de récupérer les propriétés var1 et var2.
Gorrk Messages postés 96 Date d'inscription mercredi 16 avril 2003 Statut Membre Dernière intervention 26 avril 2007
1 juin 2005 à 17:40
Pas du tout, window.document existe parfaitement et c'est exactement pareil que document, car document est une propriété de window et qu'implicitemement, (presque) chaque fois qu'on appelle un objet c'est en réalité window.[objet] qui est retourné.

De même, il me semble que quand on declare une variable sans le mot clef var c'est une propriété qui s'ajoute à l'objet window.
var variable1 = value1; // Création d'une "vraie" variable
variable2 = value2; // Création d'une propriété de l'objet window
window.variable3 = value; // Equivalent à la déclaration précédente
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
1 juin 2005 à 17:12
window.document. n'existe pas, on met soit l'un soit l'autre
Rejoignez-nous