Ir para conteúdo
Fórum Script Brasil
  • 0

Ativação com click


M.Vitor

Pergunta

Olá pessoal,

gostaria que vocês me ajudassem nesse código javascript,

o acontece e que eu não manjo muito de de Javascript,

sou mais da Orientação a Objeto, e por isso não consigo resolver o problema

que é o seguinte, eu mudei um código pronto para ativar um function com um click,

mas eu queria também que ele desativasse com outro click,

segue o condigo:

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-2])},t)}
        },
        timer:function(s){
            s.onclick=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©{owt=owt+(ow+oi)}else{owt=owt+(ow-oi)}}}
                s.style.width=(w-owt)+'px';
            }else{clearInterval(m.timer);clearInterval(m.htimer);}
        }
    };
}();

Como vocês podem ver com Onclick ele ativa,

queria saber como dessativa com outro click essa fuction,

espero respostas

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

montei um exemplo simples, se alguém tiver uma ideia mais pratica só postar

<script>
var globalStatus = false;

function Link() {

    if (globalStatus)
    {
        alert("ativo");
        globalStatus = false; //inativando
    }
    else {
        alert("inativo");
        globalStatus = true; //ativando
    }
}
</script>


<a href="#" onclick="Link()">Testa</a>

Link para o comentário
Compartilhar em outros sites

  • 0

Por favor pessoal preciso de ajudar,

tenho que entregar um projeto hoje

e meu script não ta rolando com dois cliques

alguém poderia arrumar ele e posta pra mim ?

POR FAVOR

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; s.style.width=gw+'px'; this.timer(s)}

if(sl!=null){m.timer=setInterval(function(){slideMenu.slide(sa[sl-2])},t)}

},

timer:function(s){

s.onmouseover=function(){clearInterval(m.htimer);clearInterval(m.timer);m.timer=setInterval(function(){slideMenu.slide(s,false)},t)}

s.onmouseout=function(){clearInterval(m.htimer);clearInterval(m.timer);m.timer=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!=s){

var o,ow; var oi=0; o=sa; 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©{owt=owt+(ow+oi)}else{owt=owt+(ow-oi)}}}

s.style.width=(w-owt)+'px';

}else{clearInterval(m.timer);clearInterval(m.htimer);}

}

};

}();

Eu sei que isso e antitético, mas preciso desse codigo com a ativação e desativação por click, sem ser mouseover e mouseout

ME AJUDA PESSOAL

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...