Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.javascript > #23594
| From | Mattias Campe <mattiaspuntcampe@geeeemeil.com> |
|---|---|
| Newsgroups | comp.lang.javascript |
| Subject | Re: jQuery: fadeIn/out + count |
| Date | 2014-03-13 20:31 +0100 |
| Organization | A noiseless patient Spider |
| Message-ID | <lft11t$adj$1@dont-email.me> (permalink) |
| References | <lfptbf$b5m$1@dont-email.me> <53210464$0$6672$9b4e6d93@newsspool2.arcor-online.net> |
op 13-03-14 02:05, Christoph Michael Becker schreef:
> Mattias Campe wrote:
>
>> I got multiple paragraphs and some of them need to have a fadeIn, some a
>> fadeOut. After that code I want to count the paragraphs that are still
>> visible.
>>
>> The fadeIn or fadeOut works as I expect, but not the counting. I guess
>> that is because the animation is still busy, while the counting already
>> starts. A kind of "parallel" processing.
>>
>> Would anybody know if that is the cause and/or a solution for my problem?
>
> Indeed, the "parallel processing" is the cause of your problem. The
> fadeIn() and fadeOut() methods trigger an animation (the implementation
> might use window.setInterval() or window.setTimeout()), which is
> obviously not finished when you access the length property.
>
> A solution might be to do the count "manually" in the if-else statement.
> An alternative would be to delay the counting until the animation has
> finished.
>
>> if (jQuery('input#' + geg).is(":checked")){
>> jQuery("p." + geg).fadeIn();
>> } else {
>> jQuery("p." + geg).fadeOut();
>> }
>>
>> var nSr = eval(jQuery('p.sr:visible').length); // BUG?
>
> The behavior is not a bug (maybe a documentation bug for the
> fadeIn()/fadeOut() methods), but your use of eval() is superfluous at best.
I didn't mean it as a bug in JavaScript or jQuery, but it didn't work
the way I was "hoping" it to work. So the fault is all mine.
I solved it by doing a "jQuery('p.sr:visible').length;" before any
animation and per fadeIn I do a nSr++ and per fadeOut a nSr--, in the
if-else statement. That seems to work, so thank you for the tip. And I
have omitted the eval().
> Please note that this newsgroup might not be the best place to ask
> questions related to jQuery, as the newsgroup's FAQ states[1]:
>
> | No javascript libraries are endorsed by this group. If you want help
> | with using a library, visit that library's discussion group instead.
>
> IMHO it is best to avoid libraries like jQuery until you have a good
> understanding of ECMAScript and the DOM and their (widespread)
> implementations, so you can judge the value of such libraries.
>
> [1] <http://pointedears.de/scripts/faq/cljs/#libraryResources>
>
I didn't notice that FAQ. I should indeed invest some time to have a
good understanding of it. But I was already happy to "assume" it might
be because of "the parallel processing" :-). And sometimes the proof of
the pudding is in the eating :-).
Kind regards
Mattias
Back to comp.lang.javascript | Previous | Next — Previous in thread | Find similar | Unroll thread
jQuery: fadeIn/out + count Mattias Campe <mattiaspuntcampe@geeeemeil.com> - 2014-03-12 16:09 +0100
Re: jQuery: fadeIn/out + count Hans-Georg Michna <hans-georgNoEmailPlease@michna.com> - 2014-03-12 17:50 +0100
Re: jQuery: fadeIn/out + count Mattias Campe <mattiaspuntcampe@geeeemeil.com> - 2014-03-12 21:17 +0100
Re: jQuery: fadeIn/out + count Joao Rodrigues <groups_jr-1@yahoo.com.br> - 2014-03-12 18:04 -0300
Re: jQuery: fadeIn/out + count Mattias Campe <mattiaspuntcampe@geeeemeil.com> - 2014-03-13 20:22 +0100
Re: jQuery: fadeIn/out + count Christoph Michael Becker <cmbecker69@arcor.de> - 2014-03-13 02:05 +0100
Re: jQuery: fadeIn/out + count Mattias Campe <mattiaspuntcampe@geeeemeil.com> - 2014-03-13 20:31 +0100
csiph-web