Avatar billede klovnefisken Nybegynder
03. februar 2012 - 12:29 Der er 7 kommentarer og
1 løsning

on mouse down repeat

Hej
jeg forsøger at lave noget repeat på min mouse down

det jeg har forsøgt med efter at have læst en del forklaringer rundt omkring er

img onclick="ret('bold','top',1,1)" eller img onclick="ret('bold','top',1,-1)"
der er mange af de onclick sammen med mange input felter
bold_1  bold_2 bold_3 osv samt der kommer flere navne til senere


<script type="text/javascript">
    function ret(a,b,c,verdi) {
    if(b=='top')
    {
    var xx=parseInt(document.getElementById('a_'+c).value)+verdi;
               
                    document.getElementById('a_'+c).value=xx;   
    }
               
</script>

når jeg klikker tæller den op og ned , men jeg ville gerne at den talte videre med ca 5-10 pr sekund så længe muse knappen er trykket ned
hvordan gør jeg det ?

M.v.H Bruno
Avatar billede kristianlist Nybegynder
03. februar 2012 - 13:14 #1
Er ikke sikker på om jeg har forstået dig rigtigt, men her er mit bud.

Du har brug for at tælle op med setInterval. eks:


function ret(a, b, c, verdi) {
    var button = this;
    if (b == 'top') {
        var xx = parseInt(document.getElementById('a_' + c).value) + verdi;

        var interval = setInterval(function () {
            button.onmouseup = function () {
                clearInterval(interval);
            };

            document.getElementById('a_' + c).value = xx;
            xx += value;
        }, 1000);
    }
}


I: "xx += value;"; erstatter du "value" med den værdi du vil tælle op med pr. sekund.
Avatar billede klovnefisken Nybegynder
03. februar 2012 - 13:42 #2
hej
jeg har lige kikket noget på koderne du har skrevet

tælle op ja og nej verdi kan være alt fra 1 til -1 typisk disse
1 0.25 0.1 -0.1 -0.25 -1

og den skal stoppe når man slipper museknappen

jeg ville hellere have det således at jeg kunne skrive hvormange gange den kørte løkken pr sek.

men ellers har du da forstået hvad jeg skrev
Avatar billede olebole Juniormester
03. februar 2012 - 16:44 #3
<ole>

"jeg ville hellere have det således at jeg kunne skrive hvormange gange den kørte løkken pr sek." >> Hvor skal det kunne skrives? I funktionskaldet - eller?

/mvh
</bole>
Avatar billede klovnefisken Nybegynder
03. februar 2012 - 16:50 #4
olebole
ja bare det kan stå i funktionen lige som kristian skriver
}, 1000); (3 linje fra bunden)
den ville jeg nok sætte til 100 så den kører 10 gange på et sekund
eller måske 200 så det bliver 5 gange

det kristian skrev virker , man skal bare klikke et andet sted for at stoppe det , som du selv skriver , er det bedst den stopper når man slipper museknappen
Avatar billede olebole Juniormester
03. februar 2012 - 17:06 #5
Ja, det virker måske nok - men er det ineffektivt og skaber memory leaks. Fortæl lige, hvad argumentet a er tænkt til
Avatar billede klovnefisken Nybegynder
03. februar 2012 - 17:14 #6
ja det kan jeg godt se der ikke fremgår nogen steder

men a er en id navn på en div / img / input
nogle af felterne styre opacity på et div/img andre kan flytte disse
Avatar billede olebole Juniormester
04. februar 2012 - 18:25 #7
Prøv at starte helt forfra. Læg helst et link til et eksempel, ledsaget af en tydelig beskrivelse af, hvad det er, du vil  =)
Avatar billede klovnefisken Nybegynder
08. februar 2012 - 15:10 #8
har selv fundet svaret på nettet
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester