How to fix the jquery code below -


<h1>click me</h1> <div class="content">     <p>lorem ipsum dolor sit amet, consectetur adipisicing elit, sed eiusmod     tempor incididunt ut labore et dolore magna aliqua. ut enim ad minim veniam,     quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo     consequat. duis aute irure dolor in reprehenderit in voluptate velit esse     cillum dolore eu fugiat nulla pariatur. excepteur sint occaecat cupidatat nonproident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p> </div>  <script type="text/javascript" src="jquery-1.11.3.min.js"></script>  <script type="text/javascript">  $('.content').hide(); var $this = $('h1');``  var form = {      enter: function(){         console.log('slidedown')             // $this.next('div.content').slidedown(500)          },      leave: function(){         console.log('slideup')             // $this.next('div.content').slideup(500)            }  }  $this.mouseenter(function(){     form.enter(); }) $this.mouseleave(function(){     form.leave(); }) </script> </body> 

in code, want when mouse enter 'click me' slide down '.content' class , when mouse leave slide it. in case when mouse enter slide downs , slide ups 3 times @ once when mouse leave slide ups 1 time. how can fix it? please me.

you can fix animation triggering multiple times checking see if element hidden before slidedown, , checking if it's visible before slideup.

here's code that:

enter: function(){     console.log('slidedown');     if ($this.next('div.content').is(":hidden")) {         $this.next('div.content').slidedown(500);     } },  leave: function(){     console.log('slideup');     if ($this.next('div.content').is(":visible")) {         $this.next('div.content').slideup(500);      } } 

working live demo:

$('.content').hide();  var $this = $('h1');``    var form = {        enter: function(){          console.log('slidedown');          if ($this.next('div.content').is(":hidden")) {              $this.next('div.content').slidedown(500);          }      },        leave: function(){          console.log('slideup');          if ($this.next('div.content').is(":visible")) {              $this.next('div.content').slideup(500);           }      }    }    $this.mouseenter(function(){      form.enter();  })  $this.mouseleave(function(){      form.leave();  })
.content {    overflow: auto;  }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>  <h1>click me</h1>  <div class="content">      <p>lorem ipsum dolor sit amet, consectetur adipisicing elit, sed eiusmod      tempor incididunt ut labore et dolore magna aliqua. ut enim ad minim veniam,      quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo      consequat. duis aute irure dolor in reprehenderit in voluptate velit esse      cillum dolore eu fugiat nulla pariatur. excepteur sint occaecat cupidatat nonproident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>  </div>


Comments

Popular posts from this blog

dns - How To Use Custom Nameserver On Free Cloudflare? -

python - Pygame screen.blit not working -

c# - Web API response xml language -