函数reinitialise()将在调用之前执行 [英] Function reinitialise() will be executed before its call

查看:116
本文介绍了函数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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆