begin process at 2012 05 28 14:49:37
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > SCROLLBAR PERSONNALISABLE

SCROLLBAR PERSONNALISABLE


 Information sur la source

Note :
Aucune note
Catégorie :Divers Classé sous :scrollbar, barre scroll, defilement, scroll Niveau :Débutant Date de création :02/07/2011 Date de mise à jour :11/07/2011 13:08:27 Vu / téléchargé :3 056 / 250

Auteur : kazma

Ecrire un message privé
Commentaire sur cette source (0)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
il s'agit de barre de scroll en javascript personnalisable avec le css j'avait fait une source dans ce genre mais elle n'etait pas parfaite j'ai donc refait une source completement differente et fonctionnant nettement mieux seul le principe d'utiliser les marges a ete conservé tout est automatisé il suffit de créer sa barre de scroll avec le css d'ajouter un onmousedown au curseur de scroll pour appeler la fonction en lui precisant l'element qui doit etre scrollé le reste se fera automatiquement.
++

Source

  • var kscroll={
  • vascro:0,
  • setX:0,
  • setY:0,
  • px:0,
  • py:0,
  • elem:null,
  • elem2:null,
  • direction:null,
  • dde:document.documentElement,
  • selecte:function(ev){
  • ev.preventDefault();
  • },
  • sp:function(evt,trez){
  • evt =(!evt) ? window.event : evt;
  • kscroll.elem=((navigator.userAgent.substring(30,31))<=8) ? evt.srcElement : evt.currentTarget;
  • if(arguments.length<=1){
  • if((navigator.userAgent.substring(30,31))<=8){
  • kscroll.dde.detachEvent("onmouseup",kscroll.sp);
  • kscroll.dde.detachEvent("onmousemove",kscroll.f_scroll);
  • }
  • else{
  • kscroll.dde.removeEventListener("mousedown", kscroll.selecte, false);
  • kscroll.dde.removeEventListener("mousemove", kscroll.f_scroll, false);
  • kscroll.dde.removeEventListener("mouseup", kscroll.sp, false);
  • }
  • }
  • if(arguments.length>=2){
  • kscroll.elem2=document.getElementById(trez);
  • var rcsb =kscroll.elem;
  • if(kscroll.elem.parentNode.offsetWidth > kscroll.elem.parentNode.offsetHeight){
  • kscroll.direction="horizon";
  • kscroll.vascro=((navigator.userAgent.substring(30,31))<=8) ? parseInt(rcsb.currentStyle.marginLeft) : parseInt(getComputedStyle(rcsb, null).getPropertyValue('margin-left'));
  • }
  • else{
  • kscroll.direction="vertical";
  • kscroll.vascro=((navigator.userAgent.substring(30,31))<=8) ? parseInt(rcsb.currentStyle.marginTop) : kscroll.vascro=parseInt(getComputedStyle(rcsb, null).getPropertyValue('margin-top'));
  • }
  • if((navigator.userAgent.substring(30,31))<=8){
  • kscroll.dde.attachEvent("onmousemove",kscroll.f_scroll);
  • kscroll.dde.attachEvent ("onmouseup",kscroll.sp);
  • }
  • else{
  • kscroll.dde.addEventListener("mousemove", kscroll.f_scroll, false);
  • kscroll.dde.addEventListener("mousedown", kscroll.selecte, false);
  • kscroll.dde.addEventListener("mouseup", kscroll.sp, false);
  • }
  • kscroll.setX=evt.clientX;
  • kscroll.setY=evt.clientY;
  • kscroll.px=kscroll.setX;
  • kscroll.py=kscroll.setY;
  • }
  • },
  • f_scroll:function(s){
  • s =(!s) ? window.event : s;
  • s.returnValue = false;
  • kscroll.setX =s.clientX;
  • kscroll.setY =s.clientY;
  • var tbm=kscroll.elem2;
  • var ds2=tbm.getElementsByTagName('*')[0];
  • var ds1 =kscroll.elem.parentNode;
  • var rcsb =kscroll.elem;
  • if(kscroll.direction=="horizon"){
  • kscroll.vascro+=(kscroll.setX-kscroll.px);
  • if(kscroll.vascro<=0){
  • rcsb.style.marginLeft=0+'px';
  • }
  • else if(kscroll.vascro>=ds1.offsetWidth-rcsb.offsetWidth){
  • rcsb.style.marginLeft=(ds1.offsetWidth-rcsb.offsetWidth)+'px';
  • }
  • else{
  • rcsb.style.marginLeft=kscroll.vascro+'px';
  • }
  • kscroll.px=kscroll.setX;
  • kscroll.py=kscroll.setY;
  • var valeur=(parseInt(rcsb.style.marginLeft)/(ds1.offsetWidth-rcsb.offsetWidth)).toFixed(2);
  • document.getElementById('nbfic').value=valeur;
  • ds2.style.marginLeft=-(valeur*(ds2.offsetWidth-tbm.offsetWidth))+'px';
  • }
  • else{
  • kscroll.vascro+=(kscroll.setY-kscroll.py)
  • if(kscroll.vascro<=0){
  • rcsb.style.marginTop=0+'px';
  • }
  • else if(kscroll.vascro>=ds1.offsetHeight-rcsb.offsetHeight){
  • rcsb.style.marginTop=(ds1.offsetHeight-rcsb.offsetHeight)+'px';
  • }
  • else{
  • rcsb.style.marginTop=kscroll.vascro+'px';
  • }
  • kscroll.px=kscroll.setX;
  • kscroll.py=kscroll.setY;
  • var valeur=(parseInt(rcsb.style.marginTop)/(ds1.offsetHeight-rcsb.offsetHeight)).toFixed(2)
  • document.getElementById('nbfic').value=valeur
  • ds2.style.marginTop=-(valeur*(ds2.offsetHeight-tbm.offsetHeight))+'px';
  • }
  • }
  • }
var kscroll={

vascro:0,
setX:0,
setY:0,
px:0,
py:0,
elem:null,
elem2:null,
direction:null,
dde:document.documentElement,

selecte:function(ev){
		ev.preventDefault();
	},

sp:function(evt,trez){

		evt =(!evt) ? window.event : evt;
		kscroll.elem=((navigator.userAgent.substring(30,31))<=8) ? evt.srcElement : evt.currentTarget;
		
		if(arguments.length<=1){
			if((navigator.userAgent.substring(30,31))<=8){
				kscroll.dde.detachEvent("onmouseup",kscroll.sp);
				kscroll.dde.detachEvent("onmousemove",kscroll.f_scroll);
			}
			else{
				kscroll.dde.removeEventListener("mousedown", kscroll.selecte, false);
				kscroll.dde.removeEventListener("mousemove", kscroll.f_scroll, false);
				kscroll.dde.removeEventListener("mouseup", kscroll.sp, false);
			}
		}
		
		if(arguments.length>=2){
			kscroll.elem2=document.getElementById(trez);
			var rcsb =kscroll.elem;
			
			if(kscroll.elem.parentNode.offsetWidth > kscroll.elem.parentNode.offsetHeight){
				kscroll.direction="horizon";
				
				kscroll.vascro=((navigator.userAgent.substring(30,31))<=8) ? parseInt(rcsb.currentStyle.marginLeft) : parseInt(getComputedStyle(rcsb, null).getPropertyValue('margin-left'));
			}
			else{
				kscroll.direction="vertical";
				kscroll.vascro=((navigator.userAgent.substring(30,31))<=8) ? parseInt(rcsb.currentStyle.marginTop) : kscroll.vascro=parseInt(getComputedStyle(rcsb, null).getPropertyValue('margin-top'));
			}
						
			if((navigator.userAgent.substring(30,31))<=8){
				kscroll.dde.attachEvent("onmousemove",kscroll.f_scroll);
				kscroll.dde.attachEvent ("onmouseup",kscroll.sp);	
			}
			else{
				kscroll.dde.addEventListener("mousemove", kscroll.f_scroll, false);
				kscroll.dde.addEventListener("mousedown", kscroll.selecte, false);
				kscroll.dde.addEventListener("mouseup", kscroll.sp, false);
			}
			
			kscroll.setX=evt.clientX;
			kscroll.setY=evt.clientY;
			kscroll.px=kscroll.setX;
			kscroll.py=kscroll.setY;
		}
	},


f_scroll:function(s){

		s =(!s) ? window.event : s;
		s.returnValue = false;
		kscroll.setX =s.clientX;
		kscroll.setY =s.clientY;

		var tbm=kscroll.elem2;
		var ds2=tbm.getElementsByTagName('*')[0];
		var ds1 =kscroll.elem.parentNode;
		var rcsb =kscroll.elem;
		
		if(kscroll.direction=="horizon"){
			kscroll.vascro+=(kscroll.setX-kscroll.px);
			if(kscroll.vascro<=0){
				rcsb.style.marginLeft=0+'px';
			}
			else if(kscroll.vascro>=ds1.offsetWidth-rcsb.offsetWidth){
				rcsb.style.marginLeft=(ds1.offsetWidth-rcsb.offsetWidth)+'px';
			}
			else{
				rcsb.style.marginLeft=kscroll.vascro+'px';
			}
			kscroll.px=kscroll.setX;
			kscroll.py=kscroll.setY;
			var valeur=(parseInt(rcsb.style.marginLeft)/(ds1.offsetWidth-rcsb.offsetWidth)).toFixed(2);
			document.getElementById('nbfic').value=valeur;
			ds2.style.marginLeft=-(valeur*(ds2.offsetWidth-tbm.offsetWidth))+'px';
		}
		
		else{
			kscroll.vascro+=(kscroll.setY-kscroll.py)
			if(kscroll.vascro<=0){
				rcsb.style.marginTop=0+'px';
			}
			else if(kscroll.vascro>=ds1.offsetHeight-rcsb.offsetHeight){
				rcsb.style.marginTop=(ds1.offsetHeight-rcsb.offsetHeight)+'px';
			}
			else{
				rcsb.style.marginTop=kscroll.vascro+'px';
			}
			kscroll.px=kscroll.setX;
			kscroll.py=kscroll.setY;
			var valeur=(parseInt(rcsb.style.marginTop)/(ds1.offsetHeight-rcsb.offsetHeight)).toFixed(2)
			document.getElementById('nbfic').value=valeur
			ds2.style.marginTop=-(valeur*(ds2.offsetHeight-tbm.offsetHeight))+'px';
		}
	}
	
}

 Conclusion

UN... DEUX... TROIS...

 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

04 juillet 2011 00:46:44 :
debogage
11 juillet 2011 13:08:28 :
mise a jour html

 Sources du même auteur

Source avec Zip Source avec une capture BOUTON ROTATIF
Source avec Zip Source avec une capture EFFET DE ROTATION A 360° D'IMAGE AVEC ACCELERATION DECELERAT...
Source avec Zip Source avec une capture PETIT LOGICIEL DE DESSIN, RETOUCHE AVEC CANVAS
Source avec Zip Source avec une capture DRAG & DROP VERS UN CANVAS
Source avec Zip Source avec une capture DIAPO EN CSS 3D

 Sources de la même categorie

Source avec Zip Source avec une capture SLIDESHOW IMAGES ET TEXTES EN PUR JAVASCRIPT par ansuzpeorth
Source avec Zip INPUT TEXT AUTOMATIQUE CREATION SUPPRESSION par lycanges
Source avec Zip Source avec une capture TABLE_SV : TABLEAU DYNAMIQUE, MONTRER/CACHER COLONNE SUR DEM... par synanceia
COLONNES ADAPTABLES EN HAUTEUR par dronoide
Source avec Zip VECTEURS ET MATRICES: OUTILS GRAPHIQUES UTILES par william voirol

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture SCROLLBAR CLASS par heycraft
Source avec Zip Source avec une capture SCROLL BARS EN JAVASCRIPT SUR UNE PAGE HTML par Glennouchet
Source avec Zip Source avec une capture FAIRE DÉFILER EN BOUCLE UNE IMAGE DANS UN <TABLE> par Isole
Source avec Zip Source avec une capture DEFILEMENT A LA IPHONE par kazma
SCROLLBAR COLORÉ EN JAVASCRIPT par neolien

Commentaires et avis

Aucun commentaire pour le moment.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

scrollbar dans popup [ par lili_jazzy ] bonjour,j'ai une popup avec scrolbars=yesmais je ne voudrais avoir que la scrolbar verticale et non celle horizontale&nbsp;m&#234;me en ayant une page Defilement d'une scroll bar [ par zipzip ] problème de couleur de scroll barre [ par fogof ] J'ai param&#233;tr&#233; la couleur de mes scroll barre en css dans le body { , mais ces&nbsp;param&#232;tres ne sont pas prient en compte dans ma fra Positionnement dans une Scrollbar [ par tets88 ] Bonjour, J'ai un petit soucis avec un code que j'ai trouvé sur le site [url=http://www.dyn-web.com/code/scroll/]http://www.dyn-web.com/code/scroll/[/ bloquer un div en haut de page lors d'un scroll vertical [ par BBFUNK01 ] Hello, je suis en train d'essayer de reproduire l'effet qu'on peut voir sur le site de Deezer : [url=http://www.deezer.com/fr/]Deezer[/url], à savoir Intégrer un timer dans un slieshow [ par quinton75 ] Bonjour [^^clinoeil1][^^clinoeil1] Je ne m'y connais pas du tout en js donc malgré divers tuto de slideshow je rame Je souhaite faire defiler mes ph div qui suit le scrolling de la page => PETOLETEAM [ par torg33 ] Bonjour tout le monde, je viens d'intégrer le script de PetoleTeam à mon portfolio et je tiens a dire que c'est tout à fait ce qu'il me faut. Mais (et script de defilement d'image [ par sidomed ] étant novice dans le javascript, je cherche à faire défiler des image qui sont stocké dans un dossier min et au méme temps dans une base de donnée l&# Bouger deux ScrollBar en même temps [ par BeberEberlue ] Bonjour Je cherche à faire en sorte que mes deux scrollbar horizontales bougent en même temps, c-a-d qui si l'utilisateur déplace la première scrollb [Dreamweaver] Onglet avec scrollbar [ par grominnetto ] Bonjour tout le monde, voici, je tente de créer un site pour une école de hockey et j'aimerais avoir une barre de défilement (ou scrollbar) avec quel


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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 : 1,544 sec (4)

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