Ir para conteúdo
Fórum Script Brasil

JackChaz

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Tudo que JackChaz postou

  1. 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" /> &lt;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)} } }; }();
×
×
  • Criar Novo...