Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 在对象内调用方法不会';行不通_Jquery - Fatal编程技术网

Jquery 在对象内调用方法不会';行不通

Jquery 在对象内调用方法不会';行不通,jquery,Jquery,当您单击“联系我们”按钮时,“关闭”功能应显示一个X字母作为span,但它不会显示。你能帮助我吗? 这是代码笔: 谢谢你 HTML: JS: (函数(){ $('html').addClass('js'); var container=$(“#contact”); var contactForm={ init:function(){ $('', { 文字:“联系我们” }) .insertAfter(容器) .on('click',this.show) }, show:function(){

当您单击“联系我们”按钮时,“关闭”功能应显示一个X字母作为span,但它不会显示。你能帮助我吗? 这是代码笔:

谢谢你

HTML:

JS:

(函数(){
$('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)
}