javascript - How to access "this" inside a closure? -


i'm new javascript , jquery , i'm having trouble bit of code.

html:

<div class="toggle" style="display: block; width: 200px; height: 200px; background-color: red;">test</div> 

javascript:

jquery(document).ready(     function()     {         jquery(".toggle").on("click", function() {             console.log("let toggling begin!");              jquery(this).slidetoggle(600, function(){ // slide                 settimeout(function(){ // wait 4 sec, slide down                     jquery(this).slidetoggle(600)                 }, 4000);             });         });     } ); 

so idea click on div, slides up, 4 seconds later slides down. doesn't work.

jsfiddle: http://jsfiddle.net/zeqn9/2/

however, if change this inside each of closures ".toggle", work.

jsfiddle: http://jsfiddle.net/yzxmb/

so issue use of this.

i tried passing this parameter each of 2 closure functions, gave error unexpected token this.

how can access this variable inner functions?

create reference this in slidetoggle function.

 jquery(document).ready(     function()     {         jquery(".toggle").on("click", function() {             console.log("let toggling begin!");              jquery(this).slidetoggle(600, function(){ // slide                 var self = this; // <-- notice                 settimeout(function(){ // wait 4 sec, slide down                     jquery(self).slidetoggle(600)                 }, 4000);             });         });     } ); 

Comments

Popular posts from this blog

html - How to style widget with post count different than without post count -

How to remove text and logo OR add Overflow on Android ActionBar using AppCompat on API 8? -

javascript - storing input from prompt in array and displaying the array -