Avatar billede Slettet bruger
09. december 2002 - 22:04 Der er 10 kommentarer og
1 løsning

Lille dropdown i stil med rullegardin, men med skjul/vis knap

Hej!

Jeg har med lys og lygte ledt efter et script der laver et rullegardin, gerne i en bredde på ca. 100px, og en højde der evt. kan variere efter indhold.

Det skal kunne rulles op/ned med klik på en knap, der sidder lige under rullegardinet.

Naturligvis noget der virker i NN, IE, Mozilla og Opera.
Avatar billede nikolajdu Nybegynder
09. december 2002 - 22:09 #1
Mener du lidt alá : www.peterelkjaer.dk ?? Det kan være du kan lokke noget ud af pelkjaer.
Avatar billede ztyxx Nybegynder
09. december 2002 - 22:11 #2
det kan nemt laves med Dreamweaver
Avatar billede Slettet bruger
09. december 2002 - 22:18 #3
Jeg mener noget i stil med det her, der dog kun virker i explorer, og desuden selv kører op (det kan nemt fixes):

<html>

<head>
<title>Menu</title>

<script language="Javascript" type="text/javascript">
                        yspan = 250;
                        function scrollBannerDown()
                        {
                            if(yspan > 0)
                            {
                                yspan = yspan - 35;
                                if(yspan <= 0)
                                {
                                    yspan = 0;
                                    document.getElementById('scrolldownbanner').style.top = 0
                                };
                                                       
                                document.getElementById('scrolldownbanner').style.clip = 'rect(' + yspan + ' auto auto auto)';
                                if(yspan > 0)
                                {
                                    document.getElementById('scrolldownbanner').style.top = parseInt(document.getElementById('scrolldownbanner').style.top)+35;
                                };
                                setTimeout("scrollBannerDown()",100);
                            };
                            else
                            {   
                                setTimeout("scrollBannerUp()",3000);
                            };
                        };
                                                   
                        function scrollBannerUp()
                        {
                            if(yspan < 250)
                            {
                                yspan = yspan + 35 ;
                                if(yspan >= 250)
                                {
                                    yspan = 250;
                                    document.getElementById('scrolldownbanner').style.top = -251};
                                    document.getElementById('scrolldownbanner').style.clip = 'rect(' + yspan + ' auto auto auto)';
                                    if(yspan < 250)
                                    {
                                        document.getElementById('scrolldownbanner').style.top = parseInt(document.getElementById('scrolldownbanner').style.top)-35;
                                    };
                                    setTimeout("scrollBannerUp()",50)
                                };
                            else
                            {
                                mayclick = 1;
                            };
                        };
                    </script>

</head>

<body>
<DIV ID=scrolldownbanner STYLE="top:-251px;left:'+a+'px;clip:rect(250px auto auto auto);position:absolute; width:490px; height:250px;">
<a href="default.asp" target="_blank"><img src="banner.gif" border="0" width="490" height="250" alt="Banner"></a></a><br><a onClick="scrollBannerDown();" HREF="#"><img SRC="../images/trans.gif" HEIGHT="1" WIDTH="427" border="0"></a><a onclick="scrollBannerDown();" href="#"><img src="knap.gif" border="0" width="62" height="14"></a></div>
</body>
</html>
Avatar billede Slettet bruger
09. december 2002 - 22:19 #4
ztyxx> Har desværre ikke Dreamweaver
Avatar billede ztyxx Nybegynder
09. december 2002 - 22:20 #5
du kan hente en demo på www.macromedia.com, der har du 30 dages free trial
Avatar billede Slettet bruger
09. december 2002 - 22:28 #6
Kan den demo lave en menu der "glider ned" og glider op igen ved klik på knappen? Og er den kompatibel med nævnte browsere? Jeg gider ikke hente den hvis ikke :)
Avatar billede nikolajdu Nybegynder
09. december 2002 - 22:30 #7
Det er en fuld Demo - Der er ingen begrænsninger udover de 30 dage - Dog får du den ikke sådan lige til at lave den. Der skal arbejdes noget...
Avatar billede ztyxx Nybegynder
09. december 2002 - 22:30 #8
jeps, ellers kig på http://www.dansteinman.com/dynduo/
Avatar billede Slettet bruger
09. december 2002 - 23:17 #9
Fandt en på www.dhtmlcentral.com :)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
    <title>Untitled</title>
   
<style type="text/css">
#divMenu0 {position:absolute; top:0px; left:30px; visibility:hidden; font-family:arial,helvetica,sans-serif; font-size:18px; font-weight:bold;}
#divMenu1 {position:absolute; top:0px; left:150px; visibility:hidden; font-family:arial,helvetica,sans-serif; font-size:18px; font-weight:bold;}
#divMenu2 {position:absolute; top:0px; left:350px; visibility:hidden; font-family:arial,helvetica,sans-serif; font-size:18px; font-weight:bold;}
</style>


<script language="JavaScript" type="text/javascript">
/********************************************************************************** 
TopMenu
*  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: 09/23/2001 (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()
/* Set the variables below.
If you look at the init function you can see that you can also set
these variables different for each menu!

If you only want 1 menu just remove the lines marked with *
in the init function and the divs from the page.
*/

//How many pixels should it move every step?
var tMove=10;

//At what speed (in milliseconds, lower value is more speed)
var tSpeed=40

//Do you want it to move with the page if the user scroll the page?
var tMoveOnScroll=true

//How much of the menu should be visible in the in state?
var tShow=20

/********************************************************************
Contructs the menuobjects -Object functions
*********************************************************************/
function makeMenu(obj,nest,show,move,speed){
    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.x=this.css.left||this.css.pixelLeft||this.el.offsetLeft||0
    this.y=this.css.top||this.css.pixelTop||this.el.offsetTop||0
    this.state=1; this.go=0; this.mup=b_mup; this.show=show; this.mdown=b_mdown;
    this.height=bw.ns4?this.css.document.height:this.el.offsetHeight
    this.moveIt=b_moveIt; this.move=move; this.speed=speed
    this.obj = obj + "Object";     eval(this.obj + "=this")   
}

// A unit of measure that will be added when setting the position of a layer.
var px = bw.ns4||window.opera?"":"px";

function b_moveIt(x,y){this.x=x; this.y=y; this.css.left=this.x+px; this.css.top=this.y+px;}
//Menu in
function b_mup(){
    if(this.y>-this.height+this.show){
        this.go=1; this.moveIt(this.x,this.y-this.move)
        setTimeout(this.obj+".mup()",this.speed)
    }else{this.go=0; this.state=1}   
}
//Menu out
function b_mdown(){
    if(this.y<eval(scrolled)){
        this.go=1; this.moveIt(this.x,this.y+this.move)
        setTimeout(this.obj+".mdown()",this.speed)
    }else{this.go=0; this.state=0}   
}
/********************************************************************************
Deciding what way to move the menu (this is called onmouseover, onmouseout or onclick)
********************************************************************************/
function moveTopMenu(num){
    if(!oMenu[num].go){
        if(!oMenu[num].state)oMenu[num].mup()   
        else oMenu[num].mdown()
    }
    for(i=0;i<oMenu.length;i++){
        if(i!=num && !oMenu[i].state){ oMenu[i].mup()}
    }
}
/********************************************************************************
Checking if the page is scrolled, if it is move the menu after
********************************************************************************/
function checkScrolled(){
    for(i=0;i<oMenu.length;i++){
        if(!oMenu[i].go){
            y=!oMenu[i].state?eval(scrolled):eval(scrolled)-oMenu[i].height+oMenu[i].show
            oMenu[i].moveIt(oMenu[i].x,y)
        }
    }
    if(bw.ns4||bw.ns6) setTimeout('checkScrolled()',40)
}
/********************************************************************************
Inits the page, makes the menu object, moves it to the right place,
show it
********************************************************************************/
function topMenuInit(){
    oMenu=new Array()
    oMenu[0]=new makeMenu('divMenu0',"",tShow,tMove,tSpeed)
    //Here's an example of how you can set the properties for each menu: //*
    //You can add as many menus you want like the line above.
    //Just remember to add the actual divs in the style and body as well.
   
    scrolled=bw.ns4||bw.ns6?"window.pageYOffset":"document.body.scrollTop"
    //Placing and showing menus
    for(i=0;i<oMenu.length;i++){
        oMenu[i].moveIt(oMenu[i].x,-oMenu[i].height+oMenu[i].show)
        oMenu[i].css.visibility='visible'
    }
    if(tMoveOnScroll) bw.ns4||bw.ns6?checkScrolled():window.onscroll=checkScrolled;
}

//Initing menu on pageload
onload=topMenuInit;

/***************
Multiple Scripts
If you have two or more scripts that use the onload event, probably only one will run (the last one).
Here is a solution for starting multiple scripts onload:
  1. Delete or comment out all the onload assignments, onload=initScroll and things like that.
  2. Put the onload assignments in the body tag like in this example, note that they must have braces ().
  Example: <body onload="initScroll(); initTooltips(); initMenu();">
**************/
</script>
       
   
</head>

<body>
<div id="divMenu0">
    <!-- You can just replace this text with some cool images if you want -->
    This is onclick <br>like the first one <br>
    <a href="#" onclick="moveTopMenu(0); return false">MENU 3</a>
</div>
       


</body>
</html>
Avatar billede gizp Nybegynder
10. december 2002 - 18:58 #10
Jeg kan godt lave en som passer til det du sige!!
Avatar billede Slettet bruger
10. december 2002 - 19:12 #11
gizp> Den er lavet...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester