1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

[Dúvida] Javascript+html

Discussão em 'Web Development' iniciada por NotoriousXavi, 4 de Novembro de 2008. (Respostas: 8; Visualizações: 620)

  1. NotoriousXavi

    NotoriousXavi Power Member

    É o seguinte: tenho um ficheiro javascript externo com uma função para mouseover que recebe um target e faz uma acção sobre o target, especificamente muda-lhe o background.

    É possivel, no html, chamar esta funcção numa div em que eu possa limitar-lhe o tamanho?

    Ou em alternativa, posso pôr esta função a ser chamada quando se faz o mouseover sobre um <a href... dentro dessa div em que apareça um pequeno texto por baixo dessa div?
     
  2. Armadillo

    Armadillo Folding Member

    A 1ª pergunta está um pouco confusa. :s

    Mas sobre a "alternativa", vais ter que chamar a tua função no evento onmouseover da DIV.


    na DIV, apenas tens de adicionar o evento e fazeres a chamada á função
     
    Última edição: 4 de Novembro de 2008
  3. NotoriousXavi

    NotoriousXavi Power Member

    vou tentar explicar..

    no exemplo que dás o código do alert está logo ali directamente escrito.

    o que eu tenho é um ficheiro à parte com 2 funções numa pasta (scripts/menu_script.js) e estava a chamar essas funções onde está esse código da seguinte maneira "rollover(this)". Isto não funciona, penso eu por não estar a ser reconhecido o this..
     
  4. Armadillo

    Armadillo Folding Member

    ja tentaste fazer...
    Código:
    rollover(idDoObjecto);
    
    ?
     
  5. NotoriousXavi

    NotoriousXavi Power Member

    continua a não dar sinal de vida.

    está tudo bem escrito?
    Código:
    <div id="pl1" onmouseover="rollover(pl1)" onmouseout="rollout(pl1)">
    será do javascript?
    Código:
    function rollover(target) {
    	target.style.background-color = #2d2d2d
    }
    
    function rollout(target) {
    	target.style.background-color = #4e4e4e
    }
    
     
  6. geoblast

    geoblast Power Member

    Olá,

    Falta-te identificar o objecto:

    Código:
    <div id="pl1" onmouseover="rollover([COLOR=Yellow]document.getElementById('pl1')[/COLOR])" onmouseout="rollout([COLOR=Yellow]document.getElementById('pl1')[/COLOR])">
     
  7. skandal

    skandal Power Member

    Ou se quiser continuar a usar as mesmas funções usa

    Código:
    <div id="pl1" onmouseover="rollover(this)" onmouseout="rollout(this)"></div>
    mas aconcelho-te a usar classes css.

    Código:
    <style>
    .myDiv{
       background-color: #2d2d2d;
    }
    
    .myDiv:hover{
       background-color: #4e4e4e;
    }
    </style>
    
    <div id="pl1" class="myDiv"></div>
    
     
  8. NotoriousXavi

    NotoriousXavi Power Member

    Obrigado, parece que já funciona, agora só tenho que descobrir como ponho uma borda à volta da div. Existe maneira de colocar um pequeno simbolo a aparecer ao lado da div sempre que faço o mouseover?
     
  9. geoblast

    geoblast Power Member

    Sim. Colocas um div ao lado deste, e a tua função rollover (ou outra) faz, também, o show e hide do conteúdo desse div.

    Algo tipo

    Código:
    [INDENT]<div id="a" onmouseover="show(this,document.getElementById('b')"></div>
    <div id="b"></div>
    [/INDENT]
     

Partilhar esta Página