关于多个函数的Jquery代码

时间:2013-07-16 14:49:23

标签: jquery load code-duplication

单击链接时加载了以下代码:

$('.ops .menu .panel a').on('click',function(){
                        $('.ops .lay').css('opacity',0.1).load($(this).attr('href'), function(){ $('.ops .lay').css('opacity',1) });
                        $(this).parent().parent().find('a').removeClass('active'); $(this).addClass('active');
                        return false
                    });

我希望这段代码也能用于另一个加载功能。我必须重复它还是有另一种方式。它可以存储在某个地方吗?

2 个答案:

答案 0 :(得分:4)

将函数保存为变量并从两个位置引用它:

var myFunction = function() {
    $('.ops .lay').css('opacity',0.1).load($(this).attr('href'), function(){ 
        $('.ops .lay').css('opacity',1) 
    });

    $(this).parent().parent().find('a').removeClass('active'); 
    $(this).addClass('active');
    return false;
};

$('.ops .menu .panel a').on('click', myFunction);

// i assume by "load function" you meant document ready, but you get the idea
$(document).ready(myFunction);

答案 1 :(得分:2)

function act(){
     $('.ops .lay').css('opacity',0.1).load($(this).attr('href'), function(){ $('.ops .lay').css('opacity',1) });
     $(this).parent().parent().find('a').removeClass('active'); $(this).addClass('active');
     return false
};

$('.ops .menu .panel a').on('click', act);

在其他地方使用act方法:)