من تو چند تاپیک قبل یه سوال در مورد توابع پرسیدم ولی به یک سوالم پاسخ داده نشد .
من می خواستم ببینم چطور میشه توابع رو که دارای یک بازگشتی هم هستند به هم وصل کرد.
من تو چند تاپیک قبل یه سوال در مورد توابع پرسیدم ولی به یک سوالم پاسخ داده نشد .
من می خواستم ببینم چطور میشه توابع رو که دارای یک بازگشتی هم هستند به هم وصل کرد.
یه همچین سوالی بود که من جوابش رو داده بودم... شما با return this می تونی اینکار رو بکنی. اما بازگشت قضیه رو کمی پیچیده میکنه. شاید کار معقولی در مورد تابع بازگشتی نباشه Cascade کردن تابع.
یه مثال مشخص بزن برات بنویسم با توضیحش
بله قسمتی از مشکل با return this حل شد اما یه مشکل جدید رو به وجود آورد
لطفا به این دو تابع نگاه کنید.
function ge(i){ //select element by ID
if(document.all)
return document.all(i);
else if(document.getElementById)
return document.getElementById(i);
}
function setcss(obj,css){ //add css
if(typeof(obj)!='undefined'){
if(typeof(css)=='undefined')
css='';
obj.setAttribute('style',css);
}
}
من می خوام تابع setcss به تابع ge وصل بشه و من نیازی به فرستادن Object به تابع نداشته باشم
اگر ممکنه توضیحات کد رو هم برام بزارین تا متوجه بشم.
ممنون
شاید همچین چیزی مدنظرتون باشه:
var DomHelper = function (elemId) {
var elem = document.getElementById(elemId);
return {
SetCss: function (css) {
elem.setAttribute('style', css);
return this;
},
AsHtml: function () {
return elem;
}
};
};
var elem = DomHelper('txt_username')
.SetCss('background-color: red;')
.AsHtml();
و چطور میشه که این تابع رو در متغیر قرارندیم مانند جی کوئری باشه
مانند:
مثلا
$('#as')
و توابعی برای اضافه کردن سی اس اس داشته باشیم.
من نمی خوام توی اینجا مثلا تابعی به نام ashtml رو داشته باشم
استفاده از تابع به دلیل ساختاری هست که جاوا اسکریپت داره، و موقع استفاده هم شما نیازی به فکر کردن در مورد اینکه کدتون به شکل تابع هست ندارید.
الانم دارید مثل jQuery کار میکنید، با این تفاوت که بجای علامت $ از یه نام استفاده کردیم.
خب، نداشته باشید.من نمی خوام توی اینجا مثلا تابعی به نام ashtml رو داشته باشم
اگر هم خیلی دوست دارید مثل jQuery عمل کنید، میتونید سورسش رو بررسی کنید.
jQuery source viewer http://james.padolsey.com/jquery/
jQuery Deconstructed http://www.keyframesandcode.com/reso...ructed/jquery/