函数reinitialise()将在调用之前执行 [英] Function reinitialise() will be executed before its call
本文介绍了函数reinitialise()将在调用之前执行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在正确调用功能reinitialise()
(通过功能reinitializeScrollbar()
)之前,将执行该功能.
有谁知道为什么吗?
Before the proper call of function reinitialise()
(by the function reinitializeScrollbar()
) the function will be executed.
Has anyone an idea why?
$(document).ready(function () {
$('.scrollContainer').jScrollPane();
$('[id^=arr]').click(function (event) {
var id = $(this).attr('id');
var index = id.substring(4);
//alert('Gib ID aus: ' +index);
var skillDesc = "#skillDescript" + index;
var arrTo2 = "#arr_" + index + ".arrow2";
var arrTo1 = "#arr_" + index + ".arrow1";
//alert('Gib skillDesc aus: ' +skillDesc);
event.preventDefault();
if ($(skillDesc).css("display") != "none") {
$(skillDesc).slideUp(800, reinitializeScrollbar());
console.log("ROLL IN!");
$(arrTo2).toggleClass("arrow2", "arrow1");
} else {
$(skillDesc).slideDown(800, reinitializeScrollbar());
console.log("ROLL OUT!");
$(arrTo1).toggleClass("arrow2");
}
});
function reinitializeScrollbar() {
$('.scrollContainer').data('jsp').reinitialise();
console.log("damn you");
}
});
推荐答案
尝试设置事件处理程序时,您正在调用函数:
You are calling the function when you try to set up the event handler:
$(skillDesc).slideUp(800, reinitializeScrollbar());
相反,您只应将函数本身作为参数传递:
Instead, you just should pass the function itself as a parameter:
$(skillDesc).slideUp(800, reinitializeScrollbar);
这篇关于函数reinitialise()将在调用之前执行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文