fr_sdgh
پنج شنبه 08 مرداد 1394, 23:57 عصر
سوال:
_اولین خط ، contactForm یه کلاس از مجموعه آبجکت ها هست ، در این خصوص کمی توضیح میدید. کنسول لاگ اینها رو آبجکت خروجی میده ولی تفاوت config و container با init ... چیه؟
_یکی خشگلش بگه این آرگمان چجوری مقادیرش رو جایگذاری میکنه. ممنون
سوالای بیشتری هم دارم ولی تا همینجاش هم کلی شد. ممنون :لبخندساده:
var contactForm = {
config : {
effect: 'slideToggle',
speed: 800
},
container : $('#contact'),
init : function(config){
$.extend(this.config , config);
$('<button></button>' , {
text :'click to'
}).insertAfter('article:first').on('click', this.show);
console.log(this);
},
show : function(){
var cf=contactForm , container=cf.container , config=cf.config ;
if (container.is(':hidden')) {
container[config.effect](config.speed);
cf.close.call(container);
console.log(this);
};
},
close : function(){
var config=contactForm.config;
var $this=$(this);
if($this.find('span.close').length) return ;
$('<span class="close">X</span>').prependTo(this).on('click',function(){
$this[config.effect](config.speed);
});
}
}
contactForm.init({
effect: 'slideToggle',
speed: 800
});
_اولین خط ، contactForm یه کلاس از مجموعه آبجکت ها هست ، در این خصوص کمی توضیح میدید. کنسول لاگ اینها رو آبجکت خروجی میده ولی تفاوت config و container با init ... چیه؟
_یکی خشگلش بگه این آرگمان چجوری مقادیرش رو جایگذاری میکنه. ممنون
سوالای بیشتری هم دارم ولی تا همینجاش هم کلی شد. ممنون :لبخندساده:
var contactForm = {
config : {
effect: 'slideToggle',
speed: 800
},
container : $('#contact'),
init : function(config){
$.extend(this.config , config);
$('<button></button>' , {
text :'click to'
}).insertAfter('article:first').on('click', this.show);
console.log(this);
},
show : function(){
var cf=contactForm , container=cf.container , config=cf.config ;
if (container.is(':hidden')) {
container[config.effect](config.speed);
cf.close.call(container);
console.log(this);
};
},
close : function(){
var config=contactForm.config;
var $this=$(this);
if($this.find('span.close').length) return ;
$('<span class="close">X</span>').prependTo(this).on('click',function(){
$this[config.effect](config.speed);
});
}
}
contactForm.init({
effect: 'slideToggle',
speed: 800
});