Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/11/2011, 07h07   #1
Candidat au titre de Membre du Club
 
Inscription : juin 2009
Messages : 54
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 54
Points : 13
Points : 13
Par défaut Ajouter un mousewheel a une scrollbar

Bonjour,

Voila mon soucis .... je dois passer après quelqu'un pour notamment modifier un élément d'un site à savoir ajouter l'utilisation de la molette pour les scrollbar ....
et la je sèche !!!!!!!!!
Je vous met le code à tout hasard si quelqu'un à une idée ...
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
 
var dom = document.getElementById;
var iex = document.all;
var ns4 = document.layers;
var mouseX, mouseY, enterX, enterY;
 
 
function addEvent(event,method)
{
	this[event] = method;
	if(ns4) this.captureEvents(Event[event.substr(2,event.length).toUpperCase()]);
}
 
function removeEvent(event)
{
	this[event] = null;
	if(ns4) this.releaseEvents(Event[event.substr(2,event.length).toUpperCase()]);
}
 
function getElement(name)
{
	var el = dom ? document.getElementById(name) : iex ? document.all[name] : ns4 ? eval("document."+name) : false;
	if ( el == null ) return null;
	el.css = ns4 ? el : el.style;
	el.getTop = function(){return parseInt(el.css.top) || 0};
	el.setTop = function(y){el.css.top = ns4 ? y: y+"px"};
	el.getLeft = function(){return parseInt(el.css.left) || 0};
	el.setLeft = function(x){el.css.left = ns4 ? x: x+"px"};
	el.getHeight = function(){return ns4 ? el.document.height : el.offsetHeight};
	el.getWidth = function(){return ns4 ? el.document.width : el.offsetWidth};
	el.getClipHeight = function(){return ns4 ? el.clip.height : el.offsetHeight};
	el.hideVis = function(){el.css.visibility="hidden"};
	el.showVis = function(){el.css.visibility="visible"};
	el.addEvent = addEvent;
	el.removeEvent = removeEvent;
	return el;
}
 
function getYMouse(e)
{
	return iex ? event.clientY : e.pageY;
}
 
document.addEvent = addEvent;
document.removeEvent = removeEvent;
 
ScrollObj = function(speed, groupName)
{
	this.speed = speed;
	this.trackObj = getElement(groupName+"ScrollTrack");
	this.dragObj = getElement(groupName+"ScrollThumb");
	this.contentMaskObj = getElement(groupName+"ContentClip");
	this.contentObj = getElement(groupName+"Content");
	this.obj = groupName+"ContentObject";
	eval(this.obj+"=this");
 
	this.dragHeight = this.dragObj.getHeight()-2 - (iex ? 4 : 0);
	this.trackHeight = getElement(groupName+"ScrollThumbTrack").getHeight();
	this.trackTop = this.trackObj.getTop();
	this.trackLength = this.trackHeight-this.dragHeight;
	this.trackBottom = this.trackTop+this.trackLength;
	this.contentMaskHeight = this.contentMaskObj.getClipHeight();
	this.contentHeight = this.contentObj.getHeight();
	this.contentLength = this.contentHeight-this.contentMaskHeight;
	this.scrollLength = this.trackLength/this.contentLength;
	this.scrollTimer = null;
 
 
	if (this.contentHeight <= this.contentMaskHeight) {
		this.dragObj.hideVis();
	} else {
		var self = this;
		this.dragObj.addEvent("onmousedown", function(e){self.startDrag(e);return false});
 
		if(iex) this.dragObj.addEvent("ondragstart", function(){return false});
		this.dragObj.showVis();
	}
}
 
ScrollObj.prototype.startDrag = function(e)
{
	this.dragStartMouse = getYMouse(e);
	this.dragStartOffset = this.dragObj.getTop();
	var self = this;
	document.removeEvent("onmousemove");
	document.addEvent("onmousemove", function(e){self.drag(e)});
	document.addEvent("onmouseup", function(){self.stopDrag()});
}
 
ScrollObj.prototype.stopDrag = function() 
{
	document.removeEvent("onmousemove");
	document.addEvent("onmousemove", getYMouse);
	document.removeEvent("onmouseup");
}
 
ScrollObj.prototype.drag = function(e)
{
	var currentMouse = getYMouse(e);
	var mouseDifference = currentMouse-this.dragStartMouse;
	var dragDistance = this.dragStartOffset+mouseDifference;
	var dragMovement = (dragDistance<this.trackTop) ? this.trackTop : (dragDistance>this.trackBottom) ? this.trackBottom : dragDistance;
	this.dragObj.setTop(dragMovement);
	var contentMovement = -(dragMovement-this.trackTop)*(1/this.scrollLength);
	this.contentObj.setTop(contentMovement);
}
 
ScrollObj.prototype.scroll = function(speed)
{
	var contentMovement = this.contentObj.getTop()+speed;
	var dragMovement = this.trackTop-Math.round(this.contentObj.getTop()*(this.trackLength/this.contentLength));
	if(contentMovement > 0){
		contentMovement = 0;
	}else if(contentMovement < -this.contentLength){
		contentMovement = -this.contentLength;
	}
	if ( dragMovement < this.trackTop ) {
		dragMovement = this.trackTop;
	} else if ( dragMovement > this.trackBottom ) {
		dragMovement = this.trackBottom;
	}
	this.contentObj.setTop(contentMovement);
	this.dragObj.setTop(dragMovement);
	this.scrollTimer = window.setTimeout(this.obj+".scroll("+speed+")",25);
}
Bon courage !!!!!!!!!
saperlipopeye est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2011, 08h59   #2
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 051
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 051
Points : 45 159
Points : 45 159
moose or mouse ?
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2011, 12h12   #3
Candidat au titre de Membre du Club
 
Inscription : juin 2009
Messages : 54
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 54
Points : 13
Points : 13
C'est vrai ça , c'est pas faux ...
Je parle de la mi-molette (l ' autre pays du fromage) sur la souris ...

Bon courage
saperlipopeye est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2011, 13h18   #4
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 051
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 051
Points : 45 159
Points : 45 159
^^ c'était à propos de la coquille dans ton titre ^^

heu c'est pas par defaut la molette sur les scrollbars ? ou ce sont des scrollbars perso ?

sinon un petit script pour l'amie molette
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
 
<script type="text/javascript">
var mouvement=0
function Affiche(sens) {
	mouvement += sens
	document.getElementById('temoin').innerHTML = Math.floor(mouvement);
}
 
function Molette(event){
	var sens = 0;
	if (!event){event = window.event;}
	if (event.wheelDelta) {
	   	sens =(window.opera)?-event.wheelDelta/120: event.wheelDelta/120; 
       }
    else {sens=(event.detail)?-event.detail/3:sens;
	   }
	if (sens)
		Affiche(sens);
}
 
// Lancement 
if (window.addEventListener){window.addEventListener('DOMMouseScroll', Molette, false);}
else{window.onmousewheel =function(){Molette()};
     document.onmousewheel = function(){Molette()};
    }
 
</script>
</head>
<body>
<div id="temoin"></div>
 
</body>
</html>
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2011, 14h12   #5
Candidat au titre de Membre du Club
 
Inscription : juin 2009
Messages : 54
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 54
Points : 13
Points : 13
Merci carrément pour la réponse !!!
J'essaye ça dans l'aprem(ont --> pour rester dans le fromage ...) et je vous tient au courant !!!!

Merci et à tout a l'heure ....
saperlipopeye est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2011, 18h50   #6
Candidat au titre de Membre du Club
 
Inscription : juin 2009
Messages : 54
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 54
Points : 13
Points : 13
C'est embêtant .... ça marche pas ....
C'est pour une scrollbar perso (qui n'est pas à moi sinon je n'aurais pas mis ce type de !!!!!!!!!!!) .
J'ai essayé avec jscrollpane ... mais ça me fait un énorme conflit avec l'accordéon maison (qui n'est pas de moi non plus ...)

N'hésitez pas si vous avez d'autres solutions
saperlipopeye est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2011, 08h41   #7
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 051
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 051
Points : 45 159
Points : 45 159
heu "ça marche pas" est un symptome assez vaste ...
On peut voir la tentative d'adaptation ?
sur le tournage de molette tu joue sur le scrollTop de ton element
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/11/2011, 16h39   #8
Candidat au titre de Membre du Club
 
Inscription : juin 2009
Messages : 54
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 54
Points : 13
Points : 13
Après de rudes heures et un long combat (j'ai démonté tout l'ancien code et je l'ai remis à neuf ..... ) j'y suis arrivé !!!!!!
Merci pour tout , je repart sur le forum php je cherche un moyen de sauter des lignes ou encore mieux des pages avec PHPrtf !!!!

Merci encore
saperlipopeye est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h44.


 
 
 
 
Partenaires

Hébergement Web