O problema é o seguinte: Achei neste site: http://www.leigeber.com/2008/05/horizontal...accordion-menu/ um menu horizontal pronto, utilizando CSS e Javascript, não tive maiores problemas em adaptá-lo ao que necessitava, porém surgiu uma dúvida quanto ao modo como as "abas" abrem quando a página carrega. Exemplo de como está no momento: menu O que eu quero é que ao invés da primeira imagem aberta maior que as outras, logo que a página inicia, ficasse a última, que contém o "nome do site" e o link para entrar. Como nesta imagem >> Menu com a última aba maior Não tenho a mínima experiência com javascript, então, gostaria de saber se é possível fazer o que quero aproveitando este mesmo exemplo. Bom, aguardo respostas, e como disse, sou leiga sobre o assunto, uma explicação mais detalhada me deixaria bem mais feliz ^_^ Segue abaixo os códigos <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Horizontal Slide Menu</title>
<link rel="stylesheet" type="text/css" href="slidemenu.css" />
<script type="text/javascript" src="slidemenu.js"></script>
</head>
<body onload="slideMenu.build('sm',200,10,10,1)">
<div id="geral">
<ul id="sm" class="sm">
<li><img src="images/ex1.gif"></li>
<li><img src="images/ex1.gif"></li>
<li><img src="images/ex1.gif"></li>
<li><img src="images/ex1.gif"></li>
<li><img src="images/ex1.gif"></li>
<li><img src="images/ex1.gif"></li>
<li><img src="images/ex2.jpg"></li>
</ul>
</div>
</body>
</html>
CSS
* {margin:0; padding:0}
.sm {list-style:none; width:700px; height:246px; display:block; overflow:hidden}
.sm li {float:left; display:inline; overflow:hidden}
#geral {
width: 700px;
height: 400px;
top: 50%;
left: 50%;
margin-top: -123px;
margin-left: -350px;
position: absolute;
}
Javascript
var slideMenu=function(){
var sp,st,t,m,sa,l,w,gw,ot;
return{
build:function(sm,sw,mt,s,sl,h){
sp=s; st=sw; t=mt;
m=document.getElementById(sm);
sa=m.getElementsByTagName('li');
l=sa.length; w=m.offsetWidth; gw=w/l;
ot=Math.floor((w-st)/(l-1)); var i=0;
for(i;i<l;i++){s=sa[i]; s.style.width=gw+'px'; this.timer(s)}
if(sl!=null){m.timer=setInterval(function(){slideMenu.slide(sa[sl-1])},t)}
},
timer:function(s){
s.onmouseover=function(){clearInterval(m.htimer);clearInterval(m.timer);m.timer=setInterval(function(){slideMenu.slide(s)},t)}
s.onmouseout=function(){clearInterval(m.timer);clearInterval(m.htimer);m.htimer=setInterval(function(){slideMenu.slide(s,true)},t)}
},
slide:function(s,c){
var cw=parseInt(s.style.width);
if((cw<st && !c) || (cw>gw && c)){
var owt=0; var i=0;
for(i;i<l;i++){
if(sa[i]!=s){
var o,ow; var oi=0; o=sa[i]; ow=parseInt(o.style.width);
if(ow<gw && c){oi=Math.floor((gw-ow)/sp); oi=(oi>0)?oi:1; o.style.width=(ow+oi)+'px';
}else if(ow>ot && !c){oi=Math.floor((ow-ot)/sp); oi=(oi>0)?oi:1; o.style.width=(ow-oi)+'px'}
if(c){owt=owt+(ow+oi)}else{owt=owt+(ow-oi)}}}
s.style.width=(w-owt)+'px';
}else{clearInterval(m.timer);clearInterval(m.htimer)}
}
};
}();
---------------------------
PROBLEMA RESOLVIDO
O erro estava aqui:
if(sl!=null){m.timer=setInterval(function(){slideMenu.slide(sa[sl-1])},t)}
},
Solução: substituir por 6 o índice do último elemento
if(sl!=null){m.timer=setInterval(function(){slideMenu.slide(sa[6])},t)}
},
Código correto completo
var slideMenu=function(){
var sp,st,t,m,sa,l,w,gw,ot;
return{
build:function(sm,sw,mt,s,sl,h){
sp=s; st=sw; t=mt;
m=document.getElementById(sm);
sa=m.getElementsByTagName('li');
l=sa.length; w=m.offsetWidth; gw=w/l;
ot=Math.floor((w-st)/(l-1)); var i=0;
for(i;i<l;i++){s=sa[i]; s.style.width=gw+'px'; this.timer(s)}
if(sl!=null){m.timer=setInterval(function(){slideMenu.slide(sa[6])},t)}
},
timer:function(s){
s.onmouseover=function(){clearInterval(m.htimer);clearInterval(m.timer);m.timer=setInterval(function(){slideMenu.slide(s)},t)}
s.onmouseout=function(){clearInterval(m.timer);clearInterval(m.htimer);m.htimer=setInterval(function(){slideMenu.slide(s,true)},t)}
},
slide:function(s,c){
var cw=parseInt(s.style.width);
if((cw<st && !c) || (cw>gw && c)){
var owt=0; var i=0;
for(i;i<l;i++){
if(sa[i]!=s){
var o,ow; var oi=0; o=sa[i]; ow=parseInt(o.style.width);
if(ow<gw && c){oi=Math.floor((gw-ow)/sp); oi=(oi>0)?oi:1; o.style.width=(ow+oi)+'px';
}else if(ow>ot && !c){oi=Math.floor((ow-ot)/sp); oi=(oi>0)?oi:1; o.style.width=(ow-oi)+'px'}
if(c){owt=owt+(ow+oi)}else{owt=owt+(ow-oi)}}}
s.style.width=(w-owt)+'px';
}else{clearInterval(m.timer);clearInterval(m.htimer)}
}
};
}();