Doppeltes Dropdownmenu



  • Hallo,
    ich arbeite gerade wieder an einer Seite für einen Kunden. Leider bin ich gerade richtig verzweifelt. Möchte aber es endlich fertig bekommen...

    http://raubritta.lima-city.de/Thai-Kochstudio/speisekarte.php
    Wenn ich bei dieser Seite zuerst Das Hauptmenu runterklappen lasse und dann auf Nudeln gehen will schaffe ich es nicht, weil das Menu immer wieder nach oben gesetzt wird
    Hat jemand eine Idee, wie ich das Lösen kann?

    Mein Code:
    für speisekarte.php

    <a href="#" class="menulink"><img src="bilder/hauptspeisen.jpg" /></a>
    		<ul>
    			<li><a href="#" class="sub"><img src="bilder/speisekarte/h1.jpg" /></a>
    				<ul>
    					<li><?php echo"<a href='speisekarte.php?v=$v&e=$e&h=1&u=1&d=$d'>"; ?>
                        <img src="bilder/speisekarte/uh1.jpg" /></li>
    					<li><?php echo"<a href='speisekarte.php?v=$v&e=$e&h=1&u=2&d=$d'>"; ?>
                        <img src="bilder/speisekarte/uh2.jpg" /></li>
    					<li><?php echo"<a href='speisekarte.php?v=$v&e=$e&h=1&u=3&d=$d'>"; ?>
                        <img src="bilder/speisekarte/uh3.jpg" /></li>
    					<li><?php echo"<a href='speisekarte.php?v=$v&e=$e&h=1&u=4&d=$d'>"; ?>
                        <img src="bilder/speisekarte/uh4.jpg" /></li>
    					<li><?php echo"<a href='speisekarte.php?v=$v&e=$e&h=1&u=5&d=$d'>"; ?>
                        <img src="bilder/speisekarte/uh5.jpg" /></li>
    					<li><?php echo"<a href='speisekarte.php?v=$v&e=$e&h=1&u=6&d=$d'>"; ?>
                        <img src="bilder/speisekarte/uh6.jpg" /></li>
    				</ul>
               	</li>
    

    index.css

    ul.menu {list-style:none; margin:0; padding:0}
    ul.menu * {margin:0; padding:0}
    ul.menu a {display:block; text-decoration:none}
    ul.menu li {position:relative; float:left;}
    ul.menu ul {position:absolute; top:80px; left:0;  display:none; opacity:0; list-style:none}
    ul.menu ul li {position:relative; width:200px; margin:0}
    ul.menu ul li a {display:block; }
    ul.menu ul ul {left:200px; top:-1px}
    ul.menu .menulink { font-weight:bold;  width:200px}
    

    script.js

    var menu=function()
    {
    	var t=10,z=50,s=6,a;
    	function dd(n)
    	{
    		this.n=n; 
    		this.h=[]; 
    		this.c=[]
    	}
    	dd.prototype.init=function(p,c)
    	{
    		a=c; 
    		var w=document.getElementById(p), s=w.getElementsByTagName('ul'), l=s.length, i=0;
    		for(i;i<l;i++)
    		{
    			var h=s[i].parentNode; 
    			this.h[i]=h; 
    			this.c[i]=s[i];
    			h.onmouseover=new Function(this.n+'.st('+i+',true)');
    			h.onmouseout=new Function(this.n+'.st('+i+')');
    		}
    	}
    	dd.prototype.st=function(x,f)
    	{
    		var c=this.c[x], h=this.h[x], p=h.getElementsByTagName('a')[0];
    		clearInterval(c.t); 
    		c.style.overflow='hidden';
    		if(f)
    		{
    			p.className+=' '+a;
    			if(!c.mh)
    			{
    				c.style.display='block'; 
    				c.style.height=''; 
    				c.mh=c.offsetHeight; 
    				c.style.height=0
    			}
    			if(c.mh==c.offsetHeight)
    			{
    				c.style.overflow='visible'
    			}
    			else
    			{
    				c.style.zIndex=z; 
    				z++; 
    				c.t=setInterval(function(){sl(c,1)},t)
    			}
    		}
    		else
    		{
    			p.className=p.className.replace(a,''); 
    			c.t=setInterval(function(){sl(c,-1)},t)
    		}
    	}
    	function sl(c,f)
    	{
    		var h=c.offsetHeight;
    		if((h<=0&&f!=1)||(h>=c.mh&&f==1))
    		{
    			if(f==1)
    			{
    				c.style.filter=''; 
    				c.style.opacity=1; 
    				c.style.overflow='visible'
    			}
    			clearInterval(c.t); 
    			return
    		}
    		var d=(f==1)?Math.ceil((c.mh-h)/s):Math.ceil(h/s), o=h/c.mh;
    		c.style.opacity=o; 
    		c.style.filter='alpha(opacity='+(o*100)+')';
    		c.style.height=h+(d*f)+'px'
    	}
    	return{dd:dd}
    }();
    

    wäre echt über anregungen und Hilfen erfreut. Ist immer schlimm einem Kunden sagen zu müssen, dass man es nicht hinbekommt...

    Ich habe bereits in mehreren Foren gefragt. Aber nirgendwo konnte mir jemand helfen.

    Es scheint die einzige Möglichkeit zu sein alle Grafiken extrem kleiner zu skalieren oder?

    danke im vorraus



  • Techniker schrieb:

    Ist immer schlimm einem Kunden sagen zu müssen, dass man es nicht hinbekommt...

    danke im v******

    sag dem kunden einfach das dus nicht hinbekommst. er soll sich halt einen fachkundigen menschen suchen und keinen "techniker" der seine arbeit in div. foren erledigen lassen will.

    echt, leute gibts...



  • und ein auftragsarbeiter, wie du hätte es hinbekommen?

    Nun, der Kunde hat mich aus gutem Grund ausgewäht. Bis jetzt habe ich es ja geschafft alles zu schreiben, was nötig war. Nur hier komme ich einfach nicht weiter.

    Also ich finde deinen Kommentar einfach nur dreist. Ich habe nicht umsonst allein für diesen Kunden ohne Probleme an die 2k Zeilen Code geschrieben. Für ein angemessenes Gehalt.

    Hättest du die den Code mal etwas besser angeschaut hättest du mitbekommen, dass es eine sache ist, die selbst Profis ins grübeln fallen lässt.

    *einfach nur den Kopf schüttel*
    wofür sind denn bitte Foren, wie diese da? Ich hab sie bis jetzt immer als solche aufgefasst, in der man sich gegenseitig bei gewissen aufgaben unterstützt. So, wie ich bereits vielen Leuten geholfen habe erbitte ich hier die hilfe von anderen Menschen.

    (ein Fachkundiger würde ihn das 5-10 Fache kosten. Das einzige Problem, dass er hierbei VIELLEICHT nicht hätte wäre meins.)



  • So ein Forum ist bestimmt nicht dazu da, Deine Faulheit zu unterstützen.
    Schau Dir's an: http://validator.w3.org/check?verbose=1&uri=http%3A%2F%2Fraubritta.lima-city.de%2FThai-Kochstudio%2Fspeisekarte.php

    Und bringe den Mist in Ordnung anstatt herumzumaulen.



  • vielen dank für eure Hilfe.
    Ich habe hier NIRGENDWO!!! gesagt, dass ihr mir etwas Programmieren sollt o.ä. es geht hier darum, dass ich Ideen brauche, die mir helfen das Problem zu lösen.

    Habe ich hier irgendwo gesagt, dass ich faul bin o.ä?
    und ja: ich habe den Markup Validation Service benutzt und nein, es waren keine auslösenden Fehler. Die einzigen, die ich dort gefunden habe waren PHP bezogen oder vergessene alts, was ja wohl nicht ausschlaggebend ist.

    Es geht mir ja auch garnicht um die Fehler. Sondern um Lösungen, wie ich dieses Problem beheben kann.

    Schleppertreiber: sag mir doch wo ich faul bin. Ich wäre faul, wenn ich euch gefragt hätte, ob ihr mir ne Funktion schreiben könntet. Ich wollte einfach nur wissen, wie ihr es lösen würdet 😞



  • Ich habe die Seite grade geöffnet, gewartet da die Ladezeit echt pervers ist.

    Aber bis grade eben dachte ich, die Seite würde immernoch laden.
    Die ganze Zeit vermittelt einen Eindruck, als sei sie unfertig. Die Bilder schweben irgendwo un der Luft und es kommt immer ein Gefühl auf, als ob was fehlen würde.

    Irgendwas machst du in Richtung Usability sehr sehr falsch.



  • mhm, welchen Browser benutzt du?

    mit der Geschwindigkeit: ich benutze in der Testzeit noch einen Freehoster. Ist die Seite öffentlich wird sich dies (und natürlich die URL) noch ändern.



  • Für dein Menü verwendest du overlib.js, da wäre deine Frage im Joomla-Portal vielleicht besser aufgehoben.

    Damit es aber nicht heißt, hier würde dir nicht weitergeholfen werden: Eine Dokumentation zu den Funktionen der Overlib gibt es hier.

    Viel Erfolg und ein arbeitssames Wochenende.



  • arbeitssames Wochenende

    👎



  • Hallo,

    also ich muss ehrlich sagen, dass ich als Kunde, die Seite ablehnen würde. Der Hintergrund tut weh und die ganze Aufmachung wirkt unprofessionell - dafür muss man kein Geld bezahlen! Zudem scrollt die Speisekarten-Seite automatisch nach unten, dass Menü ist damit nicht lesbar! Das gesamte Layout ist (zumindest in IE7 // IE8) total zerschossen. Man muss immer ersten 'nen halben Kilometer scrollen, bis man auf den "HOME"-Button stößt.

    Mir kommmt es so vor, als fehlt dort eine ganze Menge an gestalterischen Grundlagen. Webdesign ist eben nicht gleich Webdesign.

    LG, Micha



  • RandomAccess85 schrieb:

    Hallo,

    also ich muss ehrlich sagen, dass ich als Kunde, die Seite ablehnen würde. Der Hintergrund tut weh und die ganze Aufmachung wirkt unprofessionell - dafür muss man kein Geld bezahlen! Zudem scrollt die Speisekarten-Seite automatisch nach unten, dass Menü ist damit nicht lesbar! Das gesamte Layout ist (zumindest in IE7 // IE8) total zerschossen. Man muss immer ersten 'nen halben Kilometer scrollen, bis man auf den "HOME"-Button stößt.

    Mir kommmt es so vor, als fehlt dort eine ganze Menge an gestalterischen Grundlagen. Webdesign ist eben nicht gleich Webdesign.

    LG, Micha

    Als Kunde würde ich eine Seite, die ausschließlich mit JavaScript funktioniert, wohl auch ablehnen (und nicht bezahlen). Aber das war ja nicht die Frage ...



  • Also:

    1. Ich hätte selber gerne ein anderes Design. Aber DIESES wurde vom Kunden so vorgeschrieben. Ich werde mich da nicht widersetzen, nur weil es mir nicht gefällt.
    2. Wie denn, dass nur in JS funktioniert? 😮 Etwa die hälfte dessen, was ich Programmiert habe liegt immernoch in PHP Form vor...

    Zudem scrollt die Speisekarten-Seite automatisch nach unten, dass Menü ist damit nicht lesbar! Das gesamte Layout ist (zumindest in IE7 // IE8) total zerschossen. Man muss immer ersten 'nen halben Kilometer scrollen, bis man auf den "HOME"-Button stößt.

    Ich bin halt die ganze Zeit dabei irgendwelche lösungen zu finden bei denen sich mein Code nicht von selber wieder aufruft uns nach oben scrollt. Das nach unten Scrollen kommt also natürlich wieder raus. Das ist nur zu Testzwecken.
    Jup, den IE Fehler habe ich auch schon mitbekommen. Wird eines der sachen sein, die ich als nächstes lösen muss...

    Für dein Menü verwendest du overlib.js, da wäre deine Frage im Joomla-Portal vielleicht besser aufgehoben.

    Nein und Nein.
    Als hilfe habe ich: http://www.leigeber.com/2008/11/drop-down-menu/ benutzt. Ich verstehe irgendwie nicht, warum ich ins Joomla-Portal gehen sollte, wo ich doch NICHTS mit Joomla in irgendeiner Art zu tun habe...

    Als Kunde würde ich eine Seite, die ausschließlich mit JavaScript funktioniert, wohl auch ablehnen (und nicht bezahlen). Aber das war ja nicht die Frage ...

    nocheinmal: ich führe hier die Wünsche eines Kunden aus. Ich bin mir auch bewusst, dass zur Zeit nur 98% der nutzer JS an haben. Also 2% es aus welchen Gründen auch immer deaktiviert haben. Gut, man kann sich aber auch nicht nach allem richten.

    (ihr seid echt das erste Forum, dass ohne danach gefragt zu haben sofort alles Fertig macht. Der Kunde ist mit meiner Leistung zufrieden. Es ging mir jediglich um eine hilfe...)



  • Techniker schrieb:

    Als Kunde würde ich eine Seite, die ausschließlich mit JavaScript funktioniert, wohl auch ablehnen (und nicht bezahlen). Aber das war ja nicht die Frage ...

    nocheinmal: ich führe hier die Wünsche eines Kunden aus. Ich bin mir auch bewusst, dass zur Zeit nur 98% der nutzer JS an haben. Also 2% es aus welchen Gründen auch immer deaktiviert haben. Gut, man kann sich aber auch nicht nach allem richten.

    Das ist wohl sehr zielgruppenabhängig. Ich schätze, dass hier in diesem Forum mehr als 2% der User mit der Firefox-Extension NoScript o.ä. unterwegs sind.



  • Christoph schrieb:

    Ich schätze, dass hier in diesem Forum mehr als 2% der User mit der Firefox-Extension NoScript o.ä. unterwegs sind.

    oder derartige Seiten sofort wieder verlassen, sofern sie nicht unbedingt draufmüssen... aber ok, dass soll nicht weiter Gegenstand dieser Diskussion sein.... wenn der Kunde sich was einbildet, kann man selten was dagegen machen... solange diejenigen zahlen, die keine Ahnung von Webdesign haben, werden wir weiter von reinen Flash-Seiten und JS-Menüs terrorisiert... gute Webdesigner schaffen da einen guten Kompromiss.... der Kunde darf nicht meckern und die eigenen Augen dürfen nicht bluten

    zur Seite: bei mir siehts derzeit so aus: http://www.abload.de/img/awfulh3vo.jpg
    und ja: neben den extremen technischen Mängeln (das Menü brauchte bei mir ~10 s, bis es vollständig geöffnet war) ist sie auch vom ästhetischen Standpunkt aus nicht vertretbar (riesiges Hintergrundbild, das nicht kachelt: fail; Bilder in einem Menü: fail (es gibt nur sehr wenige Fälle, wo das Sinn macht und hübsch aussieht, HIER nicht)

    siehs mal von dieser Seite: was ist, wenn er mal seine Speisekarte ändert? Erstmal hoffen, dass du die Vorlage für die zig Bildchen noch hast... und dann noch neu erstellen, hochladen und einbauen... Aufwand: 20 Minuten mindestens

    Wäre es "besser" gelöst: einfach einen neuen ul-tag hinzufügen... Aufwand: 10 Sekunden

    wohlgemerkt pro neuem Menüpunkt

    ich weiß nicht, welche Vorgaben du genau hast, aber wenn er tatsächlich alles so will, dann tust du mir leid... genau deswegen mach ich sowas auf freiwilliger Basis... da muss ich meine Seele nicht für sowas verkaufen 😉

    Zu deinem Problem: vorher solltest du die Seite zum laufen bringen, bevor wir an den Feinheiten schleifen... aber falls es dich beruhigt (oder auch nicht, wenn man es genau nimmt): bei mir funktioniert es bis auf das zerschossene Layout und der mieserablen Performance so wie du es willst... freu dich drüber, dass es nicht an dir liegt, oder wein drüber, dass du jetzt einen anderen Ansatz wählen musst um es zu beheben...


Anmelden zum Antworten