textbox - Trying to understand a JQuery routine -
i had fantastic david on post how reset css before repeating sequence there wasn't enough room in comments ask questions. david set jquery right , rewrote of because heading in wrong direction have want, text appears on right, slides on left, pauses , fades. new line of text same thing , can have many lines want.
i understand happening here, i'm complete noob jquery. here jsfiddle of working - http://jsfiddle.net/bf49z/13/ - have rearranged lines make more sense me. here questions wouldn't fit in comments -
what hard understand why animation stopped, before it’s started.
$elements.eq(index).stop()   .animate({   i assume stops animation @ second, third, fourth etc repeats?
then
.animate({"opacity": "1",  //animate opacity opaque     "left": "6px"    //animate left 6px     }, 1000,   makes visible , moves left, taking 1 second?
i understand
$(this).delay(3000) .animate({ //wait 3000ms
then next line way of fading changing opacity on 1 second?
       .animate({   "opacity": "0"  //animate opacity transparent     }, 1000,    then next 2 lines reset css?
function(){ //after animation         $(this).css("left", "400px"); //reset left   thanks again help, hope don’t mind questions. rob
the call .stop() stop animation in-progress element. since there shouldn't any, unnecessary in case. used when animations triggered mouse events. in such case, may need stop animation in-progress before starting new one.
the answers other questions "yes", .delay() applies animation queue, not have put in "complete" function.
therefore shorten code to:
(function animate(index) {     $elements.eq(index)         .animate({ opacity: '1', left: '6px' }, 1000)         .delay(3000)         .animate({ opacity: '0' }, 1000, function() {             $(this).css({ left: '400px' });             animate((index + 1) % $elements.length);         }); })(0);        
Comments
Post a Comment