0

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

$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);
        });

我将如何实现这一目标?

4

1 回答 1

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);
    });
}

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

于 2012-12-26T20:30:21.673 回答