Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Info Coronavirus/Vaccinare vs Fake News

Navigatie offline - Romania - Ger...

Pornit banda LED din 2 surse de c...

Auto turn off - Samsung galaxy wa...
 Ora exacta. Dar exacta, sa fie!

Problema golire butelie GPL ptr c...

Make Bucharest Great Again

Cum cereti de la farmacie asa cev...
 Aflare date card vechi

Inca un erou ucis - Justitiarul d...

Ceva in gat?

Sistem de constructie UniBlock, e...
 Probleme Gestiunea Financiara a Īn...

Ce masina AWD sa aleg?

Nu mai pot accesa anumite site-ur...

Apartament 2 camere 1 singur apom...
 

Rulare functie de mai multe ori cu javascript

- - - - -
  • Please log in to reply
7 replies to this topic

#1
alex05ok

alex05ok

    Member

  • Grup: Members
  • Posts: 375
  • Înscris: 08.11.2007
Buna ziua!

Cum fac ca functia "scrollWin" sa se ruleze de 100 de ori la o singura apasare de buton?

https://jsfiddle.net/k2og96ju/1/

Multumesc!

#2
whiteboy

whiteboy

    Member

  • Grup: Members
  • Posts: 924
  • Înscris: 18.12.2007
Nu stiu de ce ai face una ca asta, dar raspunsul e asta:
  var i;
  for (i = 0; i <= 100; i++) {
   window.scrollBy(0, 10);
  }


Eu as pune link pe div-ul necesar si as sari la partea de care am nevoie fara sa incarc aiurea pagina.
Sau, windows.scrollBy(0, 1000); pentru ca 100*10 = 1000, as evita acel loop propus.

#3
alex05ok

alex05ok

    Member

  • Grup: Members
  • Posts: 375
  • Înscris: 08.11.2007
Multumesc whiteboy, am uitat sa mentionez ca vreau o pauza de 100 ms dupa fiecare scroll. Cum fac asta?

#4
sags

sags

    Senior Member

  • Grup: Senior Members
  • Posts: 7,688
  • Înscris: 24.04.2013
Folosesti setInterval() si un contor pe care il initializezi cu numar de executii dorit. In functia execuata la intervalele de timp specificate, pe langa ca faci scroll decrementezi contorul si cand ajunge la 0 folosesti clearInterval() ca sa opresti apelurile.

#5
alex05ok

alex05ok

    Member

  • Grup: Members
  • Posts: 375
  • Înscris: 08.11.2007
Multumesc pentru ajutor, codul de care aveam nevoie este:

<body>
<button onclick="myFunction()">Try it</button>

<script>
var myVar;
function myFunction() {
myVar = setInterval(scrollWin, 100);
}
function scrollWin() {
window.scrollBy(0, 10);
}
</script>
</body>


Ca sa opresc codul dau refresh la pagina, nu mai folosesc loop.

Edited by alex05ok, 21 October 2019 - 09:37.


#6
whiteboy

whiteboy

    Member

  • Grup: Members
  • Posts: 924
  • Înscris: 18.12.2007
Functia asta va scrolla pana la sfarsitul paginii si nu vei mai putea da scroll up pentru ca nu ai folosit clearInterval().
Asta vrei tu?

#7
alex05ok

alex05ok

    Member

  • Grup: Members
  • Posts: 375
  • Înscris: 08.11.2007
Am adaugat acum si "clearInterval" pentru oprire, o sa atribui o tasta pentru butonul "Stop time".

<button onclick="myFunction()">Try it</button>
<button onclick="myStopFunction()">Stop time</button>

<script>
var myVar;
function myFunction() {
myVar = setInterval(scrollWin, 100);
}
function scrollWin() {
window.scrollBy(0, 10);
}
function myStopFunction() {
clearInterval(myVar);
}
</script>


Edited by alex05ok, 21 October 2019 - 10:21.


#8
sags

sags

    Senior Member

  • Grup: Senior Members
  • Posts: 7,688
  • Înscris: 24.04.2013

Quote

var myVar, myCounter;
function myFunction() {
    myCounter = 100;
    …
}
function scrollWin() {
    …
    if (!--myCounter) clearInterval(myVar);
}
Nu e mai simplu asa?

Anunturi

Chirurgia spinală minim invazivă Chirurgia spinală minim invazivă

Chirurgia spinală minim invazivă oferă pacienților oportunitatea unui tratament eficient, permițându-le o recuperare ultra rapidă și nu în ultimul rând minimizând leziunile induse chirurgical.

Echipa noastră utilizează un spectru larg de tehnici minim invazive, din care enumerăm câteva: endoscopia cu variantele ei (transnazală, transtoracică, transmusculară, etc), microscopul operator, abordurile trans tubulare și nu în ultimul rând infiltrațiile la toate nivelurile coloanei vertebrale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate