Lien <a href et javascript
Bonjour à tous !
Voilà, j'ai un petit soucis avec un code récupéré en javascript qui fonctionne très bien, mais ne prends pas en compte les liens hypertextes de ma div "colleft".
Lorsque je me positionne sur mon lien, je ne peux pas cliquer...
Pouvez-vous m'aider svp ?
Voici mon code et merci d'avance :
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 126 127 128 129 130 131 132 133 134 135 136
| function Add_Event( obj_, event_, func_, mode_){
if( obj_.addEventListener)
obj_.addEventListener( event_, func_, mode_? mode_:false);
else
obj_.attachEvent( 'on'+event_, func_);
}
//----------------------
function GetScrollPage(){
var Left;
var Top;
var DocRef;
if( window.innerWidth){
with( window){
Left = pageXOffset;
Top = pageYOffset;
}
}
else{ // Cas Explorer a part
if( document.documentElement && document.documentElement.clientWidth)
DocRef = document.documentElement;
else
DocRef = document.body;
with( DocRef){
Left = scrollLeft;
Top = scrollTop;
}
}
return({top:Top, left:Left});
}
//---------------------------
function ObjGetPosition(obj_){
var PosX = 0;
var PosY = 0;
//-- suivant type en parametre
if( typeof(obj_)=='object')
var Obj = obj_;
else
var Obj = document.getElementById( obj_);
//-- Si l'objet existe
if( Obj){
//-- Recup. Position Objet
PosX = Obj.offsetLeft;
PosY = Obj.offsetTop;
//-- Si propriete existe
if( Obj.offsetParent){
//-- Tant qu'un parent existe
while( Obj = Obj.offsetParent){
if( Obj.offsetParent){ // on ne prend pas le BODY
//-- Ajout position Parent
PosX += Obj.offsetLeft;
PosY += Obj.offsetTop;
}
}
}
}
//-- Retour des positions
return({left:PosX, top:PosY});
}
//-------------------------------------
// MENU FLOTTANT //////////////////////
//-------------------------------------
var IdTimer_1;
var IdTimer_2;
var O_DivScroll;
var Rapport = 1.0/20.0;
var Mini = 2* Rapport;
//-----------------------
function DIV_Scroll( id_){
var Obj = document.getElementById( id_);
this.Obj = Obj;
if( Obj){
Obj.style.position = "absolute"; // IMPERATIF
//-- Recup position de depart
var Pos = ObjGetPosition( id_);
this.PosX = Pos.left;
this.PosY = Pos.top;
this.DebX = this.PosX;
this.DebY = this.PosY;
this.NewX = 0;
this.NewY = 0;
this.Move = DIV_Deplace;
}
}
//---------------------------
function DIV_Deplace( x_, y_){
if( arguments[0] != null){
this.PosX = x_;
this.Obj.style.left = parseInt(x_) +"px";
}
if( arguments[1] != null){
this.PosY = y_;
this.Obj.style.top = parseInt(y_) +"px";
}
}
//---------------------------
function DIV_Replace( x_, y_){
//-- Calcul Delta deplacement
var Delta_X = (x_ -O_DivScroll.PosX) *Rapport;
var Delta_Y = (y_ -O_DivScroll.PosY) *Rapport;
//-- Test si fin deplacement
if((( Delta_Y < Mini)&&( Delta_Y > -Mini))&&
(( Delta_X < Mini)&&( Delta_X > -Mini))){
clearInterval( IdTimer_1);
O_DivScroll.Move( x_, y_);
}
else{
O_DivScroll.Move( O_DivScroll.PosX +Delta_X, O_DivScroll.PosY +Delta_Y);
}
}
//------------------------
function DIV_CheckScroll(){
var Scroll = GetScrollPage();
//-- New position du menu
O_DivScroll.NewX = Scroll.left +O_DivScroll.DebX;
O_DivScroll.NewY = Scroll.top +O_DivScroll.DebY;
//-- Si pas la bonne Position
if(( O_DivScroll.PosY != O_DivScroll.NewY)||( O_DivScroll.PosX != O_DivScroll.NewX)){
//-- Clear l'encours
clearInterval( IdTimer_1);
IdTimer_1 = setInterval("DIV_Replace(" + O_DivScroll.NewX +"," + O_DivScroll.NewY +")", 10);
}
return( true);
}
//-----------------------
function DIV_InitScroll(){
//-- Recup position Objet
O_DivScroll = new DIV_Scroll('colleft');
//-- Lance inspection si existe
if( O_DivScroll.Obj)
IdTimer_2 = setInterval('DIV_CheckScroll()',100);
}
//========================================
Add_Event( window, 'load', DIV_InitScroll);
//-- EOF -- |