我对 JavaScript 和 jQuery 非常陌生,并且遇到了一些代码问题。
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 the toggling begin!");
jQuery(this).slideToggle(600, function(){ // slide up
setTimeout(function(){ // wait 4 sec, then slide back down
jQuery(this).slideToggle(600)
}, 4000);
});
});
}
);
所以想法是你点击 div,它向上滑动,然后 4 秒后又向下滑动。它不起作用。
JSFIDDLE:http: //jsfiddle.net/zEqN9/2/
但是,如果我将this
每个闭包的内部更改为".toggle"
,那么它确实有效。
JSFIDDLE:http: //jsfiddle.net/YZxMb/
很明显,问题是我对this
.
我尝试将this
作为参数传递给两个闭包函数中的每一个,但这给出了错误Unexpected token this
。
如何this
从内部函数访问变量?