Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1461 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  pb javascript

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

pb javascript

n°898583
ricotrutt
Posté le 15-11-2004 à 00:02:05  profilanswer
 

Citation :

<!--
/* Copyright 2001 : Atout Développement */
/* Auteur : Yvan Vanwynsberghe        */
var ns4 = (document.layers)? true:false;      //NS 4  
var ie4 = (document.all)? true:false;       //IE 4  
var dom = (document.getElementById)? true:false;   //DOM
 
function GetNS4Object(MyID,MyDocument)
 {
 var MyObject= eval('MyDocument.'+MyID);
  if (!(MyObject))
   for(var i=0;i<MyDocument.layers.length;i++)
   {
   MyObject = GetNS4Object(MyID,MyDocument.layers[i].document);
   if (MyObject) break;
   }
  return MyObject;
  }
 
 
function GetObject(MyID)
 {
  if (dom) return document.getElementById(MyID);
  if (ie4) return document.all[MyID];
  if (ns4) return GetNS4Object(MyID,window.document);
  return 0;
 }  
 
function GetCSS(MyObject)
 {
  if (dom || ie4) return MyObject.style;
  else if (ns4) return MyObject;
  else return 0;
 }
 
function GetHeight(MyObject)
 {  
  if (dom || ie4) return MyObject.offsetHeight;
  else if (ns4) return MyObject.clip.height;
  else return 0;
 }
 
function GetWidth(MyObject)
 {  
  if (dom || ie4) return MyObject.offsetWidth;
  else if (ns4) return MyObject.clip.width;
  else return 0;
 }
 
function GetTop(MyObject)
 {  
  if (dom || ie4)  
   return (MyObject.offsetTop);
  if (ns4) return MyObject.y;
   return 0;
 }
 
function GetLeft(MyObject)
 {  
  if (dom || ie4) return MyObject.offsetLeft;
  if (ns4) return MyObject.x;
  return 0;
 }
 
function MoveObject(myX,myY)
 {
  this.X = myX;
  this.Y = myY;
  this.CSS.left=this.X;
  this.CSS.top=this.Y;
  }
 
function MoveObjectUp(mystep)
 {
  this.Y -= mystep;
  this.CSS.top=this.Y;
  }
 
function MoveObjectDown(mystep)
 {
  this.Y += mystep;
  this.CSS.top=this.Y;
  }
 
function CreateObject(DivId,MyObject)
  {
    if (MyObject)
     this.Object = MyObject;
    else
     this.Object = GetObject(DivId);
     
    if (this.Object)
     {
      this.CSS = GetCSS(this.Object);
      this.Height = GetHeight(this.Object);
      this.Width = GetWidth(this.Object);
      this.X = GetTop(this.Object);
      this.Y = GetLeft(this.Object);
      this.Move = MoveObject;
      this.Up = MoveObjectUp;
      this.Down = MoveObjectDown;
      }
    return this;
    }
 
function DelTextNode(MyObject)
 {
  var node = MyObject.firstChild;
  var next;
 
  while (node)
   {
    next = node.nextSibling;
    if (node.nodeType == 3)
      MyObject.removeChild(node);
    node = next;
   }
  }
 
function CreateChildren(MyObject,HoriSpacer,VertSpacer)
 {
  var i=0;
  var MyChildren = new Array();
  if (dom)
   {
    DelTextNode(MyObject);
    for (i=0;i<MyObject.childNodes.length;i++)
     {
     MyChildren[i] = new CreateObject(0,MyObject.childNodes[i]);
      MyChildren[i].Move(i*HoriSpacer,i*VertSpacer);
      }
    return MyChildren;
    }
  if (ie4)
   {
    for (i=0;i<MyObject.children.length;i++)
     {
      MyChildren[i] = new CreateObject(0,MyObject.children(i));
      MyChildren[i].Move(i*HoriSpacer,i*VertSpacer);
      }
    return MyChildren;
    }
  if (ns4)
   {
    for (i=0;i<MyObject.document.layers.length;i++)
     {
      MyChildren[i] = new CreateObject(0,MyObject.layers[i]);
      MyChildren[i].Move(i*HoriSpacer,i*VertSpacer);
      }
    return MyChildren;    
    }
  }
 
function ScrollUp()
 {
  var MyInterval = this.Interval1;
  this.stop();
  if (this.Children[this.FirstChildren].Y<-this.threshold)
   {
    MyInterval = this.Interval2;
    this.Children[this.FirstChildren].Down(this.TotalHeight);
    if (this.FirstChildren<this.Children.length-1)
     {
     this.FirstChildren++;
      this.threshold += this.Children[this.FirstChildren].Height;
      }
    else
     {
     this.FirstChildren = 0;
      this.threshold = this.Children[this.FirstChildren].Height+this.Spacer;
      }
    }
 for (var i=0;i<this.Children.length;i++)
   {
    this.Children[i].Up(this.Step);    
    }
  this.ProcessId = setTimeout(this.name + '.start()', MyInterval);
  }
 
   
function ScrollStop()
 {
  if (this.ProcessId)
    clearTimeout(this.ProcessId);
  this.ProcessId = null;
 }
function Box(BoxName, DivId, myStep, myTempo1, myTempo2, mySpacer)
 {
  this.name     = BoxName;
  this.Step  = myStep ? myStep : 1;
  this.Interval1 = myTempo1 ? myTempo1 : 100;
  this.Interval2 = myTempo2 ? myTempo2 : 100;
  this.Spacer = mySpacer ? mySpacer : 0;
  this.ProcessId = null;
  this.Container = new CreateObject(DivId);
  this.Children = new CreateChildren(this.Container.Object,0,mySpacer);
  this.FirstChildren = 0;
  this.LastChildren = this.Children.length-1;
  this.threshold = this.Children[0].Height+this.Spacer;
  var myHeight = 0;
  for (var i=0;i<this.Children.length;i++)  
   {
    myHeight += (this.Children[i].Height + this.Spacer);
    }
  this.TotalHeight = myHeight;
  this.Container.visibility = 'visible';
 }
 
Box.prototype.start = ScrollUp;
Box.prototype.stop = ScrollStop;
//-->


voilà un code qui permet de faire le scroll d'un div en javascript. Je crois qu'on peut facilement faire une fonction pour faire un scrollup (ici on fait descendre la box, je voudrais la faire remonter) qqn peut il m'indiquer les qqs modifs à faire merci

mood
Publicité
Posté le 15-11-2004 à 00:02:05  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  pb javascript

 

Sujets relatifs
pb de modification de script javascriptPhp + javascript
[HTML/Javascript] Impressionbouton submit et javascript
Forcer le chargement du JavascriptFirefox, JavaScript et fenêtre de recherche
[Javascript] Problème de récupération de variable dans un menu dynamiq[Javascript] Obtenir la hauteur d'un "div" ? [Résolu, merci Leris]
Liens vers un frameset (javascript needed?)un javascript pour l'apercu avant impression?
Plus de sujets relatifs à : pb javascript


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR