0

这是我的脚本,出于某种原因,当我使用contactForm.container[contactForm.container.config.effect]();它时说“contactForm.container.config 未定义”......我可以很好地看到它已定义!我究竟做错了什么?谢谢

<script>

(function(){

  $('html').addClass('js');


 var contactForm ={

     container: $('#contact'),

     config: {
          effect:'slideToggle'
            }, 

     init: function(){
        $('<button></button>',{
           text: 'Contactame'
        })
               .insertAfter('article:first')
               .on('click', this.show);

            }, 

     show: function(){
                contactForm.close.call(contactForm.container);
                contactForm.container[contactForm.container.config.effect]();
            }, 

     close: function(){
                var $this = $(this);
                  $('<span class=close>X</span>')           
                       .prependTo(this)
                       .on('click',function(){

                                  $this.hide();

                                             })
                     } 

  };
       contactForm.init();
    })();

</script>
4

2 回答 2

2

config不是 的孩子container。他们是兄弟姐妹。

你似乎想要:

contactForm.config.effect
于 2013-02-01T00:23:18.827 回答
1

应该contactForm.config不是contactForm.container.config。将调用更改为:

contactForm.container[contactForm.config.effect]();
于 2013-02-01T00:23:40.447 回答