11550 sujets

JavaScript, DOM et API Web HTML5

Bonjour !

Voilà, je m'yu connais très peu en javascript et j'aimerai de l'aide.
Je vais vous décrire mon problème.
Je suis en train de travailler sur ce site : http://www.ac-good.com/ac-good/yoan/Geko3/index.html, et dans la partie "filmographie", j'ai inséré un menu dynamique dans une div, mais seulement je voudrai que celui-ci reste seulement dans la div et ne la dépasse pas (comme vous pourrez le voir sur l'ancienne version du site : www.gekoprod.com).

je vous donne le script :

<script language="JavaScript" type="text/javascript">
/*
* Copyright (C) 2001 <a href="/dhtmlcentral/thomas_brattli.asp">Thomas Brattli</a>
* This script was released at DHTMLCentral.com
* Visit for more great scripts!
* This may be used and changed freely as long as this msg is intact!
* We will also appreciate any links you could give us.
* Made by <a href="/dhtmlcentral/thomas_brattli.asp">Thomas Brattli</a> and modified by Michael van Ouwerkerk
* Traduction Marketzones.net
*/

function lib_bwcheck(){
this.ver=navigator.appVersion
this.agent=navigator.userAgent
this.dom=document.getElementById?1:0
this.opera5=this.agent.indexOf("Opera 5")>-1
this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom && !this.opera5)?1:0;
this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom && !this.opera5)?1:0;
this.ie7=(this.ver.indexOf("MSIE 7")>-1 && this.dom && !this.opera5)?1:0;
this.ie4=(document.all && !this.dom && !this.opera5)?1:0;
this.ie=this.ie4||this.ie5||this.ie6||this.ie7
this.mac=this.agent.indexOf("Mac")>-1
this.ns6=(this.dom && parseInt(this.ver) >= 5) ?1:0;
this.ns4=(document.layers && !this.dom)?1:0;
this.bw=(this.ie7 || this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6 || this.opera5)
return this
}
var bw=new lib_bwcheck()

sLeft = 0 //distance bord gauche
sTop = 0 //distance bord sup
sMenuheight = 70 //hauteur
sArrowwidth = 24 //largeur flèches
sScrollspeed = 80 //vitesse défilement
sScrollPx = 2 //px par unit temps
sScrollExtra = 5 //vitesse 2 onmousedown

var tim = 0
var noScroll = true
function mLeft(){
if (!noScroll && oMenu.x<sArrowwidth){
oMenu.moveBy(sScrollPx,0)
tim = setTimeout("mLeft()",sScrollspeed)
}
}
function mRight(){
if (!noScroll && oMenu.x>-(oMenu.scrollWidth-(pageWidth))-sArrowwidth){
oMenu.moveBy(-sScrollPx,0)
tim = setTimeout("mRight()",sScrollspeed)
}
}
function noMove(){
clearTimeout(tim);
noScroll = true;
sScrollPx = sScrollPxOriginal;
}

function makeObj(obj,nest,menu){
nest = (!nest) ? "":'document.'+nest+'.';
this.elm = bw.ns4?eval(nest+"document.layers." +obj):bw.ie4?document.all Smiley obj :document.getElementById(obj);
this.css = bw.ns4?this.elm:this.elm.style;
this.scrollWidth = bw.ns4?this.css.document.width:this.elm.offsetWidth;
this.x = bw.ns4?this.css.left:this.elm.offsetLeft;
this.y = bw.ns4?this.css.top:this.elm.offsetTop;
this.moveBy = b_moveBy;
this.moveIt = b_moveIt;
this.clipTo = b_clipTo;
return this;
}
var px = bw.ns4||window.opera?"":"px";
function b_moveIt(x,y){
if (x!=null){this.x=x; this.css.left=this.x+px;}
if (y!=null){this.y=y; this.css.top=this.y+px;}
}
function b_moveBy(x,y){this.x=this.x+x; this.y=this.y+y; this.css.left=this.x+px; this.css.top=this.y+px;}
function b_clipTo(t,r,b,l){
if(bw.ns4){this.css.clip.top=t; this.css.clip.right=r; this.css.clip.bottom=b; this.css.clip.left=l;}
else this.css.clip="rect("+t+"px "+r+"px "+b+"px "+l+"px)";
}

var sScrollPxOriginal = sScrollPx;
function sideInit(){
//largeur du menu, généralement = largeur de la page
//sinon pageWidth=largeur désirée
pageWidth = (bw.ns4 || bw.ns6 || window.opera)?innerWidth:document.body.clientWidth;

oBg = new makeObj('divBg')
oMenu = new makeObj('divMenu','divBg',1)
oArrowRight = new makeObj('divArrowRight','divBg')

oBg.moveIt(sLeft,sTop)
oMenu.moveIt(sArrowwidth,null)
oArrowRight.css.width = sArrowwidth;
oArrowRight.moveIt(pageWidth-sArrowwidth,null)

if (!bw.ns4) oBg.css.overflow = "hidden";
if (bw.ns6) oMenu.css.position = "relative";
oBg.css.width = pageWidth+px;
oBg.clipTo(0,pageWidth,sMenuheight,0)
oBg.css.visibility = "visible";
}

if (bw.bw) onload = sideInit;
</script>

Merci d'avance pour votre aide...

Cordialement.
Godsilken.
Administrateur
Bonjour et bienvenue parmi nous Smiley smile

En tant que modérateur, je me dois de te faire remarquer que tu n'as malheureusement pas respecté l'une des Règles de base du forum qui est d'afficher les codes et exemples proprement à l'aide des boutons [ code]... ici ton code HTML, CSS, PHP, etc.[ /code] (sans espace).

Je te remercie par avance de bien vouloir éditer ton message afin de le rendre conforme à cette règle. Smiley cligne

D'ailleurs, je rappelle que le lien qui apparaît en bandeau tout en haut du forum ("Nouveau sur le forum ?...") est important. Il contient des pistes de recherche, des indications sur les règles de vie de la communauté, etc.
Il serait courtois de ta part de bien vouloir en prendre connaissance.

Bonne continuation Smiley smile

upload/1-code.gif
Veuillez m'excuser, je suis nouveau dans votre communautée, et je ne connais pas encore toutes les règles. Vous pouvez supprimer le message, je vais le rééditer dans une autre page.

Merci de votre compréhension.
Cordialement.
Modérateur
Bonjour Godsilken50, bienvenue sur Alsacréations Smiley smile

Nous n'avons pas pour habitude de supprimer les messages. Tu as la possibilité d'éditer les messages que tu as déjà envoyé (en haut à droite de chaque post), ce qui permet justement de ne pas en créer un deuxième identique.

Je ferme celui-ci mais à l'avenir, il est préférable que tu édites le message et non d'en créer un nouveau.

PS : Les débuts ne sont jamais faciles mais en lisant bien les règles ou la FAQ, c'est tout de suite plus simple. Smiley cligne