Ir para conteúdo

POWERED BY:

Arquivado

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

RoXbY

overlib com conflito

Recommended Posts

Olá a todos, tenho um aplicativo e o mesmo está se utilizando da overlib, um script open source (http://www.bosrup.com/web/overlib/)

 

ele está em conflito com este cód

 

<script>sfHover = function() {	var sfEls = document.getElementById("nav").getElementsByTagName("LI");	for (var i=0; i<sfEls.length; i++) {		sfEls[i].onmouseover=function() {			this.className+=" sfhover";		}		sfEls[i].onmouseout=function() {			this.className=this.className.replace(new RegExp(" sfhover\\b"), "");		}	}}if (window.attachEvent) window.attachEvent("onload", sfHover);</script>

Alguém tem idéia do que pode estar em conflito. não sei nada de js nem ajax, nem nada :( se alguém puder me dar uma mão serei mto grato e se precisar estamos aí para outras ferramentas de desenvolvimento! rsss

 

:)

 

agradeço a atenção! :P

Compartilhar este post


Link para o post
Compartilhar em outros sites

então vai lá:

 

o do menu está no primeiro post.

 

cod do overlib:

http://lecowd.com.br/menu/overlib.js

 

e por fim, endereço onde está o meu menu:

http://lecowd.com.br/menu

 

 

 

acho que se alterarmos o cod do meu menu, que seria a melhor opção, já que o cod é só utilizado para fazer com que o menu funcione no IE, seria o mais viável, mas a pergunta é: dá?!

 

ABS!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente fazer o seguinte:

 

1) Troque o nome da classe sfhover para outra coisa. (sf_hover por exemplo). Não se esqueça de trocar dentro do JS e dentro do CSS.

 

2) Acho que a expressão regular que está na função não está muito certa.

Troque new RegExp(" sfhover\\b") por new RegExp("\\bsfhover\\b").

 

Testa aí e se não tiver dado certo, posta um link pra eu olhar novamente http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

1) Troque o nome da classe sfhover para outra coisa. (sf_hover por exemplo). Não se esqueça de trocar dentro do JS e dentro do CSS.

Troquei....

2) Acho que a expressão regular que está na função não está muito certa.Troque new RegExp(" sfhover\\b") por new RegExp("\\bsfhover\\b").

Toquei, no caso para RegExp("\\bsf_hover\\b") ;Pe ñ funciou, continua a mesma coisa. o interessante é que após ter feito a primeira alteração sugerida, fiz essa segunda alteração, trocando o nome do sf_... para o antigo sfhover. quando mandei aplicar ele não piscou, entretanto o menu não voltou. ele ficou "dropado"... e se eu seleciono qualquer um, nenhum outro levanta, mas todos abaixam.O "piscar" acontece quando mude de classe, de li pra ul, de <a> pra li.. dentro do borão, somente eu movimentar que ele pisca.. :/:(

Compartilhar este post


Link para o post
Compartilhar em outros sites

Certifique-se que este script esteja funcionando apenas para o Internet Explorer (através do document.all ou de comentários condicionais. Se não conhecer estes métodos de filtragem de script para o IE, poste novamente.)

 

Se o script não estiver filtrado apenas para o IE costuma dar uns erros estranhos, por isos certifique-se disso http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não, rss.. não sei não cara. Eu simplesmente joguei este código lá entre as <head's> e entre <script's>como é feito este esquema?<!--if[ie6] algo do tipo, não?!:)~

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deve ficar assim mais ou menos:

<!--[if IE]><script>sfHover = function() {	var sfEls = document.getElementById("nav").getElementsByTagName("LI");	for (var i=0; i<sfEls.length; i++) {		sfEls[i].onmouseover=function() {			this.className+=" sfhover";		}		sfEls[i].onmouseout=function() {			this.className=this.className.replace(new RegExp(" sfhover\\b"), "");		}	}}if (window.attachEvent) window.attachEvent("onload", sfHover);</script><![endif]-->
Acho que dará certo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

continua errado.. :/a função que o overlib executa, não sei se sabes, é que quando o mouse está em cima de algum loccal no qual ele está sendo setado, aparece uma caixa de diálogo, quando está fora, esta mesma caixa desaparece.Suponho que ele herde alguma propriedade deste script. se tivesse algum jeito para dar um clear:both, rsss.. ;/ fods

Compartilhar este post


Link para o post
Compartilhar em outros sites

só no IE. ele não utiliza esse JS pro FF. Só por causa do IE que tenho que colocar isso, no FF sempre funcionou perfeitamente o esquema :);P

Compartilhar este post


Link para o post
Compartilhar em outros sites

já que ele utiliza esse script somente pro IE, ele da conflito só com o IE nas duas funçõs :/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Certo. Tentando novamente:

<script>sfHover = function() {	var sfEls = document.getElementById("nav").getElementsByTagName("LI");	for (var i=0; i<sfEls.length; i++) {		sfEls[i].onmouseover += "; this.className+=' sf_hover'; ";		sfEls[i].onmouseout += "this.className=this.className.replace(new RegExp('\\bsf_hover\\b'), '');";	}}if (window.attachEvent) window.attachEvent("onload", sfHover);</script>

Nem testei aqui não. Vê se dá algo.

(não se esqueça que eu mudei de sfhover pra sf_hover

Compartilhar este post


Link para o post
Compartilhar em outros sites

nem dropa o menu com esse codigo.. aih carai, rssss... :/ acho que não vai rola, neh?! ;/ngm mais além do micox pra dar um help?!! :D:D:D:D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mais um tiro:

 

<!--[if IE]><script>sfHover = function() {	var sfEls = document.getElementById("nav").getElementsByTagName("LI");	for (var i=0; i<sfEls.length; i++) {		sfOver=function(e) {			if(typeof(e)=='undefined')var e=window.event			source=e.target?e.target:e.srcElement			if(source.nodeType == 3)source = source.parentNode			source.className+=" sf_hover";		}		sfOut=function(e) {			if(typeof(e)=='undefined')var e=window.event			source=e.target?e.target:e.srcElement			if(source.nodeType == 3)source = source.parentNode			this.className=this.className.replace(new RegExp("\\bsf_hover\\b"), "");		}		sfEls[i].attachEvent("onmouseover",sfOver);		sfEls[i].attachEvent("onmouseout",sfOut);	}}if (window.attachEvent) window.attachEvent("onload", sfHover);</script><![endif]-->

Se tiver dado certo, eu explico a idéia.

Compartilhar este post


Link para o post
Compartilhar em outros sites

fala cara..então, ele baixou, não piscou. mas não recolheu. Quando o mouse sai do menu em questão ele não volta ao estado anterior..;/

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.