Menu Desplegable con Estilo :D

Hola, ya se que hay unos cuantos post sobre como hacer menus desplegables pero la verdad ya los he visto y ninguno me convence porque son poco "vistosos". Me gustaria hacer uno parecido al de esta web:

http://www.dinahosting.com/

Ese me encanta :oops: :)

Alguien me puede ayudar?

Saludos, gracias :P
Ese menu desplegable seguro que está hecho con scripts y no con estilos css. Solo por si te sirve de ayuda a la hora de buscar cómo hacerlo.

Emm.. espera, voy a ponerme un poco a ver si sacamos el "cómo se hizo" je je je. Ahora te digo algo... :wink:
Pufff. ya me he cansado por hoy, je je je son las 5 de la mañana y aun no he terminado con el desplegable ;)

Te dejo la ruta de acceso a los archivos que he conseguido despejar para lograr crear el menu desplegable de dinahosting.

Casi está listo, pero falta saber para qué vale cada codigo y así saber añadir o eliminar secciones.

Echale un ojo, mañana o pasado mañana sigo. Si tardo me avisas! je je
Estabas conectado a las 5 de la mañana? :shock: :shock:
Que sueño tendrías :o
gracias jorgens, esperare haber si tu eres capaz de averiguar esas cosillas porque yo de scripts no se nada, no los entiendo :lol:


Saludos :P
Je je je je, pues si, me pegué toda la noche con el puñetero menú desplegable, ja ja ja.

Casi lo he terminado de analizar, pero me falta tener claras algunas cosillas para poder insertar o quitar enlaces de cada sección y subsección.

Yo tampoco se nada de scripts y por eso tardaré un poquillo más. Si se programación de basic, modula, algo de visual basic y por eso al menos me suena todo un poco, je je je.

Lo dicho, si tardo mucho mandadme un privado. A veces se me va la memoria! je jeje.

Y no te preocupes, lo hago encantado pues es un menú que realmente está muy bien y me gustaría conocerlo a fondo para ponerlo en lecciones y para usarlo en un nuevo proyecto que llevo entre manos.... :roll:
:lol:
Jeje, pues cuando lo hagas nos avisas, a mi me interesaría conocerlo también, aunque ahora no tengo mucho tiempo, pero dentro de dos semanas tendré :lol:
Bueno. Por el momento lo he conseguido hacer funcionar. Eso si, seguro que contiene código que no hace falta, pero no se de scripts como para eliminarlo y dejar solo lo que realmente es necesario para que funcione el menu que queremos.

Paso 1:
Abre un archivo de texto directamente en el directorio raiz de tu sitio web, pegas todo este código de abajo y le pones de nombre transmenu.css:
.transMenu {
position:absolute;
overflow:hidden;
left:-1000px;
top:-1000px;
}

.transMenu .content {
position:absolute;
}

.transMenu .items {
position:relative;
left:0px; top:0px;
border:1px solid #999;
z-index:2;
}

.transMenu.top .items {
border-top:none;
}

.transMenu .item {
color:#000000;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 9px;
font-weight: bold;
text-decoration:none;
border:none;
cursor:pointer;
cursor:hand;
}

.transMenu .background {
position:absolute;
left:0px;
top:0px;
z-index:1;
-moz-opacity:.8;
filter:alpha(opacity=95);
}

.transMenu .shadowRight {
position:absolute;
z-index:3;
top:3px; width:2px;
-moz-opacity:.4;
filter:alpha(opacity=40);
}

.transMenu .shadowBottom {
position:absolute;
z-index:1;
left:3px; height:2px;
-moz-opacity:.4;
filter:alpha(opacity=40);
}

.transMenu .item.hover {
background-image: url(objetos/fondo.gif);
color:#385385;
}

.transMenu .item img {
margin-left:10px;
}

Paso 2:
Lo mismo con este otro contenido. Abre un nuevo documento de texto y pega este código en el, poniendole despues el nombre y extensión transmenuC.js (fijate que la C es mayuscula, el resto no...):
TransMenu.spacerGif = "objetos/x.gif";
TransMenu.dingbatOn = "objetos/submenu-on.gif";
TransMenu.dingbatOff = "objetos/submenu-off.gif";
TransMenu.dingbatSize = 14;
TransMenu.menuPadding = 0;
TransMenu.itemPadding = 2;
TransMenu.shadowSize = 2;
TransMenu.shadowOffset = 3;
TransMenu.shadowColor = "#888";
TransMenu.shadowPng = "objetos/grey-40.png";
TransMenu.backgroundColor = "white";
TransMenu.backgroundPng = "objetos/white-90.png";
TransMenu.hideDelay = 1000;
TransMenu.slideTime = 400;
TransMenu.preImg = "objetos/punto.gif";
TransMenu.reference = {topLeft:1,topRight:2,bottomLeft:3,bottomRight:4};
TransMenu.direction = {down:1,right:2};
TransMenu.registry = [];
TransMenu._maxZ = 100;
TransMenu.isSupported = function() {
var ua = navigator.userAgent.toLowerCase();
var pf = navigator.platform.toLowerCase();
var an = navigator.appName;
var r = false;
if (ua.indexOf("gecko") > -1 && navigator.productSub >= 20020605) r = true; // gecko >= moz 1.0
else if (an == "Microsoft Internet Explorer") {
if (document.getElementById) { // ie5.1+ mac,win
if (pf.indexOf("mac") == 0) {
r = /msie (\d(.\d*)?)/.test(ua) && Number(RegExp.$1) >= 5.1;
}
else r = true;
}
}
return r;
}
TransMenu.initialize = function() {
for (var i = 0, menu = null; menu = this.registry; i++) {
menu.initialize();
}
}
TransMenu.renderAll = function() {
var aMenuHtml = [];
for (var i = 0, menu = null; menu = this.registry; i++) {
aMenuHtml = menu.toString();
}
document.write(aMenuHtml.join(""));
}
function TransMenu(oActuator, iDirection, iLeft, iTop, iReferencePoint, parentMenuSet) {
this.addItem = addItem;
this.addMenu = addMenu;
this.toString = toString;
this.initialize = initialize;
this.isOpen = false;
this.show = show;
this.hide = hide;
this.items = [];
this.onactivate = new Function();
this.ondeactivate = new Function();
this.onmouseover = new Function();
this.onqueue = new Function();
this.ondequeue = new Function();
this.index = TransMenu.registry.length;
TransMenu.registry[this.index] = this;
var id = "TransMenu" + this.index;
var contentHeight = null;
var contentWidth = null;
var childMenuSet = null;
var animating = false;
var childMenus = [];
var slideAccel = -1;
var elmCache = null;
var ready = false;
var _this = this;
var a = null;
var pos = iDirection == TransMenu.direction.down ? "top" : "left";
var dim = null;
function addItem(sText, sUrl) {
var item = new TransMenuItem(sText, sUrl, this);
item._index = this.items.length;
this.items[item._index] = item;
}
function addMenu(oMenuItem) {
if (!oMenuItem.parentMenu == this) throw new Error("Cannot add a menu here");
if (childMenuSet == null) childMenuSet = new TransMenuSet(TransMenu.direction.right, -5, 2, TransMenu.reference.topRight);
var m = childMenuSet.addMenu(oMenuItem);
childMenus[oMenuItem._index] = m;
m.onmouseover = child_mouseover;
m.ondeactivate = child_deactivate;
m.onqueue = child_queue;
m.ondequeue = child_dequeue;
return m;
}
function initialize() {
initCache();
initEvents();
initSize();
ready = true;
}
function show() {
if (ready) {
_this.isOpen = true;
animating = true;
setContainerPos();
elmCache["clip"].style.visibility = "visible";
elmCache["clip"].style.zIndex = TransMenu._maxZ++;
//dbg_dump("maxZ: " + TransMenu._maxZ);
slideStart();
_this.onactivate();
}
}
function hide() {
if (ready) {
_this.isOpen = false;
animating = true;
for (var i = 0, item = null; item = elmCache.item; i++)
dehighlight(item);
if (childMenuSet) childMenuSet.hide();
slideStart();
_this.ondeactivate();
}
}
function setContainerPos() {
var sub = oActuator.constructor == TransMenuItem;
var act = sub ? oActuator.parentMenu.elmCache["item"][oActuator._index] : oActuator;
var el = act;
var x = 0;
var y = 0;
var minX = 0;
var maxX = (window.innerWidth ? window.innerWidth : document.body.clientWidth) - parseInt(elmCache["clip"].style.width);
var minY = 0;
var maxY = (window.innerHeight ? window.innerHeight : document.body.clientHeight) - parseInt(elmCache["clip"].style.height);
while (sub ? el.parentNode.className.indexOf("transMenu") == -1 : el.offsetParent) {
x += el.offsetLeft;
y += el.offsetTop;
if (el.scrollLeft) x -= el.scrollLeft;
if (el.scrollTop) y -= el.scrollTop;
el = el.offsetParent;
}
if (oActuator.constructor == TransMenuItem) {
x += parseInt(el.parentNode.style.left);
y += parseInt(el.parentNode.style.top);
}
switch (iReferencePoint) {
case TransMenu.reference.topLeft:
break;
case TransMenu.reference.topRight:
x += act.offsetWidth;
break;
case TransMenu.reference.bottomLeft:
y += act.offsetHeight;
break;
case TransMenu.reference.bottomRight:
x += act.offsetWidth;
y += act.offsetHeight;
break;
}
x += iLeft;
y += iTop;
x = Math.max(Math.min(x, maxX), minX);
y = Math.max(Math.min(y, maxY), minY);
elmCache["clip"].style.left = x + "px";
elmCache["clip"].style.top = y + "px";
}
function slideStart() {
var x0 = parseInt(elmCache["content"].style);
var x1 = _this.isOpen ? 0 : -dim;
if (a != null) a.stop();
a = new Accelimation(x0, x1, TransMenu.slideTime, slideAccel);
a.onframe = slideFrame;
a.onend = slideEnd;
a.start();
}
function slideFrame(x) {
elmCache["content"].style = x + "px";
}
function slideEnd() {
if (!_this.isOpen) elmCache["clip"].style.visibility = "hidden";
animating = false;
}
function initSize() {
var ow = elmCache["items"].offsetWidth;
var oh = elmCache["items"].offsetHeight;
var ua = navigator.userAgent.toLowerCase();
elmCache["clip"].style.width = ow + TransMenu.shadowSize + 2 + "px";
elmCache["clip"].style.height = oh + TransMenu.shadowSize + 2 + "px";
elmCache["content"].style.width = ow + TransMenu.shadowSize + "px";
elmCache["content"].style.height = oh + TransMenu.shadowSize + "px";
contentHeight = oh + TransMenu.shadowSize;
contentWidth = ow + TransMenu.shadowSize;
dim = iDirection == TransMenu.direction.down ? contentHeight : contentWidth;
elmCache["content"].style = -dim - TransMenu.shadowSize + "px";
elmCache["clip"].style.visibility = "hidden";
if (ua.indexOf("mac") == -1 || ua.indexOf("gecko") > -1) {
elmCache["background"].style.width = ow + "px";
elmCache["background"].style.height = oh + "px";
elmCache["background"].style.backgroundColor = TransMenu.backgroundColor;
elmCache["shadowRight"].style.left = ow + "px";
elmCache["shadowRight"].style.height = oh - (TransMenu.shadowOffset - TransMenu.shadowSize) + "px";
elmCache["shadowRight"].style.backgroundColor = TransMenu.shadowColor;
elmCache["shadowBottom"].style.top = oh + "px";
elmCache["shadowBottom"].style.width = ow - TransMenu.shadowOffset + "px";
elmCache["shadowBottom"].style.backgroundColor = TransMenu.shadowColor;
}
else {
elmCache["background"].firstChild.src = TransMenu.backgroundPng;
elmCache["background"].firstChild.width = ow;
elmCache["background"].firstChild.height = oh;
elmCache["shadowRight"].firstChild.src = TransMenu.shadowPng;
elmCache["shadowRight"].style.left = ow + "px";
elmCache["shadowRight"].firstChild.width = TransMenu.shadowSize;
elmCache["shadowRight"].firstChild.height = oh - (TransMenu.shadowOffset - TransMenu.shadowSize);
elmCache["shadowBottom"].firstChild.src = TransMenu.shadowPng;
elmCache["shadowBottom"].style.top = oh + "px";
elmCache["shadowBottom"].firstChild.height = TransMenu.shadowSize;
elmCache["shadowBottom"].firstChild.width = ow - TransMenu.shadowOffset;
}
}
function initCache() {
var menu = document.getElementById(id);
var all = menu.all ? menu.all : menu.getElementsByTagName("*"); // IE/win doesn't support * syntax, but does have the document.all thing
elmCache = {};
elmCache["clip"] = menu;
elmCache["item"] = [];
for (var i = 0, elm = null; elm = all; i++) {
switch (elm.className) {
case "items":
case "content":
case "background":
case "shadowRight":
case "shadowBottom":
elmCache[elm.className] = elm;
break;
case "item":
elm._index = elmCache["item"].length;
elmCache["item"][elm._index] = elm;
break;
}
}
_this.elmCache = elmCache;
}
function initEvents() {
for (var i = 0, item = null; item = elmCache.item; i++) {
item.onmouseover = item_mouseover;
item.onmouseout = item_mouseout;
item.onclick = item_click;
}
if (typeof oActuator.tagName != "undefined") {
oActuator.onmouseover = actuator_mouseover;
oActuator.onmouseout = actuator_mouseout;
}
elmCache["content"].onmouseover = content_mouseover;
elmCache["content"].onmouseout = content_mouseout;
}
function highlight(oRow) {
oRow.className = "item hover";
if (childMenus[oRow._index])
oRow.lastChild.firstChild.src = TransMenu.dingbatOn;
}
function dehighlight(oRow) {
oRow.className = "item";
if (childMenus[oRow._index])
oRow.lastChild.firstChild.src = TransMenu.dingbatOff;
}
function item_mouseover() {
if (!animating) {
highlight(this);

if (childMenus[this._index])
childMenuSet.showMenu(childMenus[this._index]);
else if (childMenuSet) childMenuSet.hide();
}
}
function item_mouseout() {
if (!animating) {
if (childMenus[this._index])
childMenuSet.hideMenu(childMenus[this._index]);
else
dehighlight(this);
}
}
function item_click() {
if (!animating) {
if (_this.items[this._index].url)
location.href = _this.items[this._index].url;
}
}
function actuator_mouseover() {
parentMenuSet.showMenu(_this);
}
function actuator_mouseout() {
parentMenuSet.hideMenu(_this);
}
function content_mouseover() {
if (!animating) {
parentMenuSet.showMenu(_this);
_this.onmouseover();
}
}
function content_mouseout() {
if (!animating) {
parentMenuSet.hideMenu(_this);
}
}
function child_mouseover() {
if (!animating) {
parentMenuSet.showMenu(_this);
}
}
function child_deactivate() {
for (var i = 0; i < childMenus.length; i++) {
if (childMenus == this) {
dehighlight(elmCache["item"]);
break;
}
}
}
function child_queue() {
parentMenuSet.hideMenu(_this);
}
function child_dequeue() {
parentMenuSet.showMenu(_this);
}
function toString() {
var aHtml = [];
var sClassName = "transMenu" + (oActuator.constructor != TransMenuItem ? " top" : "");
for (var i = 0, item = null; item = this.items; i++) {
aHtml = item.toString(childMenus);
}
return '<div id="' + id + '" class="' + sClassName + '">' +
'<div class="content"><table class="items" cellpadding="0" cellspacing="0" border="0">' +
'<tr><td colspan="2">[contenido no disponible]</td></tr>' +
aHtml.join('') +
'<tr><td colspan="2">[contenido no disponible]</td></tr></table>' +
'<div class="shadowBottom">[contenido no disponible]</div>' +
'<div class="shadowRight">[contenido no disponible]</div>' +
'<div class="background">[contenido no disponible]</div>' +
'</div></div>';
}
}
TransMenuSet.registry = [];
function TransMenuSet(iDirection, iLeft, iTop, iReferencePoint) {
this.addMenu = addMenu;
this.showMenu = showMenu;
this.hideMenu = hideMenu;
this.hide = hide;
this.hideCurrent = hideCurrent;
var menus = [];
var _this = this;
var current = null;
this.index = TransMenuSet.registry.length;
TransMenuSet.registry[this.index] = this;
function addMenu(oActuator) {
var m = new TransMenu(oActuator, iDirection, iLeft, iTop, iReferencePoint, this);
menus[menus.length] = m;
return m;
}
function showMenu(oMenu) {
if (oMenu != current) {
if (current != null) hide(current);
current = oMenu;
oMenu.show();
}
else {
cancelHide(oMenu);
}
}
function hideMenu(oMenu) {
if (current == oMenu && oMenu.isOpen) {
if (!oMenu.hideTimer) scheduleHide(oMenu);
}
}

function scheduleHide(oMenu) {
oMenu.onqueue();
oMenu.hideTimer = window.setTimeout("TransMenuSet.registry[" + _this.index + "].hide(TransMenu.registry[" + oMenu.index + "])", TransMenu.hideDelay);
}
function cancelHide(oMenu) {
if (oMenu.hideTimer) {
oMenu.ondequeue();
window.clearTimeout(oMenu.hideTimer);
oMenu.hideTimer = null;
}
}
function hide(oMenu) {
if (!oMenu && current) oMenu = current;

if (oMenu && current == oMenu && oMenu.isOpen) {
hideCurrent();
}
}
function hideCurrent() {
if (null != current) {
cancelHide(current);
current.hideTimer = null;
current.hide();
current = null;
}
}
}
function TransMenuItem(sText, sUrl, oParent) {
this.toString = toString;
this.text = sText;
this.url = sUrl;
this.parentMenu = oParent;
function toString(bDingbat) {
var sDingbat = bDingbat ? TransMenu.dingbatOff : TransMenu.spacerGif;
var iEdgePadding = TransMenu.itemPadding + TransMenu.menuPadding;
var sPaddingLeft = "padding:" + TransMenu.itemPadding + "px; padding-left:" + iEdgePadding + "px;"
var sPaddingRight = "padding:" + TransMenu.itemPadding + "px; padding-right:" + iEdgePadding + "px;"
return '<tr class="item" ><td width="16" style="' + sPaddingLeft + '" >' + '[contenido no disponible]</td><td nowrap style="' + sPaddingLeft + '" >' +
sText + '</td><td width="14" style="' + sPaddingRight + '" >' +
'[contenido no disponible]</td></tr>';
}
}
function Accelimation(from, to, time, zip) {
if (typeof zip == "undefined") zip = 0;
if (typeof unit == "undefined") unit = "px";
this.x0 = from;
this.x1 = to;
this.dt = time;
this.zip = -zip;
this.unit = unit;
this.timer = null;
this.onend = new Function();
this.onframe = new Function();
}
Accelimation.prototype.start = function() {
this.t0 = new Date().getTime();
this.t1 = this.t0 + this.dt;
var dx = this.x1 - this.x0;
this.c1 = this.x0 + ((1 + this.zip) * dx / 3);
this.c2 = this.x0 + ((2 + this.zip) * dx / 3);
Accelimation._add(this);
}
Accelimation.prototype.stop = function() {
Accelimation._remove(this);
}
Accelimation.prototype._paint = function(time) {
if (time < this.t1) {
var elapsed = time - this.t0;
this.onframe(Accelimation._getBezier(elapsed/this.dt,this.x0,this.x1,this.c1,this.c2));
}
else this._end();
}
Accelimation.prototype._end = function() {
Accelimation._remove(this);
this.onframe(this.x1);
this.onend();
}

Accelimation._add = function(o) {
var index = this.instances.length;
this.instances = o;
if (this.instances.length == 1) {
this.timerID = window.setInterval("Accelimation._paintAll()", this.targetRes);
}
}
Accelimation._remove = function(o) {
for (var i = 0; i < this.instances.length; i++) {
if (o == this.instances) {
this.instances = this.instances.slice(0,i).concat( this.instances.slice(i+1) );
break;
}
}
if (this.instances.length == 0) {
window.clearInterval(this.timerID);
this.timerID = null;
}
}
Accelimation._paintAll = function() {
var now = new Date().getTime();
for (var i = 0; i < this.instances.length; i++) {
this.instances._paint(now);
}
}
Accelimation._B1 = function(t) { return t*t*t }
Accelimation._B2 = function(t) { return 3*t*t*(1-t) }
Accelimation._B3 = function(t) { return 3*t*(1-t)*(1-t) }
Accelimation._B4 = function(t) { return (1-t)*(1-t)*(1-t) }
Accelimation._getBezier = function(percent,startPos,endPos,control1,control2) {
return endPos * this._B1(percent) + control2 * this._B2(percent) + control1 * this._B3(percent) + startPos * this._B4(percent);
}
Accelimation.instances = [];
Accelimation.targetRes = 10;
Accelimation.timerID = null;
if (window.attachEvent) {
var cearElementProps = [
'data',
'onmouseover',
'onmouseout',
'onmousedown',
'onmouseup',
'ondblclick',
'onclick',
'onselectstart',
'oncontextmenu'
];
window.attachEvent("onunload", function() {
var el;
for(var d = document.all.length;d--;){
el = document.all;
for(var c = cearElementProps.length;c--;){
el[cearElementProps] = null;
}
}
});
}

Paso 3:
Crea una página web que se llame test-menu-desplegable.html y pégale este código:
<html>
<head>
<link rel="stylesheet" type="text/css" href="transmenu.css">
<script language="javascript" src="transmenuC.js.txt" type="text/javascript"></script>
<script language="javascript" type="text/javascript">
function init()
{
if (TransMenu.isSupported())
{
TransMenu.initialize();

DHmenu1.onactivate = function() { document.getElementById('DHmenu1').className = 'hover'; };
DHmenu1.ondeactivate = function() { document.getElementById('DHmenu1').className = ''; }

DHmenu2.onactivate = function() { document.getElementById('DHmenu2').className = 'hover'; };
DHmenu2.ondeactivate = function() { document.getElementById('DHmenu2').className = ''; }
}
}
</script>
</head>

<body onload="init();">
<table>
<tr>
<td> Opcion 1 </td>
<td> Opcion 2 </td>
</tr>
</table>

<script language="javascript" type="text/javascript">
if (TransMenu.isSupported())
{
var ms=new TransMenuSet(TransMenu.direction.down,1,0, TransMenu.reference.bottomLeft);

var DHmenu1= ms.addMenu(document.getElementById('DHmenu1'));
DHmenu1.addItem('seccion 1','ruta');
var DHmenu1_0 = DHmenu1.addMenu(DHmenu1.items[0]);
DHmenu1_0.addItem('subseccion 1 1','#');
DHmenu1_0.addItem('subseccion 1 2','#');
DHmenu1_0.addItem('subseccion 1 9','#');
DHmenu1_0.addItem('subseccion 1 4','#');
DHmenu1_0.addItem('subseccion 1 5','#');
DHmenu1.addItem('seccion 2','#');
DHmenu1.addItem('seccion 3','#');

var DHmenu2 = ms.addMenu(document.getElementById('DHmenu2'));
DHmenu2.addItem('subseccion 2 1','#');
var DHmenu2_0 = DHmenu2.addMenu(DHmenu2.items[0]);
DHmenu2_0.addItem('sub sub seccion 2 3 1','#');
DHmenu2_0.addItem('sub sub seccion 2 4 2','#');
DHmenu2_0.addItem('sub sub seccion 2 4 3','#');
DHmenu2.addItem('subseccion 2 2','#');
DHmenu2.addItem('subseccion 2 3','#');
DHmenu2.addItem('subseccion 2 4','#');

TransMenu.renderAll();
}
</script>

</body>
</html>

Paso 4:
crea una carpeta en el directorio raiz de la web llamada objetos y pega en ella estas imagenes:
www.comocreartuweb.com/ejemplos-del-foro/grey-40.png
www.comocreartuweb.com/ejemplos-del-foro/white-90.png
www.comocreartuweb.com/ejemplos-del-foro/punto.gif
www.comocreartuweb.com/ejemplos-del-foro/submenu-off.gif
www.comocreartuweb.com/ejemplos-del-foro/submenu-on.gif
www.comocreartuweb.com/ejemplos-del-foro/x.gif

Paso 5:
Ahora abre esa página html y verás el aspecto del menú desplegable.

Seguiré explicando como añadir apartados, oki?

Te adelanto que el código azul es el correspondiente al primer menú que se abre en el ejemplo y el codigo rojo el que corresponde al segundo.
Muchas gracias Jorgens, ya lo he hecho todo sin problemas, ahora podrias subir las imagenes estas al servidor de cctw?:

www.comocreartuweb.com/ejemplos-del-foro/grey-40.png
www.comocreartuweb.com/ejemplos-del-foro/white-90.png
www.comocreartuweb.com/ejemplos-del-foro/punto.gif
www.comocreartuweb.com/ejemplos-del-foro/submenu-off.gif
www.comocreartuweb.com/ejemplos-del-foro/submenu-on.gif
www.comocreartuweb.com/ejemplos-del-foro/x.gif

Seguramente te olvidaste de subirlas, jeje :P

Cuando consigamos hacer que funcione, podemos avisar a yaneth que seguramente que ella sabe como hacer mas pequeñitos los codigos :wink:

Saludos :wink:
Ups, je je je. Esta noche las subo cuando llegue a casa. Aviso aqui, oki?

Como llevas lo del codigo? Sabes retocarlo para dejar el menú a tu gusto o necesitas que te explique más cosas?

En cualquier caso, lo terminaré de explicar..

Un saludo!
Jorgens, ¿puedes desabilitar los emoticonos de tu mensaje? Es que molestan al copiar el código :D
jajaja qyue harán esos 2 guiños ahí??

Ah seguramente el codigo de los guiños del foro es igual al codigo que tuvo que pegar Jorgens

:lol: :lol:
jorgens escribió:Ups, je je je. Esta noche las subo cuando llegue a casa. Aviso aqui, oki?

Como llevas lo del codigo? Sabes retocarlo para dejar el menú a tu gusto o necesitas que te explique más cosas?

En cualquier caso, lo terminaré de explicar..

Un saludo!

Ok vale, de momento aun no he modificado nada del codigo porque al hay eses 2 guiños en la parte del archivo .js :) . Deshabilitalos porfa :twisted:

Gracias, saludos
Hola, acabo de hacer esta guia muy chula de los desplegables....

Pero al hacer la primera parte del desplegable... es decir que para el desplegable1 salgan las seccion1 seccion2....

Pues cuando hago vista previa.... me sale cortado por la mitad...

es decir, baja el desplegable, pero se ve: "Secc" no se ve entero "seccion1"

En cambio las subsecciones se ven bien.... no se porque sera....

saludos y felicidades por esta guia de desplegable....
Nos puedes pegar una captura de pantalla para verlo?

Cuando te bajaste los archivos comprimidos? Hoy los repuse por otros distintos pues los otros tenian un error.... ya están arreglados.
Hui, que cosa más rara.

Se me ocurre solo que quizás hayas retocado algo de los archivos css?? O quizás no tienes la hoja de estilo estilo-general.css igual que en el ejemplo?

Haz una cosa, en el codigo html de tu plantilla tienes estas líneas en el Head:

<link rel="stylesheet" type="text/css" href="estilo-general-40.css" media="all">
<link rel="stylesheet" type="text/css" href="estilo-menu-desplegable.css">

Mira a ver si se arregla dandole la vuelta, es decir, le cambias el orden, primero pones la segunda y luego debajo la primera, así:
<link rel="stylesheet" type="text/css" href="estilo-menu-desplegable.css">
<link rel="stylesheet" type="text/css" href="estilo-general-40.css" media="all">

Y nos dices qué ocurre oki?

Dinos además qué sistema operativo tienes y con qué navegador haces la vista previa.

Seguro que no has tocado nada de dentro de los archivos que has bajado?

Ah!, otra cosa. Ves bien los menús aqui?
http://www.comocreartuweb.com/html-kit-tutorial/ejemplos/plantilla-…

Espero tu respuesta. Quizás hay aun algun error y nos gustaria mucho reparar esto!

Un abrazo!
Hola

Pues no he tocado nada dentro de la hoja de estilos, uso el windows xp home sp2. Las subseccciones si que se ven bien (desde siempre).

He probado cambiar el orden que dices pero sigue igual..
Y el enlace que tu pones se ve correctamente, el menu desplegable entero...

No se que sera....

gracias y un saludo
Anda, es verdad, en el iexplorer se ve cortado. Habrá que mirar los estilos... Jorgens, no te pierdas!!! ja ja ja