11550 sujets

JavaScript, DOM et API Web HTML5

Salut à tous

j'ai donc voulu installé un défilement de calque mais je rencontre 3 problèmes.
Tout d'abord, voici la page sur laquelle j'ai voulu mettre le script : http://www.pafenterprise.com/modele2.php
Il s'agit du milieu, le but est de faire défiler les news grâce à l'ascenseur (les images en forme de flèches).

- Le premier problème concerne la résolution. J'ai travaillé sur une résolution de 1280, j'ai donc mis le layer à la position qui me convenait, mais lorsque la page est affichée sur du 1024, le layer n'est pas du tout où il faut. Quelle est la ligne de commande pour faire en sorte que le layer soit toujours à une position précise, quelque soit le résolution ?

- Le deuxième, c'est que je n'arrive pas à faire défiler suffisamment pour voir toute la page, je n'ai pas trouvé où changer le setting...Le layer ne se déplace pas assez, c'est à dire que ça fonctionne, mais ça déplace le layer que d'environ 1/10eme.

- Et mon troisième problème concerne Internet Explorer, lorsque l'on veut faire défiler les news, une fenêtre bug apparait... Smiley confus

Voici le code dans le head :
<script language="javascript" type="text/javascript"><!--
function checkBrowser()
{
   this.ver=navigator.appVersion
   this.dom=document.getElementById?1:0
   this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom)?1:0;
   this.ie4=(document.all && !this.dom)?1:0;
   this.ns5=(this.dom && parseInt(this.ver) >= 5) ?1:0;
   this.ns4=(document.layers && !this.dom)?1:0;
   this.bw=(this.ie5 || this.ie4 || this.ns4 || this.ns5)
   return this
}
bw=new checkBrowser();

function TBMakeScrollObj(obj,nest,height,theSpeed){
    nest=(!nest) ? '':'document.'+nest+'.';
   this.el=bw.dom?document.getElementById(obj):bw.ie4?document.all[obj]:bw.ns4?eval(nest+'document.'+obj):0;
     this.css=bw.dom?document.getElementById(obj).style:bw.ie4?document.all[obj].style:bw.ns4?eval(nest+'document.'+obj):0;
   this.scrollHeight=bw.ns4?this.css.document.height:this.el.offsetHeight
   this.clipHeight=bw.ns4?this.css.clip.height:this.el.offsetHeight
   this.up=TBScrollUp;
   this.down=TBScrollGoDown;
   this.moveIt=TBScrollMoveIt;
   this.x; this.y; this.obj = obj + "Object"
    eval(this.obj + "=this")
    this.loop; this.loaded;
    this.contHeight = height;
    this.speed = (theSpeed) ? theSpeed : 50;
    return this
}

function TBScrollMoveIt(x,y){
   this.x=x;this.y=y;this.css.left=this.x;this.css.top=this.y
}

function TBScrollGoDown(move){
   if(this.y>-this.scrollHeight+this.contHeight){
      this.moveIt(0,this.y-move)
         if(this.loop) setTimeout(this.obj+".down("+move+")",this.speed)
   }
}

function TBScrollUp(move){
   if(this.y<0){
      this.moveIt(0,this.y-move)
      if(this.loop) setTimeout(this.obj+".up("+move+")",this.speed)
   }
}

function TBScroll(item,amount){
   if(document["SC "+item] && document["SC "+item].loaded){
      document["SC "+item].loop=true;
      if(amount>0) document["SC "+item].down(amount)
      else document["SC "+item].up(amount)
   }
}

function TBNoScroll(item){
   document["SC "+item].loop=false
}

function TBScrollInit(text,item,height,speed){
   document["SC "+item]=new TBMakeScrollObj(text,item,height,speed);
   document["SC "+item].moveIt(0,0);
   document["SC "+item].loaded=true;
}


function FWFindLayer(lay)
{
   if (lay)
   {
      if (document.layers)
         return document[lay];
      else if (document.getElementById)
         return document.getElementById(lay).style;
      else if (document.all)
         return document.all[lay].style;
   }
   return null;
}


function FWShowHideLayer(lay, vis, ch)
{
   if (ch && lay != "")
   {
      vis = (vis) ? "visible" : "hidden";
      var obj = FWFindLayer(lay);
      if (obj && obj.visibility != vis)
         obj.visibility = vis;
   }
}


var fwIsNetscape = navigator.appName == 'Netscape';


fwLoad = new Object;
function FWLoad(image)
{
   if (!document.images)
      return null;
   if (!fwLoad[image])
   {
      fwLoad[image]=new Image;
      fwLoad[image].src=image;
   }
   return fwLoad[image].src;
}


fwRestore = new Object;
function FWRestore(msg,chain)
{
   if (document.images)
      for (var i in fwRestore)
      {
         var r = fwRestore[i];
         if (r && (!chain || r.chain==chain) && r.msg==msg)
         {
            r.src = FWLoad(r.old);
            fwRestore[i]=null;
         }
      }
}


function FWLSwap(name,msg,newImg,layer,chain,trigger)
{
   var r = fwRestore[name];
   if (document.images && (!r || r.msg < msg))
   {
      var uselayers = fwIsNetscape && document.layers && layer != '';
      var hld = (uselayers) ? document.layers[layer].document : document;
      var im = hld[name];
      if (!im.old) im.old = im.src;
      im.msg = msg;
      im.chain = chain;
      im.trigger = trigger;
      if (newImg) im.src = FWLoad(newImg);
      fwRestore[name] = im;
   }
}


function FWCallHit(func,targNum,msg)
{
   if(func)
      for (var i in func)
         func[i](targNum,msg);
}
function FW_Hit(frameset,chain,targNum,msg)
{
   if (frameset && frameset.length)
      for (var i=0 ; i <frameset.length ; i++)
      {
         FW_Hit(frameset[i].frames,chain,targNum,msg);
         FWCallHit(top["FT_"+chain],targNum,msg);
         FWCallHit(frameset[i].window["FT_"+chain],targNum,msg);
      }
   else
      FWCallHit(window["FT_"+chain],targNum,msg);
}


fwHit = new Object;
function FWSlave(frameset,chain,targNum,msg)
{
   if (msg==1) fwHit[chain]=targNum;
   FW_Hit(frameset,chain,targNum,1);
}

function FWSRestore(frameset,chain)
{
   var hit=fwHit[chain];
   if (hit)
      FW_Hit(frameset,chain,hit,0);
   fwHit[chain]=null;
}

function FWPreload()
{
   FWLoad("Resources/film-court-pastille.gif");
   FWLoad("Resources/film-court-pastille-on.gif");
   FWLoad("Resources/film-extra-pastille.gif");
   FWLoad("Resources/film-extra-pastille-on.gif");
   FWLoad("Resources/film-jingle-pastille.gif");
   FWLoad("Resources/film-jingle-pastille-on.gif");
   FWLoad("Resources/film-promo-pastille.gif");
   FWLoad("Resources/film-promo-pastille-on.gif");
   FWLoad("Resources/film-pub-pastille.gif");
   FWLoad("Resources/film-pub-pastille-on.gif");
   FWLoad("../NOUVELLES/Resources/barre-off.gif");
   FWLoad("../NOUVELLES/Resources/barre-more-on.gif");
   FWLoad("../NOUVELLES/Resources/barre-less-on.gif");
}

//-->
</script>


puis dans le body :
<body bgcolor="8B9396" topmargin="0" onload="TBScrollInit('archives','scroll-field',98,50);FWShowHideLayer('scroll-field',true, true);FWShowHideLayer('ScrollBGscroll-field',true, true);FWPreload()" ondblclick="origScroll();">
<div id="ScrollBGscroll-field" style="position: absolute; top: 293px; left: 532px; width: 452px; height: 263px; z-index: 1; visibility: visible;">
  <img src="menu_data/_clear.gif" alt="" border="0" height="1" width="1"></div>
<div id="scroll-field" style="position:absolute; left:532px; top:293px; width:452px; height:263px; z-index:2; visibility: visible; clip: rect(0pt 452px 263px 0pt);">
  <div id="archives" style="left:22px; top:11px; width:428px; height:246px">
    <?php
      $chemin = "freenews";
      $what_aff = "grand_format";
      $idcat = "1";
        include ("$chemin/aff_news.php");
      ?>
  </div>
</div>
[/i][/i][/i][/i][/i]

Voilà, j'espère que quelqu'un pourra m'aider, je vous en remercie d'avance...
Modifié par ponchy (01 Aug 2005 - 13:00)
Administrateur
Salut à toi et bienvenue Smiley smile

Sauf erreur de ma part, je ne vois pas du tout le rapport entre ton histoire de déplacement de ""calques"" et le salon "XML / XSL / RSS / FOAF" où tu as posté.

Je déplace donc dans le salon "DOM Javascript" où il a mieux sa place.