javascript - Stop jQuery.typewriter plugin being executed when input is not visible -


i using typewriter plugin, should animate placeholder of input when form visible. works. however, i'd stop animation, when searchbar not visible anymore (eg. on esc event).

    tg_search = function() {         var search_icon = $('.tg-search'),             header = $('.fusion-header'),             writing = false;         var search_tl = new timelinemax({             reversed: true,             paused: true,         })         search_tl             .to('.tgicon-search.-open', 0.2, {autoalpha: 0, display: 'none'})             .to('.tgicon-search.-close', 0.2, {autoalpha: 1, display: 'inline'})             .to('.tg-search__wrapper', 0.5, {y: 0, autoalpha: 1});          search_icon.click(function (e) {             /*event.preventdefault();*/             writing = true;             search_tl.reversed() ? search_tl.play() : search_tl.reverse();         });          // esc event         $(document).on('keydown', function(e) {             if (e.keycode === 27) {                 !search_tl.reversed() && search_tl.reverse();                  writing = false;             }         });          function typewriter() {             if (!writing) {                 return;             } else {                 $('#type-search').placeholdertypewriter({text: ["what looking for?"]});             }         };     }; 

i tried boolean, , ended failure. tried replace input form without placeholder within esc event, plugin keeps adding palceholder correspondending id of element. if click search icon again, function executed twice, placeholder text nonsense in case.

you can try visible selector

elements visibility: hidden or opacity: 0 considered visible, since still consume space in layout.

elements not in document considered hidden; jquery not have way know if visible when appended document since depends on applicable styles.

this selector opposite of :hidden selector. so, every element selected :visible isn't selected :hidden , vice versa.

    function typewriter() {         if (!writing) {             return;         } else {             $('#type-search:visible').placeholdertypewriter({text: ["what looking for?"]});         }     }; 

Comments

Popular posts from this blog

angular - Ionic slides - dynamically add slides before and after -

minify - Minimizing css files -

Add a dynamic header in angular 2 http provider -