2016-03-26 10 views
2
var Menu = function() { 
    state = 0; 
} 
Menu.prototype.click = function() { 
    if (this.state == 1) { 
     $(document).ready(function(){ 
      $("#collapse-menu").click(function(){ 
       $("#list-navbar").show(500); 
       this.state = 0; 
      }); 
     }); 
    } else { 
     $(document).ready(function(){ 
      $("#collapse-menu").click(function(){ 
       $("#list-navbar").hide(500); 
       this.state = 1; 
      }); 
     }); 
    } 
} 

Sınıf yükünü sınıfta nasıl oluşturabilirim? Sınıfı nasıl yükleyebilirim? clickJavaScript: Gizle ve Göster Menüsü Sınıfı

+1

? Demek istediğim, 'Menu' ve 'state' için ne yapıyor? –

+0

Bu bir çöküş menüsü. Durum eşittir 1 ise gizlidir ve kullanıcının düğmeyi tıklatıp tıklattığını göstermek istiyorum. 0'a eşitse, görüntüleniyor demektir ve kullanıcı düğmeyi tıklarsa gizlemek istiyorum. – Chittolina

+0

$ (document) .ready() 'işleyicilerinizi içmeniz gerekmediğini unutmayın. Bu satırları kaldırabilirsiniz. –

cevap

2
var Menu = function() { 
    this.state = 0; 
}; 

Menu.prototype.click = function() { 
    var that = this; // our Menu object 

    $("#collapse-menu").click(function(){ 
    that.state ^= 1; // Toggles 1,0,1... values 
    $("#list-navbar")[that.state?"hide":"show"](500); 
    }); 
}; 


jQuery(function($) { // DOM ready here 

    var m = new Menu(); // New Menu instance 
    m.click();   // init clicks on #collapse-menu 

}); 

Toggler olarak jsBin demo

yaklaşık ^: Bu kod bütün hakkında ne https://stackoverflow.com/a/22061240/383904

+1

Mükemmel bit kullanım ..., bugün bir şey öğrendim –

İlgili konular