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

Código javascript


xootanup

Pergunta

Boa tarde a todos,

Se me podessem ajudar neste tópico seria uma grande ajuda, visto que as minhas noções de javascript não me permitiram descobrir o pretendido.

Eu tenho um filme flash que eu gostaria de interagir com um modulo de joomla. Esse módulo tem dois botões dos quais eu gostaria que fizessem a mesma acção através dos botões flash.

O meu index.php chama um ficheiro externo .js para assumir o modulo através do código

<link href="/modules/mod_tabarts/style/style2.css" rel="stylesheet" type="text/css" />
&lt;script type="text/javascript" src="/modules/mod_tabarts/scripts/mootools.js"></script>
&lt;script type="text/javascript" src="/modules/mod_tabarts/scripts/mod_tabarts.js"></script>
&lt;script type="text/javascript">
        try{$Gavick;}catch(e){$Gavick = {};}
    </script>
&lt;script type="text/javascript">
    $Gavick["gk_tabarts-mod"] = {
        "activator" : 0,
        "autoAnimation" : 0,
        "animationTransition" : 33,
        "animationType" : 2,
        "animationSpeed" : 1000,
        "animationInterval" : 5000,
        "styleType": 0    };
</script>
<div class="gk_tabarts clearfix" id="-mod">
                    <div class="gk_tabarts_wrap clearfix" style="width: 250px;">
            
        
                <ul class="gk_tabartsmenu_ul">
                                                <li><span>Noticias</span></li>
                                                <li><span>Eventos</span></li>
                                        </ul>
                <div class="gk_tabarts_container0 clearfix" style="height: 600px;width: 250px;">
                        <div class="gk_tabarts_container1 clearfix" style="height: 600px;width: 250px;">
                                <div class="gk_tabarts_container2 clearfix">
                                        <div class="gk_tabarts_item" style="height: 600px;width: 250px;">
    <p>noticias</p></div><div class="gk_tabarts_item" style="height: 600px;width: 250px;">
    Eventos</div>                                </div>
                        </div>
                </div>                
                    </div>                    
                <div class="gk_tabarts_button_next">
        </div>
        <div class="gk_tabarts_button_prev">
        </div>
        </div>
O código do ficheiro mod_tabarts.js é o seguinte:
window.addEvent("domready",function(){
    $ES(".gk_tabarts").each(function(el,i){
        var module_id = el.getProperty("id");
        var $G = $Gavick["gk_tabarts"+module_id]; 
        var modsArray = el.getElementsBySelector('.gk_tabarts_item');
        var animation = ($G["autoAnimation"] == 0) ? true : false;
        var actual = 0;
        var evnt = ($G["activator"] == 0) ? "click" : "mouseenter";
        var amount = modsArray.length;
        var timer = false;
        
        if($G["styleType"] == 1){
            var baseWidth = $E(".gk_tabarts_container2", el).getSize().size.x;
            el.setStyle("width",baseWidth+"px");
            var listTab = $E('.gk_tabartsmenu_ul',el);
            baseWidth -= listTab.getSize().size.x;
            baseWidth -= listTab.getStyle("margin-left").toInt();
            baseWidth -= listTab.getStyle("margin-right").toInt();
            baseWidth -= listTab.getStyle("padding-right").toInt();
            baseWidth -= listTab.getStyle("padding-left").toInt();
            baseWidth -= $E(".gk_tabarts_container0",el).getStyle("margin-left").toInt();
            baseWidth -= $E(".gk_tabarts_container0",el).getStyle("margin-right").toInt();
            baseWidth -= $E(".gk_tabarts_container0",el).getStyle("padding-left").toInt();
            baseWidth -= $E(".gk_tabarts_container0",el).getStyle("padding-right").toInt();
            
            $E(".gk_tabarts_container1",el).setStyle("width",baseWidth+"px");
            $E(".gk_tabarts_container0",el).setStyle("width",baseWidth+"px");
            $ES(".gk_tabarts_item", el).setStyle("width",baseWidth+"px");
        }
        $E('.gk_tabartsmenu_ul li',el).toggleClass("active");
        var param = ($G["animationType"] == 1) ? "width": "height";
        $E(".gk_tabarts_container2", el).setStyle(param, ((amount+1)*$E(".gk_tabarts_container1", el).getSize().size.x));
        $ES(".gk_tabarts_item", el).each(function(e){e.setStyle("width", $E(".gk_tabarts_container1", el).getSize().size.x + "px");});
        $ES('.gk_tabartsmenu_ul li', el).each(function(elm,j){
            elm.addEvent(evnt,function(){
                actual = gk_tabarts_anim(j, actual, amount, modsArray, el, $G["animationTransition"], $G["animationSpeed"]);
                
                $ES('.gk_tabartsmenu_ul li', el).each(function(elmt){elmt.setProperty("class","");});
                $ES('.gk_tabartsmenu_ul li', el)[actual].toggleClass("active");
                
                if(timer){
                    $clear(timer);    
                    timer = (function(){
                        actual = gk_tabarts_anim("right" , actual, amount, modsArray, el, $G["animationTransition"], $G["animationSpeed"]);
                        $ES('.gk_tabartsmenu_ul li', el).each(function(elmt, i){elmt.setProperty("class","");});
                        $ES('.gk_tabartsmenu_ul li', el)[actual].toggleClass("active");
                    }).periodical($G["animationInterval"]);
                }
            });
        });
        
        if($E(".gk_tabarts_button_next", el)){
            $E(".gk_tabarts_button_next", el).addEvent("click",function(){
                actual = gk_tabarts_anim('right', actual, amount, modsArray, el, $G["animationTransition"], $G["animationSpeed"]);
                $ES('.gk_tabartsmenu_ul li', el).each(function(elmt){elmt.setProperty("class","");});
                $ES('.gk_tabartsmenu_ul li', el)[actual].toggleClass("active");
                
                if(timer){
                    $clear(timer);
                    timer = (function(){
                        actual = gk_tabarts_anim("right" , actual, amount, modsArray, el, $G["animationTransition"], $G["animationSpeed"]);
                        $ES('.gk_tabartsmenu_ul li', el).each(function(elmt, i){elmt.setProperty("class","");});
                        $ES('.gk_tabartsmenu_ul li', el)[actual].toggleClass("active");
                    }).periodical($G["animationInterval"]);
                }
            });
        }
        
        if($E(".gk_tabarts_button_prev", el)){
            $E(".gk_tabarts_button_prev", el).addEvent("click",function(){
                actual = gk_tabarts_anim('left', actual, amount, modsArray, el, $G["animationTransition"], $G["animationSpeed"]);    
                $ES('.gk_tabartsmenu_ul li', el).each(function(elmt){elmt.setProperty("class","");});
                $ES('.gk_tabartsmenu_ul li', el)[actual].toggleClass("active");
                
                if(timer){
                    $clear(timer);    
                    timer = (function(){
                        actual = gk_tabarts_anim("right" , actual, amount, modsArray, el, $G["animationTransition"], $G["animationSpeed"]);
                        $ES('.gk_tabartsmenu_ul li', el).each(function(elmt, i){elmt.setProperty("class","");});
                        $ES('.gk_tabartsmenu_ul li', el)[actual].toggleClass("active");
                    }).periodical($G["animationInterval"]);
                }
            });
        }

        if($G["autoAnimation"] == 1){
            timer = (function(){
                actual = gk_tabarts_anim("right" , actual, amount, modsArray, el, $G["animationTransition"], $G["animationSpeed"]);
                $ES('.gk_tabartsmenu_ul li', el).each(function(elmt, i){elmt.setProperty("class","");});
                $ES('.gk_tabartsmenu_ul li', el)[actual].toggleClass("active");
            }).periodical($G["animationInterval"]);
        }
    });
});

function gk_tabarts_anim(direct, actual, amount, modsArray, el, t, s){
    var transitions_tab = [
        0,0,0,0,0,0,0,0,0,0,0,
        Fx.Transitions.linear,
        Fx.Transitions.Quad.easeIn,
        Fx.Transitions.Quad.easeOut,
        Fx.Transitions.Quad.easeInOut,
        Fx.Transitions.Cubic.easeIn,
        Fx.Transitions.Cubic.easeOut,
        Fx.Transitions.Cubic.easeInOut,
        Fx.Transitions.Quart.easeIn,
        Fx.Transitions.Quart.easeOut,
        Fx.Transitions.Quart.easeInOut,
        Fx.Transitions.Quint.easeIn,
        Fx.Transitions.Quint.easeOut,
        Fx.Transitions.Quint.easeInOut,
        Fx.Transitions.Pow.easeIn,
        Fx.Transitions.Pow.easeOut,
        Fx.Transitions.Pow.easeInOut,
        Fx.Transitions.Expo.easeIn,
        Fx.Transitions.Expo.easeOut,
        Fx.Transitions.Expo.easeInOut,
        Fx.Transitions.Circ.easeIn,
        Fx.Transitions.Circ.easeOut,
        Fx.Transitions.Circ.easeInOut,
        Fx.Transitions.Sine.easeIn,
        Fx.Transitions.Sine.easeOut,
        Fx.Transitions.Sine.easeInOut,
        Fx.Transitions.Back.easeIn,
        Fx.Transitions.Back.easeOut,
        Fx.Transitions.Back.easeInOut,
        Fx.Transitions.Bounce.easeIn,
        Fx.Transitions.Bounce.easeOut,
        Fx.Transitions.Bounce.easeInOut,
        Fx.Transitions.Elastic.easeIn,
        Fx.Transitions.Elastic.easeOut, 
        Fx.Transitions.Elastic.easeInOut
    ];
    
    var scr = new Fx.Scroll($E(".gk_tabarts_container1",el), {duration: s, wait: true, transition: transitions_tab[t]});
    
    if(direct == 'left'){
        (actual > 0) ? actual-- : actual = amount - 1;
        scr.toElement(modsArray[actual]);
    }else if(direct == 'right'){
        (actual < (amount-1)) ? actual += 1 : actual = 0;
        scr.toElement(modsArray[actual]);
    }else{
        actual = direct;
        scr.toElement(modsArray[actual]);
    }
    
    return actual;
}

A instancia dos botoes flash foram atribuidas como noticias_mc e eventos_mc.

Caso me possam ajudar agradecia imenso.

Alguém tem sugestões? Agradecia uma ajudazinha.

Não preciso da resposta chapada mas pelo menos algumas sugestões para conseguir o que pretendo.

Se alguém tiver alguma ideia de como poderei fazer a ligação entre o flash e o módulo agradeço.

Thnx

Editado por xootanup
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

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,2k
    • Posts
      651,9k
×
×
  • Criar Novo...