【问题标题】:Jquery Code on more than one function一个以上功能的Jquery代码
【发布时间】:2013-07-16 14:49:22
【问题描述】:

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

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

我希望这段代码也可以包含在另一个加载函数中。我必须重复它还是有其他方法。它可以存储在某个地方吗?

【问题讨论】:

    标签: jquery load code-duplication


    【解决方案1】:

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

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

    【讨论】:

      【解决方案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 方法:)

      【讨论】:

        猜你喜欢
        • 2018-02-15
        • 1970-01-01
        • 2011-11-07
        • 2013-08-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-07-27
        • 1970-01-01
        相关资源
        最近更新 更多