Scroll bar personalise

Description

scroll bar personnalise j'ai éviter de mettre des position absolute et d'automatiser le processus de scroll pour que la mise en page soit le plus simple.

Source / Exemple :


var tour=1
var relation
var dde=document.documentElement;
function disableselecte(e){
return false;
}
function enableselecte(e){
return true;
}

function tarto(s) {
if(navigator.vendor){
ddem=document.documentElement.lastChild;
}
else{
ddem=document.documentElement;
}
if(navigator.appName.substring(0,3)=="Net"){
setX = s.clientX+ddem.scrollLeft;
setY = s.clientY+ddem.scrollTop;
}
else{
setX = event.clientX+ddem.scrollLeft;
setY = event.clientY+ddem.scrollTop;
return false;
}
}
if(navigator.appName.substring(0,3)!="Mic"){
dde.addEventListener("mousemove", tarto, false);
}
else{
dde.attachEvent("onmousemove",tarto);
}

function sp(azer,trez){

var ds1 =document.getElementById(azer)
var tbm=document.getElementById(trez)
if(navigator.appName.substring(0,3)=="Mic"){
var rcsb =ds1.childNodes[0]
var ds2=tbm.childNodes[0]
}
else{
var rcsb =ds1.childNodes[1]
var ds2=tbm.childNodes[1]
}
if(tour==2){
if(navigator.appName.substring(0,3)!="Mic"){
document.onmousedown=enableselecte;
}
tour=1;
return false;
}
if(tour==1){
px=setX;
py=setY;
tour=0;
document.onmousedown=disableselecte;
relation=(ds2.offsetWidth-tbm.offsetWidth)/((ds1.offsetWidth)-rcsb.offsetWidth)
}

if(navigator.appName.substring(0,3)=="Mic"){
ds1.style.overflow='hidden';
rcsb.style.marginLeft=parseInt(rcsb.currentStyle.marginLeft)+(setX-px)+'px';
}
else{
rcsb.style.marginLeft=parseInt(getComputedStyle(rcsb, null).getPropertyValue('margin-left'))+(setX-px)+'px';
}
ds2.style.left=ds2.offsetLeft-((setX-px)*relation)+'px'

if(ds2.offsetLeft>150){
ds2.style.left=0+'px'
rcsb.style.marginLeft=0+'px'
tour=2
}
if(ds2.offsetLeft-tbm.offsetWidth<-ds2.offsetWidth-150){
ds2.style.left=-(ds2.offsetWidth)+tbm.offsetWidth+'px'
rcsb.style.marginLeft=(ds1.offsetWidth)-rcsb.offsetWidth+'px'
tour=2
}
px=setX;
py=setY;

setTimeout('sp("'+ds1.id+'","'+tbm.id+'")',10);
}

Conclusion :


apparemment sa marche

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.