重复调用函数的函数

时间:2012-12-26 20:18:49

标签: javascript jquery

我试图在我的javascript中的click方法上重复一个回调函数。我想要做的就是引用function()中的代码。在我的#previous和#next点击方法上,我不想调用slidewitch。我想在代码中运行第4行的代码。我意识到我需要取出slidewitch的函数调用,我只是想参考它进行讨论。

$holder.quicksand($filteredData, {
        duration: 800,
        easing: 'easeInOutQuad'
line 4      }, function() {
        $(".portfolioLink").click(function(){

        $(".inner-content.portfolio").show();

        clearInterval($('#slides').data('interval'));
        $("ul.pagination li").removeClass("current");

        var number = $(this).attr("data-id");

        var slideID = $(this).parent().attr("id");

        $("#previous").click(function() {
            slideID--;
            clearInterval($('#slides').data('interval'));
            $("ul.pagination li").removeClass("current");
            slideswitch(slideID);
        });

        $("#next").click(function() {
            slideID++;
            clearInterval($('#slides').data('interval'));
            $("ul.pagination li").removeClass("current");
            slideswitch(slideID);
        });

我将如何实现这一目标?

1 个答案:

答案 0 :(得分:2)

$holder.quicksand($filteredData, {
        duration: 800,
        easing: 'easeInOutQuad'
}, myFunction);

您的函数定义(代码存在一些问题,因此可能无法正确构造:

function myFunction() {
    $(".portfolioLink").click(function(){ // where is this supposed to end?

    $(".inner-content.portfolio").show();

    clearInterval($('#slides').data('interval'));
    $("ul.pagination li").removeClass("current");

    var number = $(this).attr("data-id");

    var slideID = $(this).parent().attr("id");

    $("#previous").click(function() {
        slideID--;
        clearInterval($('#slides').data('interval'));
        $("ul.pagination li").removeClass("current");
        slideswitch(slideID);
    });

    $("#next").click(function() {
        slideID++;
        clearInterval($('#slides').data('interval'));
        $("ul.pagination li").removeClass("current");
        slideswitch(slideID);
    });
}

此外,您不应该在计划多次调用的函数中绑定事件。