1

我对 OOP 很陌生。我的理解是,它就像 CSS 类,我们有类然后我们可以应用/使用它。

这是我的代码。

$(".mybutton").click(function(){
    $(this).siblings('.mybutton').removeClass('active').end().addClass('active');           
});


$('.mybutton, .second').click(function(event){
    $('#thisDiv').hide().filter(this.hash).show();
    event.preventDefault();
});

$('.second').on("click", function(){
$(".mybutton").eq(1).siblings('.mybutton').removeClass('active').end().addClass('active');
    $("html, body").animate({
        scrollTop: $('#contact').offset().left - 20},
        800);
});

我应该如何将它们转换为 oop 样式?

var Doit = {
    init:function(){
        $(".mybutton").on("click", this.active);
    },
    active:function(){
    $(this)
      .siblings('.mybutton')
          .removeClass('active')
              .end().addClass('active');
    },
    filter:function {


    }


};

Doit.init();

如果有人可以给我一个提示,我的代码是否真的需要更改为 OOP ?

谢谢

4

1 回答 1

1

试试看,

var Doit = function(){
    this.init=function(){
        $(".mybutton").on("click", this.active);
    },
    this.active=function(){
        $(this)
          .siblings('.mybutton')
              .removeClass('active')
                  .end().addClass('active');
    },
    this.filter=function() {
        //code
    }
};

阅读更多Javascript 面向对象

于 2013-06-05T05:03:11.703 回答