begin process at 2010 03 20 18:21:53
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Graphique

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

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


 Information sur la source

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
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 833 / 1 871

Auteur : Ricou47

Ecrire un message privé
Commentaire sur cette source (18)
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

Les Membres Club peuvent 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 :

 Sources de la même categorie

Source avec Zip Source avec une capture STOCK/FOREX CANDLE CHART USING CANVAS API par BlackWizzard
MODIFIER SES FEUILLES DE STYLES .CSS À LA VOLÉE AVEC JAVASCR... par Phildepantin
Source avec Zip Source avec une capture FARMVILLE - HEURE ET COMBO LIST IMAGES par ym_trainz
Source avec Zip [-CLASS-] -> CARROUSSEL D'IMAGES par TheWeasel47
Source avec Zip Source avec une capture OGG MEDIA PLAYER par kazma

Commentaires et avis

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

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)

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 :-)

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

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

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.

Commentaire de dVSClem le 29/09/2005 19:19:39

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

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.

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 ?

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...

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é.

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!

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 !!!

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)

Commentaire de gilarno le 02/08/2009 07:29:27

Bonjour,

Merci pour ce script. L'effet est très bon ... du moins sous FF.

Je ne parviens pas à le faire fonctionner sous IE.

Le calcul du offsetLeft semble se faire différemment sous IE.

Quelqu'un a-t-il trouvé une solution ?

Gilles

Commentaire de nobrun le 08/08/2009 19:44:07

J'ai le problème inverse. C'est IE qui marche très bien, je n'ai jamais réussi à le faire fonctionner correctement sur Firefox, mais j'arrive à n'avoir aucun bug sur Firefox (il n'y a juste pas le déplacement à vitesse variable avec la souris, sinon tout s'affiche correctement comme sur IE). par exemple : [url]http://www.nonor-photos.com/moyenne-montagne.php[/url]

Commentaire de nobrun le 08/08/2009 20:12:28

Il y a un fichier panoramic par taille de tableau (5000, 5500, 6000, etc.) qui ne diffèrent que par le chiffre après var width, mais il n'y a pas d'autre modification.

La seule chose, en plus d'avoir inversé true et false pour les zones dynamiques et statiques (voir précédents messages, le script n'est actif que hors de la zone qu'on déplace ), c'est que je n'ai pu placer la première partie du code qu'après la balise <body> (impossible d'y accéder sur mon éditeur) alors qu'elle se trouve entre les balises </head> et <body> sur le code de Ricou. Je ne sais pas si cela a une influence

Commentaire de nobrun le 08/08/2009 20:15:40

En tout cas bon courage à tout ceux qui souhaitent utiliser le script de Ricou, ça peut être un peu casse-tête mais le résultat vaut le coup à mon avis.

Bruno

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix


HTC Magic

Entre 429€ et 429€

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
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,499 sec (3)

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