Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

xootanup

Inserir funcao de javascript externo em botao flash

Recommended Posts

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" />
<script type="text/javascript" src="/modules/mod_tabarts/scripts/mootools.js"></script>
<script type="text/javascript" src="/modules/mod_tabarts/scripts/mod_tabarts.js"></script>
<script type="text/javascript">
		try{$Gavick;}catch(e){$Gavick = {};}
	</script>
<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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.