Versio

JQuery callback werkt niet goed

Overzicht Reageren

- Roland -

- Roland -

27/05/2011 10:23:38
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
function do_with_div(v){
    if (v<$('div').size()){v++;
    // show what's going on
    console.log(v);
    $('div:eq('+v+')').slideDown(6000,do_with_div(v));
    }
}

Bedoeling is dat de actie's NA elkaar gebeuren. Ze vinden echten allen tegelijk plaats !
Wat doe ik fout met de callback
Gewijzigd op 27/05/2011 10:24:36 door - Roland -
 
PHP hulp

PHP hulp

25/05/2012 00:47:58
Gesponsorde koppelingen:
BHosted Hosting al vanaf € 1,- per maand

Controleer nu gratis jouw domeinnaam:

  
 
Vincent Huisman

Vincent Huisman

27/05/2011 10:33:53
Quote Anchor link
dat welke acties na elkaar bebeuren, wat doet die console?
 
Arjan -

Arjan -

27/05/2011 10:36:14
Quote Anchor link
Geef de code eens die de functie aanroept (met wat extra relevante code dat laat zien wat je wilt bereiken).
Gewijzigd op 27/05/2011 10:36:46 door Arjan -
 
- Roland -

- Roland -

27/05/2011 10:38:51
Quote Anchor link
De actie slideDown vind gelijktijdig plaats in ALLE divs.
console meld gelijk 0 1 2 3 4 5 Dus hij wacht niet.... (op die slide van 6 sec )

Dit is dus recursief gebruik van functie (zichzelf aanroepend)

Toevoeging op 27/05/2011 10:45:09:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">

function do_with_div(v){
    if (v<$('div').size()){v++;
    // show what's going on
    console.log(v);
    $('div:eq('+v+')').slideDown(6000,do_with_div(v));
    }
}

$(function(){
    $('div').hide();
    $('span').click(function(){
        do_with_div(-1);
  
    });
});
</script>


en in de body heb ik dan een aantal div's staan
Jquery sluit (na load) eerst alle divs, en na de click zouden ze 1 voor 1 open moeten gaan. Na elkaar !
Gewijzigd op 27/05/2011 10:50:24 door - Roland -
 
- Roland -

- Roland -

28/05/2011 12:38:07
Quote Anchor link
Bump !
Weet aub iemand iets van JQuery
 
The Force

The Force

28/05/2011 17:25:28
Quote Anchor link
Omdat je het zo aardig vraagt...

Wat jij doet werkt niet omdat je functie oproep in een functie moet staan. Ik heb het voor je getest en dit werkt wel:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
function do_with_div(v){
    if (v<$('div').size()){v++;
    // show what's going on
    console.log(v);
    $('div:eq('+v+')').slideDown(6000, function() {
         do_with_div(v);
    });
    }
}
 
- Roland -

- Roland -

28/05/2011 18:53:54
Quote Anchor link
Ja zo moet het, dank je

(& damned dat ik dat zelf niet heb bedacht, ik ben dat vaker tegen gekomen !)

Gelukkig zijn er aardige, hulpvaardige mensen hier op phphulp

Merci !
 



Overzicht Reageren

Get Adobe Flash player