tôi ở đây .popin-ảnh
Mở một popin trong phần tử. Khi tôi cố mở một popin được phân lớp con trong cùng một phần tử, nó không hoạt động.
mã số
Đây là cha mẹ
hàm Popin(container, titulo, url_listagem) {
this.url_listagem = url_listagem;
this.titulo = tiêu đề;
this.overlay = $(".popin-overlay");
this.closeButton = $(".popin-close");
this.container = container;
}
Popin.prototype.header = function() {
var dados = {titulo: this.titulo};
var html = $.tmpl("tiêu đề", dados);
this.container.append(html);
};
Popin.prototype.body = function() {
var html = $.tmpl("body");
this.container.append(html);
};
Popin.prototype.footer = function() {
var html = $.tmpl("footer");
this.container.append(html);
};
Popin.prototype.close = function() {
var self = cái này;
this.container.hide(100,function(){
self.overlay.fadeOut('nhanh');
});
$(".popin-header").remove();
$(".popin-body").remove();
$(".popin-footer").remove();
};
Popin.prototype.open = function(){
var self = cái này;
this.header();
this.body();
this.footer();
this.closeButton.click(function(){
self.close();
});
this.overlay.fadeTo("nhanh", 0.8, function(){
self.container.show();
});
};
Lớp con
hàm PopinFoto(){}
PopinFoto.prototype = Popin mới($(".popin-fotos"), "fotos", "fake_url");
PopinFoto.prototype.open = function(){
Popin.prototype.open.call(cái này);
$(".enviar-foto").die().live('click', function(){
// làm điều gì đó
});
};
Vì vậy, tôi làm điều này:
var popin = new Popin($(".popin-foto"), "title", "link");
popin.open();
popin.close();
var popinFoto = new PopinFoto($(".popin-foto"), "title", "link");
popinFoto.open(); //điều này không hoạt động
popin.close();
Và trong bảng điều khiển, không có lỗi nào xuất hiện.
bạn có thể giúp tôi được không?
Có vẻ như lớp con của bạn không được thiết lập chính xác vì bạn đang đặt nguyên mẫu của lớp con thành một phiên bản cụ thể của siêu lớp.
Tôi không chắc chính xác bạn muốn đạt được điều gì, nhưng tôi cá là hàm tạo của lớp con cần gọi trực tiếp hàm tạo của lớp siêu, như thế này:
hàm PopinFoto(container, titulo, url_listagem){
Popin.call(this, container, titulo, url_listagem);
}
Tôi là một lập trình viên xuất sắc, rất giỏi!