Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

DÉFILEMENT PANORAMIQUE À VITESSE VARIABLE GÉRÉE PAS LES MOUVEMENTS DE LA SOURIS


Information sur la source

Catégorie :Graphique Niveau : Débutant Date de création : 12/01/2005 Date de mise à jour : 13/01/2005 08:55:28 Vu / téléchargé: 7 295 / 1 806

Note :
8,33 / 10 - par 3 personnes
8,33 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (14)
Ajouter un commentaire et/ou une note

Description

Il permet de faire défiler une zone de votre page HTML, sur le modèle de la fonction "bouton du milieu" : la vitesse de déplacement dépend de la distance au centre de la fenêtre.
 

Conclusion

Ce script fonctionne correctement sous Firefox 1.0, et seul un problème de style demeure sous IE.
Vous trouverez une documentation plus fournie dans le zip ci-joint, qui vous permettra d'utiliser ce script selon vos désirs.
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

13 janvier 2005 08:50:41 :
13 janvier 2005 08:55:28 :

Commentaires et avis

signaler à un administrateur
Commentaire de fg85 le 13/01/2005 17:26:55

Yaouuu , vraiment bien (je parle de ton MINI-tutos),sinon ben disons que si tu ralentissait ta fonction de déplacement ça sera cool sinon ça fait un peu E.T .

A par ça, inclut la gestion du clavier c'est toujours intérressant pour se type de script .

Cordialement
-------------------
http://fg.logiciel.free.fr

signaler à un administrateur
Commentaire de Ricou47 le 13/01/2005 21:32:53

La vitesse de déplacement est modifiable, il ne tient qu'à toi de l'adapter à tes goûts.
Sinon merci pour ton idée de gestion  du clavier, ce sera pour une prochaine version ;o)

signaler à un administrateur
Commentaire de la_pin le 14/01/2005 12:30:36

et en plus, ça marche encore mieux avec mozilla ! vraiment pas mal comme source :-)

signaler à un administrateur
Commentaire de jimmy69 le 17/01/2005 17:14:08

salut salut,

C'est vraiment sympa comme script ....! Et fournit avec un tuto en pdf que demander de plus ...

Bonne continuation...

Christophe
Un bouillonnais

signaler à un administrateur
Commentaire de tguerlus le 18/01/2005 16:11:22

Très bonne idée, j'y travaillez justement. J'aurai donc une remarque à te faire.
Comment faire pour reproduire l'effet plusieurs fois dans une même page?
Tu n'est pas le seul, sur ce site, à faire la même approche. Mais il faut d'avantage penser au objets. Javascript permet la programmation objet. Cela évite les collisions de nom de variable et permet justement de reproduire un effet plusieurs fois dans une même page.

Si tu veux t'inspirer de ma solution la voici:
http://www.javascriptfr.com/code.aspx?ID=28586

signaler à un administrateur
Commentaire de trabi11fr le 08/05/2005 11:26:04

Très bien ce script!
Juste un petit détail: il faut aussi indiquer une largeur pour la staticZone, sinon elle dépasse de l'écran.
Ensuite ne rajoutant une balise <div align="center">, on peut la centrer dans la page.

signaler à un administrateur
Commentaire de dVSClem le 29/09/2005 19:19:39

Tres bien mais comment faire la même chose de façon horizontale ?

signaler à un administrateur
Commentaire de fredmac le 23/07/2007 16:53:24

bonjour
j'essai de modifier ce code pour le rendre opérationnel à la verticale... mais sans grand résultat.

quelq'un pourrait-il me donner des indications sur les modifications à réaliser ?
J'ai pour le moment décommenté le déplacement vertical et comcommitament, commenté le déplacement horizontal.

j'ai également modifié la variable middle originelle en
var middle=Math.floor((screen.availHeight)/2);


j'ai modifié le calcul du mouvement en remplaçant les x-middle par des y-middle



/****************************************************************************************

* Fichier : panoramic.js

* Auteur : Ricou47 (www.codes-sources.com)

* Role : permet le défilement d'une zone <div> dans laquelle on peut afficher tout

* type de contenu (texte, liens, images,...) en fonction des mouvements

de la souris

* Version : 1.0

*

/***************************************************************************************/



var middle=Math.floor((screen.availHeight) / 2);

var offsetLeft=0;

var dynamicZone=null;

var pitch=0;

var y=middle;

var trigger=false;



// Valeurs à modifier éventuellement :

var resol=2; // == Résolution du déplacement (doit être >=1)

var hysteresis=100; // == Distance en pixels entre le centre et les frontières

// de la zone morte (zone dans laquelle le curseur ne fait pas déplacer

// la zone dynamique) (doit être >=0)

var timeOffset=50; // == Durée entre deux déplacements en ms (doit être >=0)

var width=200; // == Largeur de l'objet à déplacer en pixels (doit être >=0)



// Calcule la position du curseur

function position(e){

// déplacement horizontal ou verticale

//x = (navigator.appName.substring(0,3) == "Net") ? e.pageX : event.x+document.body.scrollLeft;

var y = (navigator.appName.substring(0,3) == "Net") ? e.pageY : event.y+document.body.scrollTop;

}



// Calcule la nouvelle position et déplace la zone dynamique

function move(){

if(dynamicZone==null){

dynamicZone=findDOM('dynamicZone',0);

}



// Calcul de l'éventuel mouvement

if(Math.abs(y-middle)>hysteresis && trigger){

pitch=((Math.abs(y-middle)-hysteresis)^resol)/1000;

offsetLeft=Math.max(Math.min(offsetLeft+((-1)^(y-middle))*pitch,0),2*middle-height);

dynamicZone.style.left=offsetLeft;

}

// Appel récursif à la fonction de déplacement

setTimeout('move()',timeOffset);

}



// Fonction (dés)activant le déplacement

function trigMove(value){

trigger=value;

}



document.onmousemove = position;

document.onload = move();





Merci pour votre aide.

signaler à un administrateur
Commentaire de Ricou47 le 04/02/2008 14:42:07

Fredmac,

Désolé de t'avoir laissé dans la panade pendant autant de temps...
As-tu toujours besoin d'aide sur ce sujet ?

signaler à un administrateur
Commentaire de nobrun le 02/09/2008 17:30:56

Bonjour,

je crois avoir enfin trouvé ce que je cherchais mais j'ai encore un doute. Je cherche à rendre possible aux visiteurs de se déplacer de cette manière dans les pages de mon site (qui sont horizontales). Tu parles d'une zone seulement, est-ce que cela marche sur des pages entières (si l'on excepte le menu et le bandeau titre, le restant forme une seule zone?)?

(je n'arrive pas à tester le script)

Sinon je cherchais dans l'idéal un déplacement de style pdf (ou on garde le clic enfoncé en déplaçant la souris pour se déplacer dans la page). Quelqu'un connaîtrait-il cela?

Merci beaucoup, je cherche depuis des heures et je suis un peu débutant...

signaler à un administrateur
Commentaire de nobrun le 03/09/2008 15:31:05

Ca y est, j'ai à peu près tout réussi, j'ai un dernier problème dont vous pourrez vous rendre compte à cette adresse : http://bruno-meignien.wifeo.com/test.php car j'ai un tableau qui contient des images et si je place la souris à droite sur ce tableau, celui-ci bouge normalement jusqu'à ce que la première image touche le bord de l'écran à gauche. A ce moment-là, le tableau se décale immédiatement jusqu'à la butée de droite, ce qui ne laisse pas trop le temps de voir défiler les images...

Je vais essayer de faire autrement mais c'était pour info du problème rencontré.

signaler à un administrateur
Commentaire de nobrun le 14/09/2008 22:47:30

Bonjour,

Une petite info qui en intéressera peut-être quelques-uns. J'ai enfin résolu mes problèmes, en inversant les valeurs de la fonction Trigmove :

j'ai remplacé false par true et true par false, ce qui donne <div id="staticZone" onmouseover="javascript:trigMove(false)" onmouseout="javascript:trigMove(true)">,
et fait que la zone où le script est actif uniquement hors de l'objet que l'on déplace, ce qui évite les bugs avec les images quand l'objet que l'on déplace en contient (voir message précédent).

Pour que cela marche sur une zone importante, il faut bien mettre une petite valeur (voire 0 pixel) pour la taille de la zone dynamique.

Merci bien à Ricou 47 pour ce script!

signaler à un administrateur
Commentaire de vb078 le 23/01/2009 18:44:16

MERCI

J'ai aménagé tout ca à mon site...
Pas encore réglé l'axe Y...
Pas tout pigé !

Sinon on peut en faire des choses intéressantes
genre texte caché :)

EX sur mon site
http://demain-comme-jamais.toile-libre.org/index/Home.html

(lien de redirection pour les internet exploreurs...)
si non c'est par là :
http://demain-comme-jamais.toile-libre.org/

BONNE CONTINUATION !!!

signaler à un administrateur
Commentaire de vb078 le 23/01/2009 18:46:50

PS: Nobrun merci pour l'info :)
PPS: J'ai mis un lien "copyright" pour informer de ton code
(pour les visiteurs intéressés)

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,218 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.