Ir para conteúdo

POWERED BY:

Arquivado

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

Ariane Stela

[Resolvido] Mudar o bind do mouseover

Recommended Posts

Olá pessoas,

 

Eu gostaria de travar um menu no click, pq ao passar o mouse por ele, ele já abre as opções fazendo uma certa confusão pois qualquer escorregão do mouse já muda a opção.

Perguntei ao meu amigo e ele falou: Para travar o menu no click, só muda o bind do mousehover para click e de mouseout para click também.

 

O código é este:

var controlMenu = Class.create();
controlMenu.prototype = {
	initialize: function() {
		$$('div#bar_menu li a').each(function(node) {
				if(node.id != '') {
					node.onmouseover = function() {
						try {
							controlMenuMethods.view(this, this.id.substr(5));
						} catch(e) {
							null;
						}
					};
				}
			}
		);		
	}
};

controlMenuMethods = {
	menu : 'inicio',
	view : function(element, menu) {
		try {
			if(this.menu != menu) {
				this.hide(element);			
				this.menu = menu;
				var submenu = $('opt_' + menu);
				submenu.setStyle({display: 'block'});
				$(element.parentNode).addClassName('selected');
			}
		} catch(e) {
			null;
		}
	},
	
	hide : function(element) {
		if(this.menu) {
			var submenu = $('opt_' + this.menu);
			var menu = $$('div#bar_menu li.selected');
			menu.each(function(node) {
					node.removeClassName('selected');
				}
			);
			submenu.setStyle({display: 'none'});
		}
	}
}

Event.observe(window, 'load', function(){new controlMenu()});

como diabos eu mudo esse tal de mouseover e mouseout pra click??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpa a demora... precisei sair...

Vamos ver... Um Delay ? Poxa...

Olha de cabeça eu nao sei...

 

Mas esse LINK ensina.

www.cssnolanche.com.br/jquery-delay-plugin/

 

Veja se te aplica, senao a gente tenta outra coisa =)

 

=**

Compartilhar este post


Link para o post
Compartilhar em outros sites

dispare um setTimeout(), para atrasar a chamada da função.

Compartilhar este post


Link para o post
Compartilhar em outros sites

fiz isso:

 

node.onmouseover = function() {
	try {
		setTimeout(controlMenuMethods.view(this, this.id.substr(5)), 10000);
	} catch(e) {
		null;
	}
};

não funcionou

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.