Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Problema mouseout con scriptaculous

    Salve.
    Ho creato un link che con un effetto della libreria scriptaculous fa apparire un div sotto di esso (opportunemente posizionato).

    Codice PHP:
    $('idlink').observe('mouseover'show);

    function 
    show(){
            
    Effect.BlindDown('div2');
        } 
    Per richiuderlo ho usato

    Codice PHP:
    $('idlink').observe('mouseout'hide);
        function 
    hide(){
            
    Effect.BlindUp('div2', { duration0.5 });
        } 
    il problema è che quando sposto il cursore dal link al div, il div stesso scompare (essendo impostato per comparire solo con il cursore sopra il link).
    C'è un modo per far perdurare la funzione anche durante il passaggio del mouse sopra il div?
    Su consiglio di qualcuno ho usato lo stesso effetto d'apertura applicato sul div anzichè sul link (insieme a quello del link) ma come prevedevo non funziona.
    Qualcuno sa aiutarm?

    il sorgente html è
    Codice PHP:
    [*]
    [
    url="#"]Menu V[/url]
    <
    div id="div2" style="overflow: visible; height: 59px; display: none;"

  2. #2
    hai due possibilità a mio avviso:

    1- cambi gli eventi, facendo in modo che al click, e non al mouseover, il div compaia, ed al secondo click scompaia
    2- cambi l'HTML facendo in modo che il DIV sia all'INTERNO dell'elemento che lancia l'effetto, in modo che se ti sposti sul div tu sia ancora sull'over dell'elemento attivatore.
    I DON'T Double Click!

  3. #3
    Se inserisco un div dentro il link non funziona, il browser corregge e pone sempre il link e il div separati.
    Se cambio e do l'id al[*] contenitore di a i modo che funzioni al passaggio del cursore su[*] e poi lo chiudo dopo il div, il risultato non cambia.

    Non c'è modo di dare più condizioni all'effetto con observe?
    ad esempio onmouseout per il link e un onmouseover che dica che non è sopra il div per farlo azionare.

  4. #4
    scusa invece di usare un tag <a> come pulsante associa l'evento (click o mouseover che sia= a un div, così questo può fare da contenitore al div da "blindare"...

  5. #5
    provato anche così ma come per[*] da lo stesso identico effetto. Appena sposto il cursore dal div assegnato per l'apertura sopra il div che compare, questo scompare subito..

  6. #6
    a me una cosa simile funzia:

    Codice PHP:
    <script type="text/javascript">
    var 
    showHide = function() {    
        $(
    'btn').observe('mouseover', function(e){
            
    Effect.BlindDown('mydiv');        
        }).
    observe('mouseout', function(e){
            
    Effect.BlindUp('mydiv');
        })
    }
    document.observe('dom:loaded'showHide);
    </script>
    <style>
    #btn { padding:10px; border:1px solid #000; display:block; width:200px; text-align:center; cursor:pointer; }
    #mydiv { width:180px; margin:10px auto; border:1px solid #0033FF}
    </style>

    <div id="btn">
    BTN 1
    <div id="mydiv" style="display:none">
    Lorem ipsum dolor sit amet, consectetur adipisici elit, sed eiusmod tempor incidunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud ...
    </div>
    </div> 

  7. #7
    MA può essere perchè si trova in un div più piccolo?
    cioè:

    Codice PHP:


    <div class="main">
       <
    ul>
          <
    li class="first">Link1
          
    <li class="first">Link2
          
    <li class="first">Link3
          
    <li class="first">Link4
          
    <li  style="background-position: right center; display: inline;">
              <
    div id="idlink" >
                  [
    url="www.eeccc..."]Menu![/url]
                  <
    div id="div2" style="overflow: visible; display: none;">
                      <
    ul class="menucomp">
                         <
    li class="on">Account
                         
    <li class="first">Link4
                         
    <li class="first">Link4
                         
    <li class="first">Link4
                         
    <li class="last">Link5[/list]
                   </
    div>
              < /
    div>
           [/list]
    </
    div
    In questo caso il div e il li contenitori del div e/o del link che apre il menu sono alti pressapoco come il testo (poco poco di più) e non quanto tutta l'altezza del div che compare ( di circa 180px)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.