آموزش موتولز با کمک مثالهای متعدد see:mootools.irآشنایی با بهترین روشهای کد نویسی موتولز شامل آجاکسی (آژاکس) نمودن سایت و... |
||
روش نصب موتولز
درباره نصب موتولز و چگونگی نصب
دانش زیادی نیاز نیست
شما کافیست کد زیر را در داخل هدر صفحه خود قرار بدهید
<script type="text/javascript" src="mootools.js"></script>
اگر باز هم متوجه نشدید کافیست صفحه
مثال کاربردی از استفاده موتولز
را ببنیند و در آنجا دنبال خط بالا بگردید
توجه داشته باشید که ممکن است فایل موتولز شما دارای اضافاتی در نام داشته باشد مثلا
mootools2.2.1.js
که باید این مورد را در کد بالا اصلاح نمایید
و بالاخره اینکه در چه جاهای میتوان از موتولز استفاده کرد
در استفاده از موتولز باید توجه داشت که موتولز تنها یک چارچوب یا فریم ورک از جاوااسکریپت است و این به
این معناست که هر کجا که صفحه خروجی شما بصورت کدهای htm یا html (همان اچ تی ام ال خودمان) نمایش داده میشود می توان از موتولز استفاده کرد
پس فرق نمی کند که شما صفحات خود را بصورت استاتیک طرح کرده اید یا دینامیک
php است یا asp
مهم این است که شما میخواهید جاواسکریپت (موتوز در اصل چهارچوب جاوا اسکریپت است) در آن بکار ببرید
میتوانید به صفحه http://mootools.net/more بروید و با انتخاب هر کدام از چک باکس ها (هم ردیف موارد زیر در این صفحه قرار گرفته است)
و فشردن دکمه دانلود آنها را بصورت یکپارچه در یک فایل جاوا اسکریپت واحد دریافت نمایید
برای راحتی کار شما ما ترجمه فارسی انتخاب های آن صفحه را اینجا برایتان قرار داده ایم
در پست بعدی روش نصب آن را نیز به شما آموزش خواهیم داد
| هسته(بطن موتولز) یا core | |||
|---|---|---|---|
|
|
More | شامل ورژنها و نسخه های کامل تر متولز | راهنمای کلاس |
|
|
Lang | قابلیت تعریف زبان دیگر به کلاسهایموتولز | راهنمای کلاس |
|
|
Log | یک گزارشگر برای کنسولهای دیباگ مثل xdebug و فایرباگ که تعاملموتولز را با آنان ایجاد میکند | راهنمای کلاس |
| کلاس یا class | |||
|
|
Class.Refactor | اجازه توسعه به اجزای یک کلاس بدون آسیب ساندن به فضای نامی یا(namespace) تعریف شده در موتولز | راهنمای کلاس |
|
|
Class.Binds | افزودن امکان تغییر Bind به کلاسهای موتولز | راهنمای کلاس |
|
|
Class.Occlude | ترکیب کردن کلاسهای موتولز برای ممانعت بعمل آوردن از تعریف مجدد یک المنت. | راهنمای کلاس |
|
|
Chain.Wait | افزودن یک تاخیر زنجیره ای (پی در پی) برای استفاده در مکث ها... در موتولز | راهنمای کلاس |
| پیش فرض یا nutive | |||
|
|
Array.Extras | توسعه دادن حالت پیش فرض تابع array در موتولز به متدهای مفید برای استفاده آرایه ها | راهنمای کلاس |
|
|
Date | گسترش حالت پیش فرض تابع date به متدهای مفید برای استفاده تاریخ و زمان ها | راهنمای کلاس |
|
|
Date.Extras | گسترش حالت پیش فرض تابع date به متدهای مفید برای Date.js Date.js | راهنمای کلاس |
|
|
Hash.Extras | گسترش حالت پیش فرض تابع Hash به متدهای مفید از جمله getFromPath برای عناصر رزند(chield) | راهنمای کلاس |
|
|
String.Extras | گسترش حالت پیش فرض تابع string به متدهای مفیدتر مانند query strings, urls, etc | راهنمای کلاس |
|
|
String.QueryString | ... | راهنمای کلاس |
|
|
URI | در بردارنده توابع و متدهای مفیدتر موتولز برای لوکیشن و یو آر ال url - window location | راهنمای کلاس |
|
|
URI.Relative | افزوده شدن کلاس url برای مدیریت بهتر آدرس دهی در موتولز | راهنمای کلاس |
| المنت یا Element | |||
|
|
Element.Forms | توسعه شی پیش فرض عناصر برای مدیریت بهتر بر روی ورودی های فورم مانند input. | راهنمای کلاس |
|
|
Element.Measure | تعمیم شی پیش فرض عناصر برای بدست آوردن بهتر مقادیر ورودی های فرم | راهنمای کلاس |
|
|
Element.Pin | توسعه شی پیش فرض عناصر برای قابلیت فیکس کردن موقعیت مکانی عناصر با پین (یا همان سجاق) | راهنمای کلاس |
|
|
Element.Position | توسعه شی پیش فرض عناصر برای مکان دهی عناصر مرتبط با دیگر المنت صفحه | راهنمای کلاس |
|
|
Element.Shortcuts | کسترش آبجکت پیش فرض المنت ها برای برخوداری از کلیدهای میانبر یا شورت کی ها | راهنمای کلاس |
| عناصر فرم یا Forms | |||
|
|
FormValidator | یک سیستم اعتبار سنجی فرم بر پایه کلاس ها در سی اس اس | راهنمای کلاس |
|
|
FormValidator.Inline | یک سیستم تعین اعتبار عناصر فرم مبتنی بر نام کلاس در css | راهنمای کلاس |
|
|
FormValidator.Extras | افزودن اعتبار سنجب به آبجکت | راهنمای کلاس |
|
|
OverText | نمایشات مربوط به زمانی که کاربر قصد خالی گذاشتن یک ورودی از فرم که اعتبار سنجی برای آن تعریف شده را دارد | راهنمای کلاس |
| Fx افکت دهی به متدها | |||
|
|
Fx.Elements | مفید و موثر برای تغییر دادن هر تعداد از مشخصه ها ی سی اس اس در هر تعداداز عناصر | راهنمای کلاس |
|
|
Fx.Accordion | توسعه عناصر با دادن قابلیت آکاردئونی (آکاردئون) به المنت | راهنمای کلاس |
|
|
Fx.Move | امکان تغییر مکان یک عنصر به مکان دیگر از صفحه وب را تامین می کند | راهنمای کلاس |
|
|
Fx.Reveal | هنگام انتقال یک آیتم به مکان دیگر امکان نمایش حین انتقال یا عدم نمایش را میدهد | راهنمای کلاس |
|
|
Fx.Scroll | قابلیت اسکرول شدن هر عنصر در پنجره مربوط به خودش را فراهم میکند | راهنمای کلاس |
|
|
Fx.Slide | افکت دادن به اسلاید ها از داخل یا بیرون آنها | راهنمای کلاس |
|
|
Fx.SmoothScroll | به تمام لینکهای داخل صفحه امکان اسکرول شدن را می دهد | راهنمای کلاس |
|
|
Fx.Sort | ذخیره یک گروه از عناصر برای انتقال همگی (منظور انتقال در صفحه) | راهنمای کلاس |
| Drag درگ یا کشیدن عنصر با موس | |||
|
|
Drag | بنیادی ترین متد بای درگ کردن که با اونت های موس کار می کند | راهنمای کلاس |
|
|
Drag.Move | یک اکستنشن اضافی در درگ کردن که امکان دراپ کردن یا انداختن (رها کردن) آیتم انتخابی را می دهد | راهنمای کلاس |
|
|
Slider | امکان افزودن کنترل عمودی یا افقی را به اسلایدهای ما می دهد | راهنمای کلاس |
|
|
Sortables | در عناصر لیست شده به صورت مرتب(با ul و li) امکان کشیدن و اندخاتن عناصر در لیست را میدهد(مفید برای منوها) | راهنمای کلاس |
| Request درخواست یا ری کوئیست | |||
|
|
Request.JSONP | یک درخواست با جیسون با بکار بردن اسکریپت تگ یا script tag را شامل میشود که امکان دستکاری و فراخوانی یا callback را به ما میدهد | راهنمای کلاس |
|
|
Request.Queue | مدیریت همزمان و گروهی درخواست ها به جای قرار دان اجرای هر درخواست در صف و نوبت اجرای درخواست | راهنمای کلاس |
|
|
Request.Periodical | امکان ارسای درخواست های یکسان به آدرس مشابه برای زمانیکه سرور هیچ پاسخی به هر کدام از درخواست های ما نمی دهد | راهنمای کلاس |
| ابزار یا Utilities | |||
|
|
Assets | متدهایی از موتولز را در اختیار ما قرار می دهد که به طور دینامیک امکان لود کردن جاوا اسکریپت و سی اس اس و عکس ها و تصاویر در داخل صفحه به ما می دهد | راهنمای کلاس |
|
|
Color | کلاسی برای خلق و ایجاد رنگ ها و دست کاری رنگ در جاوا اسکریپت با پشتیبانی از Supports HSB -> RGB به صورت وارونه یا معمول | راهنمای کلاس |
|
|
Group | کلاسی برای زیرنظر گرقتن گروهی رویدادها در موتولز | راهنمای کلاس |
|
|
Hash.Cookie | کلاسی برای خواندن ، ایجاد،و حذف کوکی های مرورگر (بروزر) با فرمت و قالب جی سون | راهنمای کلاس |
|
|
IframeShim | ایجاد یک آی فرم (iframe) با قابلیت ترانس پارنت یا شیشه ای در مرورگر اینترنت اکسپلورر 6 که در فلش و لیست های انتخابی کاربرد دارد | راهنمای کلاس |
| ارتباط یا Interface | |||
|
|
Scroller | این کلاس موتولز قادر است محتویات هر المنتی (قرار گرفته در پنجره) هنگام تغییر وضعیت موس را اسکرول نماید | راهنمای کلاس |
|
|
Tips | با قرار گرفتن موس بر روی عنصر مورد نظر میتواند تول تیپ با tooltips ( راهنمای متنی) برای ما ایجاد نماید | راهنمای کلاس |
| Localization | |||
|
|
Date.English.US | پیامهای مرتبط با زمان و اعداد وارقام زبان لاتین با قابلیت تبدیل بین انها در موتولز | راهنمای کلاس |
|
|
FormValidator.English | پیغامهای اعتبار سنجی فرم به زبان انگلیسی | راهنمای کلاس |
توجه داشته باشید که دانلود آخرین نسخه از فریم ورک موتولزبرای شما مفیدتر است
در این جدول منظور از فشردگی کد موتولز این نمی باشد که برای استفاده از آن بایدموتولز دانلود شده را از حالت کمپرس خارج نمایید
مطظالب تکمیلی در قسمت مربوط به نصب موتولزآورده میشود
| دانلود نسخه | شیوه فشردگی کد | حجم |
|---|---|---|
| موتولز 1.2.2 | زیپ شده توسط YUI | 65 کیلوبایت |
| موتولز 1.2.2 | فشرده شده تحت لیسانس JSMin | 75 کیلوبایت |
| موتولز 1.2.2 | کامپرس نشده است | 95 کیلوبایت |
در این وضعیت شما میتوانید نسخه قابل دریافت موتولزرا بر اساس نیاز خودتان سفارشی نمایید
در اینجا قصد داریم یک نوی گریشن ساده را با موتولز بسازیم
معمول است که اجزایی از این دست را با لیست ها بسازند یعنی ترکیب ul و l
در اینجا نیز ما ابتدا نوی گریشن خود را با لیست می سازیم
<ul id="nav"> <li><a href="#">Link</a></li> <li><a href="#">Link 2</a></li> <li><a href="#">Link 3</a></li> </ul>
حال برای شکیل شدن (و استفاده در موتولز ) استایل زیر را برای آن در نظر میگیریم
#nav a { padding:12px; line-height:50px; background:#f0f0f0; color:#666; text-decoration:none; } #nav a:hover { color:#000; background:none; } #nav { text-align:center; list-style:none; margin:0; padding:0; } #nav li { display:inline; vertical-align:middle; font-size:12px; }
و سرانجام می ماند کد موتولز نوشته شده که بصورت زیر نوشته میشود
window.addEvent('load', function () { $('nav').getChildren().each(function(el){ var effect = el.effect('font-size', { duration: 400, transition: Fx.Transitions.Expo.easeOut, wait: false }); el.orgSize = el.getStyle('font-size').toInt(); el.addEvents( { 'mouseover': function () { effect.start(el.orgSize * 2); }, 'mouseout': function () { effect.start(el.orgSize); } }); }); });
نمونه انجام شده این مثال ساده را میتوانید در آدرس زیر ببینید
دیگر نباید بنویسید:
$('message').removeClass('error').removeClass('alert').addClass('alert');بلکه باید بنویسید
$('message').setProperty('class', 'alert');
در کدنویسی (مخصوصا در موتولز) همیشه باید ساده نویسی و کوتاه نویسی کد را سرلوحه کار خود قرار بدهیم والا کدهای تمیزی نخواهیم داشت
دیگر نباید بنویسید:
$('my_ul').getChildren().getFirst();بلکه باید بنویسید
$$('#my_ul li a');
مثلا در یک نویگریشن در بین چند لینک ما قصد انتخاب یکی از لینک ها داریم
بهترین انتخاب بکار بردن کلاس خاص برای هر لینک است تا مجبور به انتخاب گروهی عناصر نباشیم
دیگر نباید بنویسید:
new Ajax('my_action.php', { "data": $('my_form').toQueryString() });بلکه باید بنویسید
$('my_form').send();
میتوان دسترسی به آجاکس در موتولز با ساده ترین و کوتاهترین کد ممکن انجام داد
دیگر نباید بنویسید:
new Element('a').setStyle('color', '#fff').setProperty('href', 'new_href').addEvent('click', doSomething);بلکه باید بنویسید
new Element('a', { "href": 'new_href', "styles": { "color": '#fff'; }, "events": { "click": doSomething } });
ملاحظه میشود که در تعریف شی در موتولز مقدار دهی کلاس تماما میتواند در یک جا باشد
دیگر نباید بنویسید:
$('foo').setStyles({بلکه باید بنویسید
"backgroundColor": '#f00',
"color": '#fff'
}).setProperty('href', 'new_href').setEvents({
"mouseover": doSomething,
"mouseout": doSomethingElse
});
$('foo').set({
"styles": {
"backgroundColor": '#f00',
"color": '#fff'
},
"properties": {
"href": 'new_href'
},
"events": {
"mouseover": doSomething,
"mouseout": doSomethingElse
}
});
ملاحظه میشود که به جای استفاده از دو تابع مجزا از set برای قابل فهم کردن کد استفاده شده است
دیگر نباید بنویسید:
$$('div.collapsed').each(function(el){ el.addEvent('click', expand); });بلکه باید بنویسید
$$('div.collapsed').addEvent('click', expand);
شما ملزم به انتخاب تمام عناصر یک گروه نیستید اگر متد مشترک داشته باشند
دیگر نباید بنویسید:
$$('div.hidden').each(function(el){ el.removeClass('hidden'); })بلکه باید بنویسید
$$('div.hidden').removeClass('hidden');مشاهده میشود که در موتولز میتوان چند متد را همزمان به یک گروه از عناصر تامین داد
دیگر نباید بنویسید:
$$('input.date').addEvent('focus', onFocus); $$('input.date').addEvent('blur', onBlur);بلکه باید بنویسید
$$('input.date').addEvents({ 'focus': onFocus, 'blur': onBlur });مشاهده میشود که در موتولز چگونه به راحتی میتوان چند رویداد را در یک بسته قرار داد
دیگر نباید بنویسید:
$('myContainer').onclick = doSomeMagic;بلکه باید بنویسید
$('myContainer').addEvent('click', doSomeMagic);
دیگر نباید بنویسید:
new Ajax('blah.php', { method: 'post', async: true, encoding: 'UTF-8', headers: {'contentType': 'application/x-www-form-urlencoded'} });بلکه باید بنویسید
new Ajax('blah.php');
بعبارتی نیازی به مقدار دهی موارد پیش فرض نیست
دیگر نباید بنویسید:
new Ajax('ninja.php?weapon1=foo&weapon2=bar');
بلکه باید بنویسید
new Ajax('ninja.php', {
data: {
weapon1: 'foo',
weapon2: 'bar'
}
});
هر چند شخصا روش اول را برای مواردی که مقادیر استاتیک هستند ترجیح میدهم
اما در هر صورت روش دوم کد تمیزتری به ما می دهد
دیگر نباید بنویسید:
$('coolestWidgetEver').innerHTML = 'some nifty content';بلکه باید بنویسید
$('coolestWidgetEver').setHTML('some nifty content');
اینجا نیز مانند پروتوتایپ با این تفاوت که به جای update از setHTML استفاده میشود
دیگر نباید بنویسید:
$('footer').style.height = '100px';و یا اینکه
$('footer').style.background = '#ffc';بلکه باید بنویسید
$('footer').setStyles({ height: '100px', background: '#ffc' });
در ضمن به s اضافی در انتهای setstyles دقت شود
دیگر نباید بنویسید:
var foo = document.getElementById('bar').value;و یا اینکه
var foo = $('bar').value;بلکه باید بنویسید
var foo = $('bar').getValue();
همانطور که ملاحظه میشود موتولز روش کوتاهی برای گرفتن مقادیر ندارد اما برای این منظور معماری خاص خود را دارد
دیگر نباید بنویسید:
document.getElementById('foo');بلکه باید بنویسید
$('foo');
این روش بصورت استاندارد برای اکثر فریم ورکهای جاوا اسکریپت در آمده که شروع آن با پروتوتایب بود
آموزش موتولز::توابع اصلی:بررسی وجود مقدار
عمل کرد این تابع مشابه isset در زبان php است
و مقداری که بر می گرداند میتواند صفر باشد یا یک
شیوه نگارش : مقدار بازگشتی:درصورت وجود مقدار معتبر برای پامتر تابع (حتی صفر) مقدار بازگشتی درست true است و الا نادرست یا false است
میتواند ترکیبی (مثل آرایه یا شیئ) و یا منفرد (مثل عدد یا عبارت) باشد
مثال عملی:HTML clipboard
forum seo سئو » اصول و مبانی سئو - SEO Google page rank پیج رنک گوگل » بهینه سازی تصاویر و پیوندها
امروزه در بسیاری از وب سایتها شاهد استفاده از تصاویر اعم از عکسها و تصاویر گرافیکی هستیم. از آنجا که خزنده موتورهای جستجو نمی توانند از تصاویر استفاده کنند باید فکری برای استفاده از آنها نمود. راه حل این مشکل استفاده از خصوصیت ALT (Alternative Text) یا متن جایگزین است.
address در این خصوصیت توضیح مختصری در رابطه با پیوند مربوطه قرار دهید و حتما در آن از کلمات کلیدی استفاده نمایید . استفاده از این خصوصیت سبب می شود که اطلاعات بیشتری به خزنده موتور جستجو در رابطه با صفحه مورد نظر و پیوند های آن داده شود و مطمئنا بسیار موثر خواهد بود.
آموزش موتولز::توابع اصلی:بررسی وجود مقدار
عمل کرد این تابع مشابه isset در زبان php است
و مقداری که بر می گرداند میتواند صفر باشد یا یک
درصورت وجود مقدار معتبر برای پامتر تابع (حتی صفر) مقدار بازگشتی درست true است و الا نادرست یا false است
میتواند ترکیبی (مثل آرایه یا شیئ) و یا منفرد (مثل عدد یا عبارت) باشد
پدیده شاندیز در یک نگاه مجتمع توریستی و رستورانهای پدیده شاندیز به عنوان یک پدیده زیبا و جذاب گردشگری و رفاهی در سال 1383 و در زیربنایی بالغ بر 10000 متر مربع با مدیریت بخش خصوصی آغاز به فعالیت نموده است و با توفیق الهی و استقبال روز افزون عموم مردم و اعتماد و رضایت مشتریان توانسته است مالکیت کامل مجتمع توریستی و رستورانهای پدیده شاندیز را نیز عهده دار گردد. امروز پدیده شاندیز پدیده ی گردشگری ایران است و اغشار مختلف از اقسا نقاط ایران و برخی از کشورهای جهان برای گذراندن ایامی خوش و خاطره انگیز به مجتمع توریستی و رستورانهای پدیده شاندیز مراجعه میکنند. مشهد منتظر شما هستیم.
| "سایت پدیده شاندیز" |
| اسامی برندگان قرعه کشی پدیده شاندیز |
| اسامی برنده گان مسابقه پدیده شاندیز |
| نمایشگاه پدیده شاندیز |
| سایت پدیده شاندیز |