Jquery 在对象内调用方法不会';行不通
当您单击“联系我们”按钮时,“关闭”功能应显示一个X字母作为span,但它不会显示。你能帮助我吗? 这是代码笔: 谢谢你 HTML: JS:Jquery 在对象内调用方法不会';行不通,jquery,Jquery,当您单击“联系我们”按钮时,“关闭”功能应显示一个X字母作为span,但它不会显示。你能帮助我吗? 这是代码笔: 谢谢你 HTML: JS: (函数(){ $('html').addClass('js'); var container=$(“#contact”); var contactForm={ init:function(){ $('', { 文字:“联系我们” }) .insertAfter(容器) .on('click',this.show) }, show:function(){
(函数(){
$('html').addClass('js');
var container=$(“#contact”);
var contactForm={
init:function(){
$('', {
文字:“联系我们”
})
.insertAfter(容器)
.on('click',this.show)
},
show:function(){
contactForm.close;
container.show();
},
隐藏:函数(){
container.hide();
},
关闭:函数(){
$('', {
文本:“X”,
课堂:“结束”
})
.prependTo(容器)
.on('click',contactForm.hide)
}
};
contactForm.init();
}());
您需要在close函数中正确关闭span标记,并在show函数中调用contactForm.close()函数。
看一看:
show: function() {
contactForm.close();
container.show();
},
hide: function() {
container.hide();
// remove x span
$('.close').remove();
},
close: function() {
$('<span></span>', {
text: 'x',
class: 'close'
})
.prependTo(container)
.on('click', contactForm.hide)
}
show:function(){
contactForm.close();
container.show();
},
隐藏:函数(){
container.hide();
//移除x跨度
$('.close').remove();
},
关闭:函数(){
$('', {
文本:“x”,
课堂:“结束”
})
.prependTo(容器)
.on('click',contactForm.hide)
}
希望有帮助 这就是为什么不允许没有任何代码的链接的原因。请不要回避这个要求:在问题中包含实际的代码有助于确定问题的背景。@Terry,当然,没问题!它解决了问题是的,但我在这里学习,我想知道为什么我的课文/课堂不起作用。在show方法中,它起作用,但在close方法中却不起作用!是的。。。现在我尝试使用您的旧代码,并使用以下命令编辑隐藏函数:container.hide()$('.close').remove();它起作用了。。。维尔德终于找到了。。。你的标签必须正确关闭,因为我错过了那个错误,但仍然不能解决问题:)你知道我会放弃什么,现在我们将使用你的解决方案。我以后可能会再谈这个问题。非常感谢我的朋友!没问题,伙计,很高兴我能帮上忙。我找到了解决方案,这次得到了保证:您需要在show函数中调用contactForm.close()函数。
#contact{width:550px;margin:40px auto;}
.js #contact{display:none;position:absolute;top:81px;background:#ccc;width:550px;}
.js #contact form {text-align:center;}
(function(){
$('html').addClass('js');
var container = $('#contact');
var contactForm = {
init: function() {
$('<button></button>', {
text: 'Contact Us'
})
.insertAfter(container)
.on('click', this.show)
},
show: function() {
contactForm.close;
container.show();
},
hide: function() {
container.hide();
},
close: function() {
$('<span><span>', {
text: 'X',
class: 'close'
})
.prependTo(container)
.on('click', contactForm.hide)
}
};
contactForm.init();
}());
show: function() {
contactForm.close();
container.show();
},
hide: function() {
container.hide();
// remove x span
$('.close').remove();
},
close: function() {
$('<span></span>', {
text: 'x',
class: 'close'
})
.prependTo(container)
.on('click', contactForm.hide)
}