Visualizzazione risultati 1 fino 4 di 4

Discussione: [javascript]evento mouse premuto

  1. #1
    Guest

    Predefinito [javascript]evento mouse premuto

    Buongiorno a tutti.
    Ho un problema.Ho un evento associato a un div in cui c'è un "+". cliccando sul + l evento aumenta di uno il valore di un altro div.Come posso fare per non far cliccare continuamente il mouse?Vorrei ke se si tiene premuto il mouse sul + il valore del div aumenti.

  2. #2
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,744

    Predefinito

    All'evento mousedown esegui l'azione e la pianifichi ad intervalli regolari mediante setInterval, all'evento mouseup elimini l'intervallo con clearInterval.

  3. #3
    Guest

    Predefinito

    sì avevo immaginato di dover fare una cosa del genere...anche se pensavo ci fosse un evento apposito...ok quindi,metto tutta la funzione dentro un setinterval e la faccio ricarica ogni 0,3-0,5 secondi...grz ;-)

    EDIT:

    senti non riesco ad impostarlo nel modo giusto...allora riporto il codice.
    Ho un div,in cui con inner inserisco questa stringa ad un evento onclick:
    Codice:
    riflessi1="<div id=\"blu\">Riflessi<p id=\"valori1\">"+riflessi+"</p><p id=\"riflessi2\"><a href=\"javascript:aumentariflessi("+riflessi+","+ruolo+")\">+</a></p><p id=\"costo1\">"+costorif+"</p></div>";
    la funzione aumenta riflessi è questa
    Codice:
    function aumentariflessi(riflessi,ruolo){
    
    riflessi=riflessi+1;
    denaro=document.getElementById('spandenaroscheda').innerHTML;
    if(ruolo==1){
    costo=(riflessi-5)*5000;
    costo2=(riflessi-4)*5000;
    }
    else if((ruolo==2) || (ruolo==3) || (ruolo==4)){
    costo=(riflessi-5)*1000;
    costo2=(riflessi-4)*1000;
    }
    else if((ruolo==5) || (ruolo==6) || (ruolo==7) || (ruolo==8)){
    costo=(riflessi-5)*1000;
    costo2=(riflessi-4)*1000;
    }
    else if((ruolo==9) || (ruolo==10) || (ruolo==11) || (ruolo==12)){
    costo=(riflessi-5)*1000;
    costo2=(riflessi-4)*1000;
    };
    denaro=denaro-costo;
    if(denaro<0){
    int=window.clearInterval(int);
    alert('Non hai abbastanza denaro');
    }
    else{
    piu="<a href=\"javascript:aumentariflessi("+riflessi+","+ruolo+")\">+</a>";
    document.getElementById('valori1').innerHTML=riflessi;
    document.getElementById('riflessi2').innerHTML=piu;
    document.getElementById('spandenaroscheda').innerHTML=denaro;
    document.getElementById('costo1').innerHTML=costo2;
    }
    
    }
    mi puoi aiutare?non riesco a far fermare il setinterval
    Ultima modifica di alemoppo : 15-09-2011 alle ore 21.56.44 Motivo: Non fare messaggi consecutivi: usa il tasto "Edita" per editare i messaggi.

  4. #4
    Guest

    Predefinito

    sì avevo immaginato di dover fare una cosa del genere...anche se pensavo ci fosse un evento apposito...ok quindi,metto tutta la funzione dentro un setinterval e la faccio ricarica ogni 0,3-0,5 secondi...grz ;-)

    EDIT:

    senti non riesco ad impostarlo nel modo giusto...allora riporto il codice.
    Ho un div,in cui con inner inserisco questa stringa ad un evento onclick:
    Codice:
    riflessi1="<div id=\"blu\">Riflessi<p id=\"valori1\">"+riflessi+"</p><p id=\"riflessi2\"><a href=\"javascript:aumentariflessi("+riflessi+","+r uolo+")\">+</a></p><p id=\"costo1\">"+costorif+"</p></div>";
    la funzione aumenta riflessi è questa
    Codice:
    function aumentariflessi(riflessi,ruolo){

    riflessi=riflessi+1;
    denaro=document.getElementById('spandenaroscheda') .innerHTML;
    if(ruolo==1){
    costo=(riflessi-5)*5000;
    costo2=(riflessi-4)*5000;
    }
    else if((ruolo==2) || (ruolo==3) || (ruolo==4)){
    costo=(riflessi-5)*1000;
    costo2=(riflessi-4)*1000;
    }
    else if((ruolo==5) || (ruolo==6) || (ruolo==7) || (ruolo==8)){
    costo=(riflessi-5)*1000;
    costo2=(riflessi-4)*1000;
    }
    else if((ruolo==9) || (ruolo==10) || (ruolo==11) || (ruolo==12)){
    costo=(riflessi-5)*1000;
    costo2=(riflessi-4)*1000;
    };
    denaro=denaro-costo;
    if(denaro<0){
    int=window.clearInterval(int);
    alert('Non hai abbastanza denaro');
    }
    else{
    piu="<a href=\"javascript:aumentariflessi("+riflessi+","+r uolo+")\">+</a>";
    document.getElementById('valori1').innerHTML=rifle ssi;
    document.getElementById('riflessi2').innerHTML=piu ;
    document.getElementById('spandenaroscheda').innerH TML=denaro;
    document.getElementById('costo1').innerHTML=costo2 ;
    }

    }
    mi puoi aiutare?non riesco a far fermare il setinterval

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •