Dhtml vraagje (NEWBIE)

Pagina: 1
Acties:
  • 77 views sinds 30-01-2008

  • Spasm
  • Registratie: Juni 2001
  • Laatst online: 31-08 22:02
Hallo Tweakers,

Ik heb zojuist een dhtml-script gedowned, wat prima werkt.
Maar ik heb nieuwe menubalken gemaakt, en nu wil ik de menu-teksten verder naar rechts verplaatsen. Waar doe ik dit ? Ik kan het nergens vinden.

Ik ben een echte Newbie op dit gebied, dus ik hoop dat 1 van julie me kan helpen.

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
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
<html>
<head>
<title>DHTMLCentral.com - Free Dynamic HTML Scripts - SlideMenu Demo</title>
<meta name="Author" content="Thomas Brattli (webmaster@dhtmlcentral.com)">
<META NAME="Generator" CONTENT="Designer:Thomas Brattli (www.bratta.com)">
<meta name="KeyWords" content="DHTML, HTML, Dynamic HTML, Javascript, Cascading Style Sheets, Cross-browser, Cross browser, Javascripts, DOM, Scripts, Free Scripts">
<meta name="Description" content="Dynamic HTML Central - The ultimate place to find DHTML scripts, demos, tutorials and help.">
<style type="text/css">
DIV.clSlide{position:absolute;  ;z-index:10; left:0; width:187; height:35; clip:rect(0,187,34,0); padding:3px;}
DIV.clSlideSub{position:absolute; ;z-index:10; padding:2px; clip:rect(0,112,22,0); width:112; height:22; left:8; visibility:hidden}
DIV.clSlideSub2{position:absolute; ;z-index:10; padding:2px; clip:rect(0,112,22,0); width:112; height:22; left:8; visibility:hidden}
#divSlideCont{position:absolute; z-index:10; left:0; top:100; height:600; width:170; visibility:hidden}
A.clSlideLinks{font-family:Verdana, Helvetica, Helv; font-size:9px; font-weight:bold; text-decoration:none; color:white;}
A.clSlideSubLinks{font-family:Verdana, Helvetica, Helv; font-size:9px; text-decoration:none; color:Yellow;}
A.clSlideSub2Links{font-family:Verdana, Helvetica, Helv; font-size:9px; text-decoration:none; color:Yellow;}
</style>
<script language="JavaScript" type="text/javascript">
/**********************************************************************************
SlideMenu
*   Copyright (C) 2001 Thomas Brattli
*   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 Thomas Brattli
*
*Script date: 01/29/2002 (keep this date to check versions)
*********************************************************************************/
function lib_bwcheck(){ //Browsercheck (needed)
    this.ver=navigator.appVersion
    this.agent=navigator.userAgent
    this.dom=document.getElementById?1:0
    this.opera5=(navigator.userAgent.indexOf("Opera")>-1 && document.getElementById)?1:0
    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.ie4=(document.all && !this.dom && !this.opera5)?1:0;
    this.ie=this.ie4||this.ie5||this.ie6
    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.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6 || this.opera5)
    return this
}
var bw=lib_bwcheck()
//Opera didn't seem to like the padding in the layers, it messes up the background-images, so here's a version without it.
if(bw.opera5) document.write("<style>DIV.clSlide{padding:0px; background-image:url(' ')}\nDIV.clSlideSub{padding:0px; background-image:url(' ')}\nDIV.clSlideSub2{padding:0px; background-image:url(' ')}</style>")

/************************************************************************************
Making cross-browser objects
************************************************************************************/
function makeMenuObj(obj,nest){
    nest=(!nest) ? "":'document.'+nest+'.'                                      
    this.css=bw.dom? document.getElementById(obj).style:bw.ie4?document.all[obj].style:bw.ns4?eval(nest+"document.layers." +obj):0;     
    this.el=bw.dom?document.getElementById(obj):bw.ie4?document.all[obj]:bw.ns4?eval(nest+'document.'+obj):0;   
    this.ref=bw.dom || bw.ie4? document:bw.ns4?eval(nest+"document.layers." +obj+".document"):0;        
    this.x=(bw.ns4 || bw.ns5)? this.css.left:this.css.offsetLeft;
    this.y=(bw.ns4 || bw.ns5)? this.css.top:this.css.offsetTop;     
    this.hideIt=b_hideIt; this.showIt=b_showIt; this.movey=b_movey
    this.moveIt=b_moveIt; this.moveBy=b_moveBy; this.status=0; 
    this.bgImg=b_bgImg; this.obj = obj + "Object"; eval(this.obj + "=this"); 
    this.clipTo=b_clipTo;
    return this
}
function b_showIt(){this.css.visibility="visible"; this.status=1}
function b_hideIt(){this.css.visibility="hidden"; this.status=0}
function b_movey(y){this.y=y; this.css.top=this.y}  
function b_moveIt(x,y){this.x=x; this.y=y; this.css.left=this.x;this.css.top=this.y}
function b_moveBy(x,y){this.x=this.x+x; this.y=this.y+y; this.css.left=this.x;this.css.top=this.y}
function b_bgImg(img){if(bw.ie||bw.dom)this.css.backgroundImage="url("+img+")"
else this.css.background.src=img
}
function b_clipTo(t,r,b,l,w){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+","+r+","+b+","+l+")"; if(w){this.css.width=r; this.css.height=b}}}
/********************************************************************************
Initiating page, making objects..
********************************************************************************/
function SlideMenuInit(){
    oSlideMenu=new makeMenuObj('divSlideCont')
    oSlideMenu.moveIt(menux,menuy)
    oSlide=new Array()
    for(i=0;i<menus.length;i++){
        oSlide[i]=new makeMenuObj('divSlide'+i,'divSlideCont')
        oSlide[i].subs=menus[i].subs
        oSlide[i].sub=new Array()
        oSlide[i].moveIt(0,mainheight*i)
        oSlide[i].starty=oSlide[i].y
    if(bw.opera) oSlide[i].css.paddingLeft="10px"
        if(!menus[i].seperator) oSlide[i].bgImg(level0_regular)
        for(j=0;j<oSlide[i].subs;j++){
            oSlide[i].sub[j]=new makeMenuObj('divSlideSub'+i+"_"+j,'divSlideCont')
            oSlide[i].sub[j].moveIt(10,oSlide[i].y+subheight*j+between)
            oSlide[i].sub[j].starty=oSlide[i].sub[j].y
            oSlide[i][j]=new Array()
            oSlide[i][j].subs=menus[i][j].subs
            oSlide[i][j].sub=new Array()
            img=level1_round
            if(oSlide[i][j].subs!=0){
                if(j!=oSlide[i].subs-1) img=level1_sub
                else img=level1_sub_round
                oSlide[i].sub[j].css.color="white"
            }else{
                if(j!=oSlide[i].subs-1)img=level1_regular
            }
            oSlide[i].sub[j].origimg=img
            oSlide[i].sub[j].bgImg(img)
            for(a=0;a<oSlide[i][j].subs;a++){
                oSlide[i][j].sub[a]=new makeMenuObj('divSlideSub'+i+"_"+j+"_"+a,'divSlideCont')
                oSlide[i][j].sub[a].moveIt(20,oSlide[i].sub[j].y+subheight*a+between-2)
                oSlide[i][j].sub[a].starty=oSlide[i][j].sub[a].y            
                oSlide[i][j][a]=new Array()
                oSlide[i][j][a].subs=menus[i][j][a].subs
                oSlide[i][j][a].sub=new Array()
                if(a!=oSlide[i][j].subs-1) img=level2_regular
                else img=level2_round
                oSlide[i][j].sub[a].origimg=img
                oSlide[i][j].sub[a].bgImg(img)
            }
        }
    }
    oSlideMenu.showIt()
}
/********************************************************************************
Variables
********************************************************************************/
var active=-1;var going;var isthere; var sactive=-1; var sisthere=-1; var s2active=-1; var s2isthere=-1
/********************************************************************************
Switch menu function.
********************************************************************************/
function swmenu(num,snum,s2num){
    if(snum!=-1){
        if(oSlide[num][snum].subs==0) return
    }
    if(s2num!=-1){
        if(oSlide[num][snum][s2num].subs==0) return
    }
    if((num!=active || snum!=sactive || s2num!=s2active) && !going){going=true;isthere=0;sisthere=0;moveUp(num,snum,s2num)}
}
/********************************************************************************
Moving the menus upward to their original position.
********************************************************************************/
function moveUp(num,snum){
    if(snum==-1){
        for(i=0;i<oSlide.length;i++){
            if(oSlide[i].y>oSlide[i].starty+pxspeed && active!=i) oSlide[i].moveBy(0,-pxspeed)
            else{if(active!=i) oSlide[i].moveIt(oSlide[i].x,oSlide[i].starty); isthere=i}
        }
        
        if(isthere<oSlide.length-1) setTimeout("moveUp("+num+","+snum+")",timspeed)
        else swmenu2(num,snum)
    }else{
        if(num==oSlide.length-1) isthere=num
    
        if(sactive!=-1){ //Is out!
            //Slide subs
            j=0
            for(i=sactive+1;i<oSlide[num].sub.length;i++){
                j++
                if(oSlide[num].sub[i].y>oSlide[num].sub[i].starty+pxspeed) oSlide[num].sub[i].moveBy(0,-pxspeed)
                else{oSlide[num].sub[i].moveIt(oSlide[num].sub[i].x,oSlide[num].sub[i].starty); sisthere=i}
            }
            //Slide main
            for(i=num+1;i<oSlide.length;i++){
                if(oSlide[i].y>oSlide[i].starty + oSlide[num].sub[sactive].y +subheight*j )  oSlide[i].moveBy(0,-pxspeed)
                else{oSlide[i].moveIt(oSlide[i].x,oSlide[i].starty + oSlide[num].sub[sactive].y +subheight*j ); isthere=i}
            }
        }else{ //Slide to the one clicked
            for(i=num+1;i<oSlide.length;i++){
                if(oSlide[i].y>oSlide[i].starty + snum*between+between)  oSlide[i].moveBy(0,-pxspeed)
                else{oSlide[i].moveIt(oSlide[i].x,oSlide[i].starty + snum*between+between); isthere=i}
            }
        }
        if(isthere<oSlide.length-1 || (sactive!=-1 && sisthere<oSlide[num].sub.length-1 && sactive!=oSlide[num].sub.length-1)) setTimeout("moveUp("+num+","+snum+")",timspeed)
        else swmenu2(num,snum)
    }
}
/********************************************************************************
Switch menu 2, stuff that happens before the menus are moved down again.
********************************************************************************/
function swmenu2(num,snum){
    isthere=0;
    sisthere=0;
    if(active>-1 && snum==-1){
        //Hiding submenus
        for(j=0;j<oSlide[active].subs;j++){oSlide[active].sub[j].hideIt()}
        oSlide[active].bgImg(level0_regular)
        oSlide[active].moveIt(0,oSlide[active].starty)
    }
    if(sactive>-1){
        //Hiding submenus
        for(j=0;j<oSlide[active][sactive].sub.length;j++){oSlide[active][sactive].sub[j].hideIt()}
        oSlide[active].sub[sactive].bgImg(oSlide[active].sub[sactive].origimg)
        oSlide[active].sub[sactive].moveIt(10,oSlide[active].sub[sactive].starty)
        //Move back to place
        for(i=sactive+1;i<oSlide[active].sub.length;i++){
            oSlide[active].sub[i].moveIt(oSlide[active].sub[i].x,oSlide[active].sub[i].starty)
        }
    }
    active=num
    //Showing submenus
    if(snum>-1){
        sactive=snum
        for(j=0;j<oSlide[num][snum].sub.length;j++){oSlide[num][snum].sub[j].showIt()}
        oSlide[num].sub[snum].moveBy(10,3)
        oSlide[num].sub[snum].bgImg(level1_round2)
    }else{
        sactive=-1
        for(j=0;j<oSlide[active].subs;j++){oSlide[active].sub[j].showIt()}
        oSlide[num].moveBy(10,3)
        oSlide[num].bgImg(level0_round)
    }
    if(num!=oSlide.length-1) moveDown(num,snum)
    else{
        isthere=num
        moveDown(num,snum)
    }
}
/********************************************************************************
Moving the menus down
********************************************************************************/
function moveDown(num,snum){
    //if(num==oSlide.length-1) isthere=num
    for(i=num+1;i<oSlide.length;i++){
        if(snum==-1){
            if(oSlide[i].y<(oSlide[num].subs-1)*subheight+oSlide[i].starty+between-pxspeed) oSlide[i].moveBy(0,pxspeed)
            else{oSlide[i].moveIt(oSlide[i].x,(oSlide[num].subs-1)*subheight+oSlide[i].starty+between); isthere=i}
        }else{
            if(oSlide[i].y<(oSlide[num].subs-1)*subheight+oSlide[i].starty+between-pxspeed + (oSlide[num][snum].subs-1)*subheight+between)  oSlide[i].moveBy(0,pxspeed)
            else{oSlide[i].moveIt(oSlide[i].x,(oSlide[num].subs-1)*subheight+oSlide[i].starty+between  + (oSlide[num][snum].subs-1)*subheight+between); isthere=i}
        }
    }
    if(snum!=-1){
        for(i=snum+1;i<oSlide[num].sub.length;i++){     
            if(oSlide[num].sub[i].y<(oSlide[num][snum].subs-1)*subheight+oSlide[num].sub[i].starty+between-pxspeed) oSlide[num].sub[i].moveBy(0,pxspeed)
            else{oSlide[num].sub[i].moveIt(oSlide[num].sub[i].x,(oSlide[num][snum].subs-1)*subheight+oSlide[num].sub[i].starty+between); sisthere=i}
        }
    }
    if(snum==-1){
        if(isthere<oSlide.length-1) setTimeout("moveDown("+num+","+snum+")",timspeed)
        else going=false
    }else{
        if(isthere<oSlide.length-1 || (sisthere<oSlide[num].sub.length-1 && snum!=oSlide[num].sub.length-1)) setTimeout("moveDown("+num+","+snum+")",timspeed)
        else going=false
    }
}
var test=0
/********************************************************************************
Functions to write out the layers...
********************************************************************************/
menus=new Array(); var a=0; var b=0; var c=0; var d=0
function makeMenu(type,text,lnk,target,end){
    str=""; tg="";
  if(target) tg='target="'+target+'"'
  if(!lnk) lnk="#"
  self.status=lnk
    if(a==0) str='<div id="divSlideCont">\n'
    if(type=="top"){
        menus[a]=new Array();
        if(text=="seperator"){
            str+='\t<div id="divSlide'+a+'" class="clSlide"></div>\n'
            menus[a].seperator=1
        }else{
      str+='\t<div id="divSlide'+a+'" class="clSlide"><a href="'+lnk+'" '+tg+' onclick="swmenu('+a+',-1,-1); if(bw.ie || bw.ns6) this.blur(); '
      if(lnk=="#") str+='return false'
      str+='" class="clSlideLinks">&nbsp;'+text+'</a><br></div>\n'
        }
    menus[a].subs=0; a++; b=0
    }else if(type=="sub"){
        str+='\t\t<div id="divSlideSub'+(a-1)+'_'+(b)+'" class="clSlideSub"><a '+tg+' onclick="swmenu('+(a-1)+','+b+',-1); if(bw.ie || bw.ns6) this.blur(); '
    if(lnk=="#") str+='return false'
    str+='" href="'+lnk+'" class="clSlideSubLinks">&nbsp;&nbsp;'+text+'</a><br></div>\n'
        b++; menus[a-1].subs=b; menus[a-1][b-1]=new Array(); c=0; menus[a-1][b-1].subs=0
    }else if(type=="sub2"){
        str+='\t\t<div id="divSlideSub'+(a-1)+'_'+(b-1)+'_'+c+'" class="clSlideSub2"><a '+tg+' href="'+lnk+'" class="clSlideSub2Links">&nbsp;&nbsp;'+text+'</a><br></div>\n'
        c++; menus[a-1][b-1].subs=c; menus[a-1][b-1][c-1]=new Array(); d=0; menus[a-1][b-1][c-1].subs=0
    }
    if(end) str+="</div>"
    document.write(str)
}
function preLoadBackgrounds(){
  for(i=0;i<arguments.length;i++){
    this[i]=new Image()
    this[i].src=arguments[i]
  }
  return this
}
</script>
</head><body marginleft="0" marginheight="0" bgcolor="black"><!-- START DELETE --><div style="position:absolute; left:0; top:0"><a href="#" onclick="self.close(); return false"></a></div><br><br><br><!-- END DELETE --><script>

//Variables to set
between=25     //The pixel between the menus and the submenus
mainheight=25  //The height of the mainmenus
subheight=22   //The height of the submenus
pxspeed=5    //The pixel speed of the animation
timspeed=5  //The timer speed of the animation
menuy=80       //The top placement of the menu.
menux=10        //The left placement of the menu
//Images - Play with these
level0_regular="level0_regular.gif"
level0_round="level0_round.gif"
level1_regular="level1_regular.gif"
level1_round="level1_round.gif"
level1_sub="level1_sub.gif"
level1_sub_round="level1_sub_round.gif"
level1_round2="level1_round2.gif"
level2_regular="level2_regular.gif"
level2_round="level2_round.gif"

//Leave this line
preLoadBackgrounds(level0_regular,level0_round,level1_regular,level1_round,level1_sub,level1_sub_round,level1_round2,level2_regular,level2_round)


//There are 3 different types of menus you can make
//top = Main menus
//sub = Sub menus
//sub2 = SubSub menus

//You control the look of the menus in the stylesheet

//makeMenu('TYPE','TEXT','LINK','TARGET', 'END (THE LAST MENU)')

//Menu 0 
makeMenu('top','Home')
    makeMenu('sub','startpagina','/home.html')
    
//Menu 1
makeMenu('top','Fotos')
    makeMenu('sub','Computers','/script/search.asp?new=1')
        makeMenu('sub','Mensen','/script/search.asp?new=1')
        makeMenu('sub','Dieren','/script/search.asp?new=1')
    

//Menu 2    
makeMenu('top','Cartoons')
  makeMenu('sub','Tutorials','/tutorials/index.asp')
//Menu 3
makeMenu('top','Moppen')
  makeMenu('sub','Cool sites','forums/forum.asp?FORUM_ID=1&CAT_ID=1&Forum_Title=Cool+sites')
  makeMenu('sub','CoolMenus','forums/forum.asp?FORUM_ID=2&CAT_ID=1&Forum_Title=CoolMenus')
  makeMenu('sub','Crossbrowser','forums/forum.asp?FORUM_ID=3&CAT_ID=1&Forum_Title=Crossbrowser+DHTML')
  makeMenu('sub','Scripts','forums/forum.asp?FORUM_ID=4&CAT_ID=1&Forum_Title=DHTML+Scripts')
  makeMenu('sub','dhtmlcentral.com','forums/forum.asp?FORUM_ID=5&CAT_ID=1&Forum_Title=dhtmlcentral%2Ecom')
  makeMenu('sub','General','forums/forum.asp?FORUM_ID=6&CAT_ID=1&Forum_Title=General+DHTML+issues')
  makeMenu('sub','Off-topic','forums/forum.asp?FORUM_ID=9&CAT_ID=1&Forum_Title=Off%2Dtopic')
  makeMenu('sub','Active topics','forums/active.asp')

//Menu 4  
makeMenu('top','Funny files')
  makeMenu('sub','Examples','coolmenus/examples/')
  makeMenu('sub','Download','coolmenus/download.asp')
  makeMenu('sub','Tutorial','coolmenus/tutorial.asp')
  makeMenu('sub','FAQ','faq/index.asp')





//Starting the menu
onload=SlideMenuInit;
</script>
</body>
</html>

Steun mij en draag bij aan een wereld zonder MS --------- Random WTF


  • dominic
  • Registratie: Juli 2000
  • Laatst online: 21-08 19:07

dominic

will code for food

Mail de maker.. ;)

Serieus, als je een newbie bent dan ga je toch niet dit soort lappen code downen?!?

Download my music on SoundCloud


  • whoami
  • Registratie: December 2000
  • Laatst online: 11:48
HTML hoort niet thuis op P&W, check de FAQ en de quickstart maar.
Verder is het niet de bedoeling dat je hier je hele lap (met 90% irrelevante code) neerzet en je probleem erbij plakt en dan maar hoopt dat iemand anders het voor jou zal oplossen. (Ook hier geldt, lees de FAQ en de Quickstart er maar op na).

Je moet initiatief tonen, aantonen wat je al geprobeerd hebt, zeggen wat er niet lukt ...

En verder heeft domincbout ook een punt. GoT is geen helpdesk waar je vragen kunt stellen ivm een script/stuk code dat iemand anders gemaakt heeft en dat je gedownloaded hebt.

https://fgheysels.github.io/


  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

Welkom in P&W -> Quickstart om snel aan de slag te kunnen

maar als je dit zo bij de buren neerzet knallen ze um ook dicht
vraag het de maker

Doet iets met Cloud (MS/IBM)


Dit topic is gesloten.