জেকোয়েরি মোবাইল সিএসএস ক্লাসের ব্যবহার ।

জেকোয়েরি মোবাইল সিএসএস ক্লাসের ব্যবহার ।

লেখকঃ মোস্তাফিজুর ফিরোজ ।
মেইলঃ me@firoz.me
ওয়েবসাইটঃ www.firoz.me

কি খবর ? কেমন আছেন সবাই? আজকে একটু ঠাণ্ডা বেশি, তাই সবাই মনে হয় লেপের ভিতর থেকে ভালোই আছেন । আজ আমি আপনাদেরকে জেকোয়েরি মোবাইল সিএসএস ক্লাসের ব্যবহার শিখাবো ।

jQuery CSS Classes
জেকোয়েরি মোবাইল তার উপাদান সমূহকে বিভিন্ন ভাবে ডিজাইন করার জন্য সিএসএস ক্লাস ব্যবহার করে থাকে । আজ আমরা তাই সিএসএস ক্লাসের কিছু সাধারণ ব্যবহার দেখাবো ।

Global Classes
এই Global Classes গুলো জেকোয়েরি মোবাইল উইজেটস যেমন বাটন, টুলবার, প্যানেল, টেবিল, লিস্ট প্রভৃতি যোগ করার কাজে ব্যবহার করা হয় ।

ক্লাসের নামঃ ui-corner-all
ক্লাসের বর্ণনাঃ উপাদানের গোলাকার কোণা তৈরিতে ব্যবহার করা হয় ।

ক্লাসের নামঃ ui-shadow
ক্লাসের বর্ণনাঃ উপাদান সমূহের শ্যাডো মানে ছায়া তৈরিতে ব্যবহার করা হয় ।

ক্লাসের নামঃ ui-overlay-shadow
ক্লাসের বর্ণনাঃ মাত্রাতিরিক্ত ছায়া তৈরিতে এটা ব্যবহার করা হয় ।

ক্লাসের নামঃ ui-mini
ক্লাসের বর্ণনাঃ উপাদাঙ্গুলোকে ছোট করতে এটা ব্যবহার করা হয় ।

Button Classes
<a> অথবা <button> উপাদানগুলোকে Global Classes এর সাথে যোগ করতে ব্যবহার করা হয় ।

ক্লাসের নামঃ ui-btn
ক্লাসের বর্ণনাঃ বাটনগুলোকে বিভিন্ন স্টাইলে সাজাতে এই <a> উপাদানসমূহকে যোগ করতে ব্যবহার করা হয় ।

ক্লাসের নামঃ ui-btn-inline
ক্লাসের বর্ণনাঃ বাটন গুলোকে একই সারিতে দেখাতে এটি ব্যবহার করা হয় ।

ক্লাসের নামঃ ui-btn-icon-top
ক্লাসের বর্ণনাঃ আইকনকে বাটনের লেখার উপরে নিয়ে যায় ।

ক্লাসের নামঃ ui-btn-icon-right
ক্লাসের বর্ণনাঃ আইকনকে বাটনের লেখার ডান দিকে নিয়ে যায় ।

ক্লাসের নামঃ ui-btn-icon-bottom
ক্লাসের বর্ণনাঃ আইকনকে বাটনের লেখার নিচে নিয়ে যায় ।

ক্লাসের নামঃ ui-btn-icon-left
ক্লাসের বর্ণনাঃ আইকনকে বাটনের লেখার বাম দিকে নিয়ে যায় ।

ক্লাসের নামঃ ui-btn-icon-notext
ক্লাসের বর্ণনাঃ শুমুমাত্র আইকন দেখাবে ।

ক্লাসের নামঃ ui-btn-a|b
ক্লাসের বর্ণনাঃ a এবং b দুইটি ব্যাকগ্রাউণ্ডের কালার দেখাবে । a এর কালার ডিফল্ট থাকে যা হল ধূসর ব্যাকগ্রাউণ্ডের সাথে কালো লেখা । শুধুমাত্র b কালো ব্যাকগ্রাউণ্ডের সাথে সাদা লেখার পরিবর্তন করবে ।

Icon Classes
সকল <a> এবং <button> উপাদানের ক্লাসসমূহ দেয়া হল ।

ক্লাসের নামঃ ui-icon-action
ক্লাসের বর্ণনাঃ অ্যাকশন বাটন ।

ক্লাসের নামঃ ui-icon-alert
ক্লাসের বর্ণনাঃ একটা ত্রিভূজের ভিতর বিস্ময় চিহ্ন ।

ক্লাসের নামঃ ui-icon-audio
ক্লাসের বর্ণনাঃ স্পিকারের চিহ্ন ।

ক্লাসের নামঃ ui-icon-arrow-d-l
ক্লাসের বর্ণনাঃ নিচের দিকে বাম দিকে মুখ করা তীর চিহ্ন ।

ক্লাসের নামঃ ui-icon-arrow-d-r
ক্লাসের বর্ণনাঃ নিচের দিকে ডান দিকে মুখ করা তীর চিহ্ন ।

ক্লাসের নামঃ ui-icon-arrow-u-l
ক্লাসের বর্ণনাঃ উপরের দিকে বাম দিকে মুখ করা তীর চিহ্ন ।

ক্লাসের নামঃ ui-icon-arrow-u-r
ক্লাসের বর্ণনাঃ উপরের দিকে ডান দিকে মুখ করা তীর চিহ্ন ।

ক্লাসের নামঃ ui-icon-arrow-l
ক্লাসের বর্ণনাঃ বাম দিকের তীর চিহ্ন ।

ক্লাসের নামঃ ui-icon-arrow-r
ক্লাসের বর্ণনাঃ ডান দিকের তীর চিহ্ন ।

ক্লাসের নামঃ ui-icon-arrow-u
ক্লাসের বর্ণনাঃ উর্দ্ধমূখী তীর চিহ্ন ।

ক্লাসের নামঃ ui-icon-arrow-d
ক্লাসের বর্ণনাঃ নিম্নগামী তীর চিহ্ন ।

ক্লাসের নামঃ ui-icon-back
ক্লাসের বর্ণনাঃ ব্যাক বাটন ।

ক্লাসের নামঃ ui-icon-bars
ক্লাসের বর্ণনাঃ তিনটি সমান্তরাল দাগের বাটন ।

ক্লাসের নামঃ ui-icon-bullets
ক্লাসের বর্ণনাঃ তিনটি সমান্তরাল ফোটার বাটন ।

ক্লাসের নামঃ ui-icon-calendar
ক্লাসের বর্ণনাঃ ক্যালেন্ডার বাটন ।

ক্লাসের নামঃ ui-icon-camera
ক্লাসের বর্ণনাঃ ক্যামেরা বাটন ।

ক্লাসের নামঃ ui-icon-carat-d
ক্লাসের বর্ণনাঃ নিম্নগামী ক্যারাট ।

ক্লাসের নামঃ ui-icon-carat-l
ক্লাসের বর্ণনাঃ বামমুখী ক্যারাট ।

ক্লাসের নামঃ ui-icon-carat-r
ক্লাসের বর্ণনাঃ ডানমুখী ক্যারাট ।

ক্লাসের নামঃ ui-icon-carat-u
ক্লাসের বর্ণনাঃ উর্দ্ধমূখী ক্যারাট ।

ক্লাসের নামঃ ui-icon-check
ক্লাসের বর্ণনাঃ চেক মার্ক ।

ক্লাসের নামঃ ui-icon-clock
ক্লাসের বর্ণনাঃ ঘড়ির আইকন ।

ক্লাসের নামঃ ui-icon-cloud
ক্লাসের বর্ণনাঃ মেঘের আইকন ।

ক্লাসের নামঃ ui-icon-comment
ক্লাসের বর্ণনাঃ কমেন্ট বা ম্যাসেজ বাটন ।

ক্লাসের নামঃ ui-icon-delete
ক্লাসের বর্ণনাঃ ডিলিট বাটন ।

ক্লাসের নামঃ ui-icon-edit
ক্লাসের বর্ণনাঃ এডিট অথবা পেন্সিল আইকন ।

ক্লাসের নামঃ ui-icon-eye
ক্লাসের বর্ণনাঃ চোখের আইকন ।

ক্লাসের নামঃ ui-icon-forbidden
ক্লাসের বর্ণনাঃ নিষিদ্ধ আইকন ।

ক্লাসের নামঃ ui-icon-forward
ক্লাসের বর্ণনাঃ ফরওয়ার্ড আইকন ।

ক্লাসের নামঃ ui-icon-gear
ক্লাসের বর্ণনাঃ সেটিংস বাটন ।

ক্লাসের নামঃ ui-icon-grid
ক্লাসের বর্ণনাঃ গ্রিড চিহ্ন ।

ক্লাসের নামঃ ui-icon-heart
ক্লাসের বর্ণনাঃ হার্ট অথবা লাভ চিহ্ন ।

ক্লাসের নামঃ ui-icon-home
ক্লাসের বর্ণনাঃ হোম বাটন ।

ক্লাসের নামঃ ui-icon-info
ক্লাসের বর্ণনাঃ ইনফরমেশন বাটন ।

ক্লাসের নামঃ ui-icon-location
ক্লাসের বর্ণনাঃ লোকেশন বাটন ।

ক্লাসের নামঃ ui-icon-lock
ক্লাসের বর্ণনাঃ তালার আইকন ।

ক্লাসের নামঃ ui-icon-mail
ক্লাসের বর্ণনাঃ মেইল আইকন ।

ক্লাসের নামঃ ui-icon-minus
ক্লাসের বর্ণনাঃ বিয়োগ আইকন ।

ক্লাসের নামঃ ui-icon-navigation
ক্লাসের বর্ণনাঃ নেভিগেশন আইকন ।

ক্লাসের নামঃ ui-icon-phone
ক্লাসের বর্ণনাঃ টেলিফোন আইকন ।

ক্লাসের নামঃ ui-icon-power
ক্লাসের বর্ণনাঃ পাওয়ার বাটন । বা অন অফ বাটন ।

ক্লাসের নামঃ ui-icon-plus
ক্লাসের বর্ণনাঃ যোগ বাটন ।

ক্লাসের নামঃ ui-icon-recycle
ক্লাসের বর্ণনাঃ রিসাইকেল চিহ্ন ।

ক্লাসের নামঃ ui-icon-refresh
ক্লাসের বর্ণনাঃ রিফ্রেশ বাটন ।

ক্লাসের নামঃ ui-icon-search
ক্লাসের বর্ণনাঃ সার্চ বাটন ।

ক্লাসের নামঃ ui-icon-shop
ক্লাসের বর্ণনাঃ দোকান অথবা ব্যাগের আইকন ।

ক্লাসের নামঃ ui-icon-star
ক্লাসের বর্ণনাঃ তারার চিহ্ন ।

ক্লাসের নামঃ ui-icon-tag
ক্লাসের বর্ণনাঃ ট্যাগ বাটন ।

ক্লাসের নামঃ ui-icon-user
ক্লাসের বর্ণনাঃ ব্যবহারকারী বাটন ।

ক্লাসের নামঃ ui-icon-video
ক্লাসের বর্ণনাঃ ভিডিও বা ক্যামেরা আইকন ।

Theme Classes
জেকোয়েরি মোবাইল সাধারণত ধূসর এবং কালো এই দুই ধরনের থিম সরবরাহ করে থাকে । কিন্তু আপনি আপনার ইচ্ছামত এটা পরিবর্তন করে নিতে পারেন । আপনি (a-z) মত আপনার থিমটি কাস্টোমাইজ করতে পারবেন ।

ক্লাসের নামঃ ui-bar-(a-z)
ক্লাসের বর্ণনাঃ হেডার, ফুটার এবং অন্যান্য বারের কালার নির্দেশ করে থাকে ।

ক্লাসের নামঃ ui-body-(a-z)
ক্লাসের বর্ণনাঃ কনটেন্ট ব্লক যেমন page content panes , listview items, popups, collapsibles, loader, sliders, এবং panels এর কালার নির্দেশ করে ।

ক্লাসের নামঃ ui-btn-(a-z)
ক্লাসের বর্ণনাঃ বাটন এবং আইকনের কালার নির্দেশ করে থাকে ।

ক্লাসের নামঃ ui-group-theme-(a-z)
ক্লাসের বর্ণনাঃ গুরুপ ভিত্তিক রঙ নির্দেশ করে দেয় ।

ক্লাসের নামঃ ui-overlay-(a-z)
ক্লাসের বর্ণনাঃ ডায়ালগ, পপ-আপ এবং পেজের উপাদানসমূহের রঙ ঠিক করে দেয় ।

ক্লাসের নামঃ ui-page-theme-(a-z)
ক্লাসের বর্ণনাঃ প্রত্যেক পেজের রঙ নির্দেশ করে ।

Grid Classes
গ্রিডের কলাম গুলো বিন্নভাবে থাকতে পারে। সাধারণত ৫ ধরণের গ্রিড ব্যবহার করা হয়ে থাকে ।

গ্রিড ক্লাসঃ ui-grid-solo
কলামঃ 1
কলামের ব্যাপ্তিঃ 100%
সুসঙ্গত হয়ঃ ui-block-a

গ্রিড ক্লাসঃ ui-grid-a
কলামঃ 2
কলামের ব্যাপ্তিঃ 50% / 50%
সুসঙ্গত হয়ঃ ui-block-a|b

গ্রিড ক্লাসঃ ui-grid-b
কলামঃ 3
কলামের ব্যাপ্তিঃ 33% / 33% / 33%
সুসঙ্গত হয়ঃ ui-block-a|b|c

গ্রিড ক্লাসঃ ui-grid-c
কলামঃ 4
কলামের ব্যাপ্তিঃ 25% / 25% / 25% / 25%
সুসঙ্গত হয়ঃ ui-block-a|b|c|d

গ্রিড ক্লাসঃ ui-grid-d
কলামঃ 5
কলামের ব্যাপ্তিঃ 20% / 20% / 20% / 20% / 20%
সুসঙ্গত হয়ঃ ui-block-a|b|c|d|e

আর এর ভিতরেই কিন্তু আমরা জেকোয়েরি মোবাইল সিএসএস ক্লাসের ব্যবহার শিখে গেলাম । কোথাও না বুঝতে পারলে কমেন্ট করতে কিন্তু ভুলবেন না ।

jQuery মোবাইল ইভেন্টস

jQuery মোবাইল ইভেন্টস

Riaz-ul-haque Mian

 
নিচে সকল jQuery মোবাইল ইভেন্টস এর তালিকা ও বর্ণনা দিয়াওয়া হলো : (প্রতিটা ইভেন্ট কে () method. দ্বারা buind করতে হবে)
1. Hashchange : বুকমার্ক এবল #hash history কে এনাবল করতে |
2. Navigate : এটি একটি wrapper ইভেন্ট যা hashchange এবং popstate উভয় এর জন্য ব্যবহার হয়
3. Orientationchange : এটি একটি গুরুত্ব পূর্ণ event যা মোবাইল ডিভাইস উল্লম্বভাবে (vertical)বা অনুভূমিকভাবে (horizontally) ঘুরানোর সময় ট্রিগার হয় |
4. Pagebeforechange : পেজ চেঞ্জ সাইকেল এর সময় দুই বার ট্রিগার হয় |
5. Pagebeforecreate : পেজ enhancement সুরুর পূর্বে যখন initialized হতে যাছসে তখন ট্রিগার হয় |
6. Pagebeforehide : transition অ্যানিমেশন সুরুর পূর্বে form পেজ এ ট্রিগার হয় |
7. pagebeforeload : সংস্করণ 1.4.0 এ এটি ব্যবহারিত হয় না . পরিত্বর্তে pagecontainerbeforeload ব্যবহার করা হয় , পেজ লোড রিকোয়েস্ট সুরুর পূর্বে ট্রিগার হয় |
8. Pagebeforeshow : transition অ্যানিমেশন সুরুর পূর্বে ‘TO’ pahe a এ ট্রিগার হয় |
9. Pagechange : changePage() রিকোয়েস্ট শেষ হওয়ার পর ট্রিগার হয় |
10. Pagechangefailed : যখন changePage() request পেজ লোড করতে ফেল করে তখন ট্রিগার হয় |
11. pagecontainerbeforeload : কোনো লোড রিকোয়েস্ট সুরুর পূর্বে ট্রিগার হয় |
12. Pagecontainerload : সফলভাবে পেজ টা সফল ভাবে লোড হওয়ার পর ট্রিগার হয় এবং DOM এ insert করে
13. pagecontainerloadfailed : পেজ লোড করতে ফেল করে তখন ট্রিগার হয় |
14. pagecreate : পেজ তৈরী করারর পর enhancement এর পূর্বে ট্রিগার হয় |
15. pagehide : transition অ্যানিমেশন সুরুর পরে form পেজ এ ট্রিগার হয় |
16. pageinit : : সংস্করণ 1.4.0 এ এটি ব্যবহারিত হয় না . পরিত্বর্তে pagecreate ব্যবহার হয় page initialized এবং enhancement কমপ্লিট হলে ট্রিগার হয় |

jQuery Icons (জেকুয়েরি আ্ইকন)

jQuery Icons (জেকুয়েরি আ্ইকন)
———————————–
ফয়সাল রকি
———————————–

jQuery Mobile এর ক্ষেত্রে এবং
Page Refresh এর ক্ষেত্রে:
<a href=”#anylink” class=”ui-btn ui-icon-refresh ui-btn-icon-left”>Refresh Page</a>
<button class=”ui-btn ui-icon-refresh ui-btn-icon-left”>Refresh Page</button>

<input> buttons এর ক্ষেত্রে Icons Add করতে হলে নিম্নোক্ত data-icon attribute ব্যবহার করতে হবে:
<input type=”button” value=”Refresh page” data-icon=”refresh”>

navbar buttons এর ক্ষেত্রে Icons Add করতে হলে নিম্নোক্ত data-icon attribute ব্যবহার করতে হবে:
<a href=”#anylink” data-icon=”refresh”>Refresh Page</a>

list buttons এর ক্ষেত্রে Icons Add করতে হলে <li> এর সাথে নিম্নোক্ত data-icon attribute ব্যবহার করতে হবে:
<li data-icon=”refresh”><a href=”#”>Click me</a></li>

jQuery Mobile এর ক্ষেত্রে যেসকল Icons এর ব্যবহার দেখা যায় সেগুলো নিম্নে আলোচনা করা হলো:
Value/মান – বর্ণনা
action – action (বাক্সের বাইরে দিয়ে ঘড়ির কাঁটার দিকে নির্দশ করে)
alert – alert Icon নির্দেশ করে
audio – অডিও/ সাউন্ড/ স্পিকারের Icon নির্দেশ করে
arrow-d-l – বামের নিচের দিকে Arrow নির্দেশ করে
arrow-d-r – ডানের নিচের দিকে Arrow নির্দেশ করে
arrow-u-l – বামের উপরের দিকে Arrow নির্দেশ করে
arrow-u-r – ডানের উপরের দিকে Arrow নির্দেশ করে
arrow-l – বাম দিকে Arrow নির্দেশ করে
arrow-r – ডান দিকে Arrow নির্দেশ করে
arrow-u – উপর দিকে Arrow নির্দেশ করে
arrow-d – নিচ দিকে Arrow নির্দেশ করে
back – উপরের পিছন দিকে বাঁকানো back Icon নির্দেশ করে
bars – অনুভূমিকভাবে সমান্তরাল তিনটি বার নির্দেশ করে
bullets – অনুভূমিকভাবে সমান্তরাল তিনটি bullet নির্দেশ করে
calendar – calendar Icon নির্দেশ করে
camera – camera Icon নির্দেশ করে
carat-d – Carat নিচের দিকে নির্দেশ করে
carat-l – Carat বাম দিকে নির্দেশ করে
carat-r – Carat ডান দিকে নির্দেশ করে
carat-u – Carat উপর দিকে নির্দেশ করে
check – Checkmark নির্দেশ করে
clock – ঘড়ির Icon নির্দেশ করে
cloud – cloud বা মেঘ নির্দেশ করে
comment – comment বা মন্তব্যের Icon নির্দেশ করে
delete – delete বা ক্রস (X) Icon নির্দেশ করে
edit – Edit বা Pencil Icon নির্দেশ করে
eye – eye বা চোখ Icon নির্দেশ করে
forbidden – Forbidden sign বা নিষিদ্ধ চিহ্ন নির্দেশ করে
forward – উপরের সামনে দিকে বাঁকানো forward Icon নির্দেশ করে
gear – gear Icon নির্দেশ করে
grid – Grid Icon নির্দেশ করে
heart – Heart বা ভালবাসার Icon নির্দেশ করে
home – Home Icon নির্দেশ করে
info – Information বা তথ্যমূলক Icon নির্দেশ করে
location – Location বা GPS Icon নির্দেশ করে
lock – lock বা তালা Icon নির্দেশ করে
mail – mail বা চিঠিপত্র সংক্রান্ত Icon নির্দেশ করে
minus – Minus Icon নির্দেশ করে
navigation – Navigation Icon নির্দেশ করে
phone – টেলিফোন Icon নির্দেশ করে
power – Power Icon নির্দেশ করে
plus – Plus Icon নির্দেশ করে
recycle – recycle Icon নির্দেশ করে
refresh – Refresh Icon নির্দেশ করে
search – Search Icon নির্দেশ করে
shop – Shop বা ব্যাগ বা কেনাকাটা সংক্রান্ত Icon নির্দেশ করে
star – Star বা তারকা Icon নির্দেশ করে
tag – Tag Icon নির্দেশ করে
user – User বা ব্যবহারকারী বা ব্যক্তি Icon নির্দেশ করে
video – ভিডিও ক্যামেরার Icon নির্দেশ করে

জেকোয়েরি মোবাইল এর সংক্ষিপ্ত বর্ণনা ।

জেকোয়েরি মোবাইল এর সংক্ষিপ্ত বর্ণনা ।
লেখকঃ মোস্তাফিজুর ফিরোজ ।

জেকোয়েরি মোবাইল হলো জেকোয়েরি এর একটা অংশ যেটা মোবাইল প্লাটফর্মের ওয়েবসাইট এবং ওয়েব অ্যাপ্লিকেশান তৈরিতে ব্যবহার করা হয় । জেকোয়েরি মোবাইল দিয়ে তৈরি করা সকল ওয়েবসাইট এবং ওয়েব-অ্যাপ্লিকেশান প্রায় সকল ধরণের স্মার্টফোন এবং ট্যাবলেটে কাজ করে । এসব স্মার্টফোন এবং ট্যাবলেটের ভিতর আইওস, অ্যান্ডয়েড, ব্ল্যাকবেরি, উইন্ডোজ ফোন, পাম ওয়েবওস এবং সিম্বিয়ান উল্লেখযোগ্য । জেকোয়েরি মোবাইলে লেখা সাইট সকল মোবাইলে একই রকম দেখাবে । কিন্তু সেটা ডেস্কটপ কম্পিউটারের সাথে সামঞ্জস্য হবে না ।কারণ ডেস্কটপ কম্পিউটারে কিছু সংখ্যক CSS3 সাপোর্ট করে । তাই ডেস্কটপ কম্পিউটার থেকে এসব সাইট ভিজিট করতে একটু সমস্যা হবে ।

তাই আপনাকে জেকোয়েরি মোবাইলকে শুধুমাত্র মোবাইল ভিত্তিক ওয়েব-অ্যাপ্লিকেশান তৈরিতে বিবেচনায় রাখতে হবে । এটা হলো জেকোয়েরি এর একটা এক্সটেনশান যেটা এইচটিএমএল৫ এবং সিএসএস৩ ব্যবহার করে পেজের লেয়াউট তৈরি করে । এইচটিএমএল৫ এবং সিএসএস৩ জেকোয়েরিতে যৎসামান্য স্ক্রিপ্ট ব্যবহার করে । জাভাস্ক্রিপ্ট এবং অ্যাজাক্স সকল ছবিতে ব্যবহার করা হয় । এবং এটা সকল ধরণের টাচ সাপোর্ট করে, যার কারণে টাচ ফোনগুলোতে এর পরিব্যাপ্তি এত বেশি ।

জেকোয়েরি আপনার সাইট বা অ্যাপ্লিকেশনে ব্যবহারের জন্য যা প্রথম ধাপে করতে হবেঃ
আপনার সকল পেজে জেকোয়েরি লাইব্রেরি বা ফ্রেমওয়ার্ক অন্তর্ভুক্ত করতে হবে যাতে জেকোয়েরি কাজ করতে পারে । অবশ্যই এটা আপনি রেফারেন্স হিসেবে হেডারে রাখতে পারবেন এবং এই হেডার ফাইল সকল পেজে রাখতে পারেন । আপনি নিম্নোক্ত দুইভাবে জেকোয়েরি মোবাইল যোগ করতে পারেন ।

১। জেকোয়েরি মোবাইল একটি ফোল্ডারে ডাউনলোড করে রাখতে পারেন । পরে সকল পেজকে ঐ ফোল্ডারের সাথে লিঙ্ক করতে পারেন ।

২। কোথাও হোস্ট করা(CDN) জেকোয়েরি লাইব্রেরি এর সাথে আপনি লিঙ্ক করে দিতে পারেন । উদাহরণ হিসেবে বলা যায় জেকোয়েরি মোবাইল লাইব্রেরি মাইক্রোসফট এবং গুগলে হোস্ট করা আছে ।

আপনার ডাউনলোড করা জেকোয়েরি এর সাথে লিঙ্কিং এর কোডের উদাহরণঃ
<head>
<meta name=”viewport” content=”width=device-width, initial-scale=1″>
<link rel=”stylesheet” href=”jquery.mobile-1.4.5.css”>
<script src=”path_to_the_library_folder/jquery.js”></script>
<script src=”path_to_the_library_folder/jquery.mobile-1.4.5.js”></script>
</head>

হোস্টেড(CDN) এর সাথে জেকোয়েরি এর সাথে লিঙ্কিং এর কোডের উদাহরণঃ
<head>
<meta name=“viewport” content=“width=device-width, initial-scale=1″>
<link rel=“stylesheet” href=“http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css”>
<script src=“http://code.jquery.com/jquery-1.11.1.min.js”></script>
<script src=“http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js”></script>
</head>

হোস্টেড(CDN) এর সাথে জেকোয়েরি এর সাথে লিঙ্কিং করলে সুবিধা হলো আপনার সাইটের মোবাইল ইউজারদের পেজগুলো অনেক দ্রুত লোড নেয় । এর কারণ হলো জেকোয়েরি মোবাইলে তৈরি করা অনেক সাইটে ইউজাররা ভিজিট করার পর যখন আপনার সাইটে ভিজিট করতে আসে তখন জেকোয়েরি তাদের ব্রাউজার ক্যাশ থেকে লোড নেয় । আপনি জেকোয়েরি এর কোন ভার্সনের সাথে লিংক করেছেন তার উপর নির্ভর করে কিছু কিছু অবস্থার সৃষ্টি হয় । মনে করুন আপনার লেটেস্ট ভার্সন(জেকোয়েরি তে ভার্সন উল্লেখ করে না । শুধু বলে নতুন অথবা পুরাতন ভার্সন) জেকোয়েরি লিংক করেছেন । তাহলে এর লাইব্রেরিতে অনেক বড় সমস্যা দেখা দিবে । আপনার সাইট অথবা অ্যাপ্লিকেশন পুরাপুরি অথবা এর কিছু অংশ কাজ করবে না । কিন্তু এই আপডেটের জন্য যে সবসময় একই সমস্যা দেখা দিবে তা কিন্তু নয় । এটা জাস্ট একটা মাধ্যম(দ্রুত অথবা আস্তে, অভিজ্ঞ অথবা অনভিজ্ঞ, নিরাপদ অথবা অনিরাপদ মাধ্যম)যার মাধ্যমে আপনি বুঝতে পারবেন আপনার লেটেস্ট ভার্সনে আপগ্রেড করা কিনা সেটা । তাছাড়া আপনি ম্যানুয়ালি আপডেট করে রাখতে পারেন । অনেক সময় ব্রাউজার পরিবর্তন করার জন্য এটি লাইব্রেরি আপডেট করে অধিক ব্রাউজার সহায়ক করে তোলে । সিকিউরিটি সমস্যার কারণে জেকোয়েরি মোবাইলের আপগ্রেড করা হয় । তাই লেটেস্ট ভার্সনের জন্য আপনার সফটওয়্যার আপডেট করাই ভালো মাধ্যম ।

নোটঃ এর front-end security ভাঙ্গা সহজ তাই হ্যাকারদের এটা ভাংতে খুব কম কষ্ট করাই লাগে । তাই আপনাকে জানতে হবে কিভাবে জেকোয়েরি মোবাইলকে নিরাপদ এবং বিজ্ঞভাবে ব্যবহার করতে হবে । তাই এই পোস্টটি দেখতে পারেনঃ http://resources.infosecinstitute.com/safely-and-wisely-use-jquery/

জেকোয়েরি মোবাইল হলো একটা ফ্রেমওয়ার্ক এবং জাভাস্ক্রিপ্ট এর প্রধান ফাইলস । মোবাইল ফ্রেন্ডলি করার জন্য জেকোয়েরি মোবাইল সিএসএস ক্লাসে সিএসএস ফাইলগুলো দ্বারা সকল লেয়াউট এবং ইউজার কনট্রোল বাটন এবং ফর্ম তৈরি করা হয় । এজন্য আপনাকে সকল সিএসএস ক্লাস সম্পর্কে এবং তাদের কাজ সম্পর্কে মনে রাখতে হবে। অবশ্য এজন্য আপনি গুগল সার্চ করে তাদেরকে খুব সহজে খুঁজে বের করতে পারেন । আপনি সেখান থেকে সিএসএস ক্লাসগুলোর উদাহরণ দেখতে পারেন এবং গুরুত্বপূর্ণ গুলো মনে করে রাখতে পারেন । তখন তাদের সবগুলোকে মুখস্থ না করেই সিএসএস ক্লাস দেখেই অনুমান করে ফেলতে পারবেন । যদি আপনি মুখস্থ করে থাকেন তাহলে এর উদাহরণ গুলো দেখলে আপনার অনেক দিনের জন্য মনে রাখতে সাহায্য করবে; আপনি যদি তাদের ব্যবহার না করে থাকেন তাহলে এটা আপনার মেমোরিকে সহজেই রিফ্রেশ করবে আরো তাড়াতাড়ি । চিট শিট বা রেফারেন্স শিট এর ব্যবহারও আপনাকে অনেক সাহায্য করবে ।

একটি পেজ অথবা সেকশনের বর্ণনার জন্য জেকোয়েরি মোবাইল এবং ডাটা রোলের ব্যবহার (jQuery Mobile and data-role attribute to define a page or section)ঃ

ডাটা রোল খুব গুরুত্বপূর্ণ একটি এট্রিবিউট । এটা আপনি এইচটিএমএল উপাদানের সাথে ব্যবহার করে তাদের উদ্দেশ্য বর্ণনা করতে পারেন । এতে তারা সেকশন, পেজ, কনট্রোল, কনট্রোল গুরুপ অথবা যে কনট্রোলই হলেও সমস্যা নেই তাতে ।

<div data-role=”page”> ঃ এটা একটি পেজকে নির্দেশ করে । আপন এমন একটি ফাইলের ভিতর অনেক পেজকে একসাথে রাখতে পারেন । উদাহরণ হিসেবে আপনি নিম্নোক্তভাবে দুটি পেজকে একটি ফাইলের ভিতর রাখতে পারেন ।
<div data-role=”page” id=”pageone”></div> and <div data-role=”page” id=”pagetwo”></div>

<div data-role=”header”> : এটি একটি হেডার পেজকে নির্দেশ করে ।

<div data-role=”footer”> : এটি একটি ফুটার পেজকে নির্দেশ করে ।

<div data-role=”main” class=”ui-content”> : এটি একটি পেজের প্রধান উপাদান এলাকা নির্দেশ করে ।

“ui-content”: এটি না দিলেও চলবে । কিন্তু এটা পেজের উপাদানের সাথে অতিরিক্ত প্যাডিং এবং মার্জিন যোগ করে ।

কিছু ডাটা রোল ভেলু যা মনে না রাখলেই নয় ।

data-role=”button”.

data-role=”controlgroup”

data-role=”none”

data-role=”collapsible”

data-role=”collapsibleset”

data-role=”content”

data-role=”listview”.

data-role=”list-divider”

data-role=”navbar”

data-role=”popup”

জেকোয়েরি মোবাইলে ট্রানজিশন ইফেক্ট (Transition Effect in jQuery Mobile):

<a href=”#anylink” data-transition=”slide”>Slide to Page Two</a>

ডাটা ট্রানজিশন এট্রিবিউটে আপনি এক পেজ থেকে আরেক পেজে যাওয়ার সময় ট্রানজিশন ইফেক্ট যোগ করতে পারেন ।
ডাটা ট্রানজিশনের কিছু ভেলু নিম্নরুপঃ
fade, flip, flow, pop, slide, slidefade, slideup, slidedown, turn, none
কি জেকয়েরি ট্রানজিশনের মতই একরকম তাই নাহ? সাদৃশ্যতা, উপমা, উদাহরণ এবং পার্থক্য আপনাকে খুব সহজে এগুলো বেশিদিন মনে রাখতে সাহায্য করবে ।

জেকোয়েরি মোবাইল বাটনস(jQuery Mobile buttons):
আপনি যদি জেকোয়েরি এবং এইচটিএমএল ব্যবহার করে থাকেন তাহলে নিচের কোডগুলো দেখলেই তাদের কাজ বুঝতে পারবেন । [এটাই হলো উপমা]

লিংককে বাটন হিসেবে ব্যবহার করা ঃ <a href=”index.html” data-role=”button”>Link button</a>
মনে করে দেখুন আমি আগে আপনাকে বলেছিলাম কিন্তু data-role=”button”

<input type=”button” value=”Button”>

<button class=”ui-btn”>Button</button>
এইচটিএমএল ৫ তাই নাহ ?

<a href=”#anylink” class=”ui-btn”>Button</a> : class=”ui-btn” কে মোবাইল ফ্রেন্ডলি স্টাইল তৈরির জন্য ।

বাটন সমূহের গ্রুপ (A group of Buttons):
<div data-role=”controlgroup” data-type=”horizontal”>

<a href=”#” class=”ui-btn”>Button 1</a>
<a href=”#” class=”ui-btn”>Button 2</a>
<a href=”#” class=”ui-btn”>Button 3</a>
</div>

এখানে data-type=”horizontal” এবং data-type=”vertical” দেখায় যে তারা কিভাবে অনুষ্ঠিত হবে ।

কিছু নোটঃ
<a href=”#” class=”ui-btn” data-rel=”back”>Go Back</a> : data-rel=”back”বাটনটি ব্যাক বাটন হিসেবে কাজ করে । জেকোয়েরি মোবাইল এই ফাংশনের কাজ করে থাকে ।

inline buttons: <a href=”#pagetwo” class=”ui-btn ui-btn-inline”>Go to Page Two</a>: এখানে শুধুমাত্র ক্লাসগুলো ইনলাইন বাটনগুলো তৈরি করবে ।

কিছু বাটন সম্পর্কিত সিএসএস ক্লাসঃ
ui-btn-b ( ui-btn কে কালো ব্যাকগ্রাউন্ডের সাথে একটু পরিবর্তন আনা),

ui-corner-all,

ui-mini (ছোট বাটন),

ui-shadow (বাটনের ছায়া তৈরি করে)

বাটনের সাথে আইকন যোগঃ
সিএসএস ক্লাসের মাধ্যমে আপনি বাটনের সাথে আকন যোগ করতে পারবেন । অন্যান্য সিএসএস এর মাধ্যমে আপনি বাটনের পজিশন ঠিক করতে পারবেন যে এটা বামে বসবে নাকি ডানে বসবে । বাটন বাদে শুধু আইকন দেখাতে আপনি ui-btn-icon-notext সিএসএস ক্লাস ব্যবহার করতে পারেন ।

উদাহরণঃ
<a href=”#anylink” class=”ui-btn ui-icon-search ui-btn-icon-left”>Search</a> : বাটনের বামে একটা সার্চ আইকনসহ সার্চ বাটন ।
<a href=”#anylink” class=”ui-btn ui-icon-search ui-btn-icon-left ui-btn-icon-notext”>Search</a> : শুধুমাত্র সার্চ আইকন ।

ui-nodisc-icon ক্লাস আইকনের চারিদিকের গোলাকার বৃত্ত দূর করবে ।
<a href=”#anylink” class=”ui-btn ui-icon-search ui-btn-icon-left ui-nodisc-icon”>Without circle</a>

<a href=”#anylink” class=”ui-btn ui-icon-search ui-btn-icon-left ui-nodisc-icon ui-btn-icon-notext”>Without circle</a>: কোনো বৃত্ত বা সার্কেল থাকবে না ।

ui-alt-icon : এটা ডিফল্টভাবে সাদা থাকে । এটা ব্যবহারে কালো হয়ে যাবে ।
<a href=”#anylink” class=”ui-btn ui-icon-search ui-btn-icon-left ui-alt-icon”>Black</a>

কিছু আইকনের ক্লাসঃ
ui-icon-arrow-r (right-arrow), ui-icon-arrow-l (left arrow), ui-icon-delete, ui-icon-info (I),

ui-icon-audio, ui-icon-back, ui-icon-search, ui-icon-lock, ui-icon-grid, ui-icon-alert, ui-icon-home

আইকনের পজিশনের ক্লাস স্মূহঃ
ui-btn-icon-top, ui-btn-icon-right, ui-btn-icon-bottom, ui-btn-icon-left

জেকোয়েরি মোবাইলে পপ-আপ বাটন তৈরিঃ
data-role: using data-rel=”popup” এট্রিবিঊটের মাধ্যমে আপনি পপ-আপ মেনু তৈরি করতে পারবেন । data-dismissible=”false” এট্রিবিউটের মাধ্যমে আপনি এমন পপ-আপ তৈরি করতে পারবেন যা দেখানোর সময় বন্ধ করা যাবে না । data-rel=”popup” এর মাধ্যমে আপনি এর সাথে কোনো লিংক যোগ করতে পারবেন ।
<div data-role=”popup” id=”myPopup”>POPUP Window</div>

ইনলাইনে বাটনে পপ-আপ দেখানোর কোডঃ <a href=”#myPopup” data-rel=”popup” class=”ui-btn ui-btn-inline ui-corner-all”>Show Popup</a>

নিচের এট্রিবিউটের মাধ্যমে আপনি পপ-আপ ডিসপ্লে এর পজিশন ঠিক করতে পারবেন ।
<a href=”#myPopup” data-rel=”popup” class=”ui-btn ui-btn-inline ui-corner-all”>Show Popup</a>

আপনি পপ-আপের সাথে নিচের মেনুগুলো যোগ করে দিতে পারেন ।
<div data-role=”header”> : এটা হেডার নির্দেশ করে ।

<div data-role=”footer”> : এটা ফুটার নির্দেশ করে ।

<div data-role=”main” class=”ui-content”>

পপ-আপ ক্লোজ বাটন তৈরিঃ
ui-btn-left এবং ui-btn-right সিএসএস ক্লাস এর সাথে data-rel=”back” এট্রিবিউট যোগ করে পপ-আপ ক্লোজ বাটন তৈরি করা হয় ।
<div data-role=”popup” id=”myPopup” class=”ui-content”>
<a href=”#” data-rel=”back” class=”ui-btn ui-corner-all ui-shadow ui-btn ui-icon-delete ui-btn-icon-notext ui-btn-right”>Close</a></div>

জেকোয়েরি মোবাইল টুলবারসঃ
হেডারের সাথে বাটন অথবা টেক্সট যোগ করে হেডার(data-role=”header”) অথবা ফুটারে(data-role=”footer”) জেকোয়েরি মোবাইল টুলবার তৈরি করতে পারবেন । বেশি বাটন যোগ করার জন্য হেডার এর চেয়ে ফুটার বেশি প্রাধান্য পায় ।

হেডার টুলবারঃ
<div data-role=”header”>
<a href=”#” class=”ui-btn ui-icon-home ui-btn-icon-left”>Home</a>
<h1>Welcome To My Homepage</h1>
<a href=”#” class=”ui-btn ui-icon-search ui-btn-icon-left”>Search</a>
</div>

ফুটার টুলবারঃ
<div data-role=”footer”>
<a href=”#” class=”ui-btn ui-icon-plus ui-btn-icon-left”>Add Me On Facebook</a>
<a href=”#” class=”ui-btn ui-icon-plus ui-btn-icon-left”>Add Me On Twitter</a>
<a href=”#” class=”ui-btn ui-icon-plus ui-btn-icon-left”>Add Me On Instagram</a>
</div>

টুলবারের পজিশন ঠিক করাঃ
data-position=”inline”

data-position=”fixed”

data-fullscreen=”true

জেকোয়েরি মোবাইল নেভিগেশন বারঃ
data-role=”navbar” এর ব্যবহার

<div data-role=”header”>
<div data-role=”navbar”>
<ul>
<li><a href=”#anylink”>Home</a></li>
<li><a href=”#anylink”>Page Two</a></li>
<li><a href=”#anylink”>Search</a></li>
</ul>
</div>
</div>

data-icon=”home”, data-icon=”arrow-r”, data-icon=”search” এর মাধ্যমে আপনি আইকন যোগ করতে পারেন ।
আইকন পজিশনের জন্য data-iconpos=”top”, data-iconpos=”right”, data-iconpos=”bottom”, data-iconpos=”left” ব্যবহার করতে পারেন ।

জেকোয়েরি মোবাইল প্যানেলসঃ
divs এ data-role=”panel” এর ব্যবহার

<div data-role=”panel” id=”myPanel”>
<h2>Panel Header..</h2>
<p>Some text..</p>
</div>

প্যানেলে ওপেন ইভেন্ট তৈরির উদাহরণঃ <a href=”#myPanel” class=”ui-btn ui-btn-inline”>Open Panel</a>

ক্লোজিং প্যানেলের জন্য রিলেটেড এট্রিবিউটঃ data-dismissible, data-swipe-close

প্যানেল দেখানোর জন্য অপশনঃ data-display=”overlay”, data-display=”reveal”, data-display=”push”

প্যানেলের পজিশনঃ data-position=”right”, data-position-fixed=”true”

জেকোয়েরি মোবাইল কলাপসিবলসঃ
data-role=”collapsible” ব্যবহার করে ওপেন/ক্লোজের জন্য কলাপসিবল সেকশান তৈরি করা হয় । এটা আপনি একটার সাথে আরেকটা যোফ করতে পারেন ।
<div data-role=”collapsible”>
<h1>Click me – I’m collapsible!</h1>
<p>I’m the expanded content.</p>
</div>

কলাপসিবল গুলো কখনো data-collapsed=”true” or data-collapsed=”false” এমন হবে না ।

জেকোয়েরি মোবাইল এর মাধ্যমে রেসপন্সিবল টেবিল তৈরিঃ
<table> এলিমেন্টে data-role=”table” এবং “ui-responsive” ক্লাস যোগ করে এটা করা হয় । রেসপন্সিবল টেবিল আমাদেরকে পিসি এবং মোবাইলে অনেক বড় টেবিলকে আকর্ষণীয়ভাবে দেখাতে সাহায্য করে । দুই ধরণের রেসপন্সিভ টেবিল তৈরি করা সম্ভব । reflow (default), এবং column toggle.

<table data-role=”table” class=”ui-responsive”> : reflow

<table data-role=”table” data-mode=”columntoggle” class=”ui-responsive” id=”myTable”>: column toggle

তারপর thead, tbody, th, tr, td স্ট্রাকচার ব্যবহার করা হয় ।

reflowঃ
এটা ডাটাকে সারি আকারে দেখায় । যদি এর জায়গাতে সবগুলো না ধরে তখন এটি লম্বালম্বিভাবে দেখায় ।

id:123

name: xyz

address:canada

column toggleঃ
এটা ডাটাকে সব সময় সারি আকারে দেখায় । যদি এটার জায়গাতে সবগুলো না ধরে তাহলে এতে reflow এর মত নিচে চলে যায় না । যখন একটা দেখতে দেখতে যাওয়া হয় তখন আরেকপাশ থেকে ঢেকে যেতে থাকে ।

জেকোয়েরি মোবাইল লেয়াউট গ্রিডসঃ
কিছু আদর্শ মানের সিএসএস ক্লাস ব্যবহার করে আপনি পেজের একটি আদর্শ লেয়াউট তৈরি করতে পারবেন যাকে গ্রিড লেয়াউট বলা হয় ।
<div class=”ui-grid-solo”> : এক কলামের লেয়াউট ।

ui-grid-a : two column, 50% / 50% layout – অনুভুমিক ভাবে ।

ui-grid-b : 3 column, 33% / 33% / 33% layout

ui-grid-c: 4 columns, 25% / 25% / 25% / 25% layout

ui-grid-d : 5 columns, 20% / 20% / 20% / 20% / 20% layout

আপনি সিএসএস ক্লাসের পরিবর্তন করে লেয়াউট কে নিজের মত সাজাতে পারবেন । আপনি নিচের মত করে একে সাজাতে পারেন ।

.ui-block-a, .ui-block-b, .ui-block-c {
background-color: lightgray;
border: 1px solid black;
}

আলাদা বা একসাথে অনেকগুলো গ্রিড বা লেয়াউট একই পেজে ব্যবহারের কোডঃ
<div class=”ui-grid-b”>
<div class=”ui-block-a”><span>Some Text</span></div>
<div class=”ui-block-b”><span>Some Text</span></div>
<div class=”ui-block-c”><span>Some Text</span></div>
</div>

তাহলে এর মাধ্যমে জেকোয়েরি মোবাইল এর একটা ধারণা পেলেন আর কি । বিস্তারিত নিয়ে হাজির হবো পরবর্তী পোস্টে । ততদিন সাথেই থাকুন । আর না বুঝতে পারলে কমেন্ট করতে কিন্তু ভুলবেন না ।

জেকুয়্যেরি(jQuery) মোবাইল গ্রিড (jQuery Mobile Grids)

জেকুয়্যেরি(jQuery) মোবাইল গ্রিড (jQuery Mobile Grids)
মো: আসাদুজ্জামান (Md. Asaduzzaman)
ফ্রিল্যান্সার (ওয়েব ডিজাইনার এবং ডেভেলপার।)

জেকুয়্যেরি(jQuery) মোবাইল গ্রিডের বিন্যাস

jQuery মোবাইল সিএসএস ভিত্তিক একটি সেট কলামের বিন্যাস প্রদান করে। তবে, কলামের বিন্যাস সাধারণত মোবাইল এর জন্য নির্ধারিত নয়, এটি মোবাইল স্ক্রিন এর প্রস্থ এর উপর নির্ভর করে।
কিন্তু এখানে আরও উপায় আছে যদি আপনি ছোট এলিমেন্ট পোজিশন করতে চান, যেমন বাটন অথবা নেভিগেশন ট্যাব, পাশাপাশি যদি এটি টেবিল এর মধ্যে থাকে।তখন, কলাম সঠিক হবে।

একটি গ্রিড এর মধ্যে কলাম এর প্রস্থের সমান (এবং ১০০% প্রস্থ সর্বমোট), কোন বর্ডার, ব্যাকগ্রাউন্ড, মার্জিন অথবা প্যাডিং ছাড়া।
পাঁচটি গ্রিডের বিন্যাস আছে যা ব্যবহার করা যেতে পারে:

Grid Class Columns Column Widths Corresponds To Example
ui-grid-solo 1 100% ui-block-a Try it

ui-grid-a 2 50% / 50% ui-block-a|b Try it

ui-grid-b 3 33% / 33% / 33% ui-block-a|b|c Try it

ui-grid-c 4 25% / 25% / 25% / 25% ui-block-a|b|c|d Try it

ui-grid-d 5 20% / 20% / 20% / 20% / 20% ui-block-a|b|c|d|e Try it

কলাম কন্টেইনারের ভেতরে, চাইল্ড এলিমেন্ট এ ui-block-a|b|c|d|e ক্লাসগুলো থাকতে পারে, এটি নির্ভর করে কলামের সংখ্যার উপর। কলামগুলো পাশাপাশি অবস্থান করবে।

উদাহরণ ১: ui-grid-a ক্লাসের জন্য (যেটি দুই কলামের লেআউট), আপনাকে অবশ্যই দুটি চাইল্ড এলিমেন্ট উল্লেখ করতে হবে ui-block-a এবং ui-block-b ।

উদাহরণ 2: ui-grid-b ক্লাসের জন্য (তিন কলামের লেআউট), তিনটি চাইল্ড এলিমেন্ট উল্লেখ করতে হবে ui-block-a, ui-block-b এবং ui-block-c।

গ্রিডের কাস্টমাইজ করুন (Customize Grids)

আপনি সিএসএস (CSS) ব্যবহার করে আপনার কলাম ব্লক কাস্টমাইজ করতে পারেন:

উদাহরণ:
<style>
.ui-block-a, .ui-block-b, .ui-block-c {
background-color: lightgray;
border: 1px solid black;
height: 100px;
font-weight: bold;
text-align: center;
padding: 30px;
}
</style>

এটা নিজে চেষ্টা করে দেখুন

আপনি ইনলাইন স্টাইল ব্যবহার করে আপনার ব্লক কাস্টমাইজ করতে পারেন:
1px solid black;”>Text..

একাধিক সারি (Multiple Rows)

এটির মাধ্যমে আপনার কলাম ভিতরে একাধিক সারি করা সম্ভব.

দ্রষ্টব্য: ui-block-a ক্লাস সবসময় একটি নতুন লাইন তৈরী করবে।

উদাহরণ:
<div class=”ui-grid-b”>
<div class=”ui-block-a”><span>Some Text</span></div>
<div class=”ui-block-b”><span>Some Text</span></div>
<div class=”ui-block-c”><span>Some Text</span></div>
<div class=”ui-block-a”><span>Some Text</span></div>
<div class=”ui-block-b”><span>Some Text</span></div>
<div class=”ui-block-a”><span>Some Text</span></div>
</div>
এটা নিজে চেষ্টা করে দেখুন

রেসপনসিভ গ্রিডস্ (Responsive Grids)

ছোট স্ক্রিন এ, একটি সারিতে পাশাপাশি টেক্সট সহ অনেক বাটন না দেওয়াতে উদ্বুদ্ধ করা হয়, এতে টেক্সট সর্টেনড (shortened) হয়ে যায়।

রেসপনসিভ গ্রিডের জন্য, ui-responsive ক্লাস কন্টেইনার এ যোগ করুন:

Example
<div class=”ui-grid-b ui-responsive”>

এটা নিজে চেষ্টা করে দেখুন

জাভাস্ক্রিপ্ট অপারেটরস (JavaScript Operators)

জাভাস্ক্রিপ্ট অপারেটরস (JavaScript Operators)

উদাহরণ
দুটি ভ্যালুকে variable হিসেবে ঘোষণা করে তাদের যোগ করা হয়েছে
var x = 5; // এইখানে ৫ কে x ঘোষণা করা হয়েছে
var y = 2; // এইখানে ২ কে y ঘোষণা করা হয়েছে
var z = x + y; // ফলাফল ৭ কে z = x + y এর মাধ্যমে ঘোষণা করা হয়েছে

 

JavaScript Arithmetic Operators

+ যোগ
– বিয়োগ
* গুন
/ ভাগ
% Modulus
++ Increment (বাড়া)
— Decrement (কমা)

Addition অপারেটর(+) ভ্যালু যোগ করে
যোগ

var x = 5;
var y = 2;
var z = x + y;

subtract অপারেটর (-) বিয়োগ করে

subtracting

var x = 5;
var y = 2;
var z = x – y;

multiplication অপারেটর (*) ভ্যালু গুন করে

Multiplying

var x = 5;
var y = 2;
var z = x * y;

division অপারেটর (/) ভ্যালু ভাগ করে

dividing

var x = 5;
var y = 2;
var z = x / y;

modulus অপারেটর (%) ভাগের পর ভাগশেষ ডিসপ্লে করে

Modulus

var x = 5;
var y = 2;
var z = x % y;

increment (++) অপারেটর ভ্যালু বাড়ায়

Incrementing

var x = 5;
x++;
var z = x;

Decrement (–) অপারেটর ভ্যালু কমায়

decrementing

var x = 5;
x–;
var z = x;

 

javascript Assignment অপারেটর

অপারেটর এর উদাহরণ একইরকম

= x = y x = y
+= x += y x = x + y
-= x -= y x = x – y
*= x *= y x = x * y
/= x /= y x = x / y
%= x %= y x = x % y

(=) assignment অপারেটর একটি ভ্যালুকে variable এ ঘোষণা করে

var x = 10;

(+=)assignment অপারেটর variable এর ভ্যালুকে যোগ করে

var x = 10;
x += 5;

(-=)assignment অপারেটর variable এর ভ্যালুকে বিয়োগ করে

var x = 10;
x -= 5;

(*=)assignment অপারেটর variable কে গুন করে

var x = 10;
x *= 5;

(/=)assignment অপারেটর variable কে ভাগ করে

var x = 10;
x /= 5;

(%=)assignment অপারেটর ভাগ করার পর ভাগশেষ বের করে

var x = 10;
x %= 5;

javascript strings অপারেটর

স্ট্রিং কে যোগ করতে + অপারেটর ব্যবহার করা হয়। এটিকে concatenation অপারেটর বলা হয়
উদাহরণ
একসাথে অনেকগুলো স্ট্রিং যোগ করার ক্ষেত্রে এই অপারেটর ব্যবহার করা হয়

txt1 = “What a very”;
txt2 = “nice day”;
txt3 = txt1 + txt2;

ফলাফল

What a verynice day

স্পেস যোগ করার জন্য প্রথম স্ট্রিং এ ফাকা বা স্পেস দিতে হবে
উদাহরণ

txt1 = “What a very “;
txt2 = “nice day”;
txt3 = txt1 + txt2;

ফলাফল

What a very nice day

অথবা একটি স্পেস expression হিসেবে দিতে হবে
উদাহরণ

txt1 = “What a very”;
txt2 = “nice day”;
txt3 = txt1 + ” ” + txt2;

ফলাফল

What a very nice day

+= অপারেটর দিয়েও concatenation স্ট্রিং এর কাজ করা যায়
উদাহরণ

txt1 = “What a very “;
txt1 += “nice day”;

ফলাফল

What a very nice day

 

স্ট্রিং এবং নাম্বার যোগ করা

দুইটি নাম্বার যোগ করলে যোগফল পাওয়া যাবে কিন্তু নাম্বার এবং স্ট্রিং যোগ করলে একটি স্ট্রিং পাওয়া যাবে
উদাহরণ

x = 5 + 5;
y = “5” + 5;
z= “Hello” + 5;

x,y,z এর ফলাফল হবে

10
55
Hello5

জাভাস্ক্রিপ্ট কমেন্ট (JavaScript Comments)

জাভাস্ক্রিপ্ট মন্তব্য (কমেন্ট) (JavaScript Comments)

জাভাস্ক্রিপ্ট comments জাভাস্ক্রিপ্ট কোড ব্যাখ্যা করতে, এবং এটি আরো পাঠযোগ্য করতে ব্যবহার করা হয়।
জাভাস্ক্রিপ্ট comment , execution দূর করে যখন বিকল্প কোড পরীক্ষা করা হয় ।

Single Line Comments

Single line comments // দিয়ে শুরু হয় ।

কোনো টেক্সট // এবং একটি লাইন শেষ হয়ে যাবে তার মধ্যে জাভাস্ক্রিপ্ট দ্বারা উপেক্ষা করা হবে
(will not be executed)

কোড ব্যাখ্যা করতে এই উদাহরনে প্রত্যেক লাইনের এর পূর্বে single line comment ব্যবহার করা হয়

উদাহরনঃ


// Change heading:
document.getElementById(“myH”).innerHTML = “My First Page”;
// Change paragraph:
document.getElementById(“myP”).innerHTML = “My first paragraph.”;


 

 

কোড ব্যাখ্যা করতে এই উদাহরনে প্রত্যেক লাইনের এর শেষে single line comment ব্যবহার করা হয়

উদাহরনঃ


var x = 5;        // Declare x, give it the value of 5
var y = x + 2;    // Declare y, give it the value of x + 2

এখানে x , ৫ এর মান নির্দেশ করে

এবং Y , x + 2 এর মান নির্দেশ করে

 

Multi-line Comments

Multi-line comments /* দিয়ে শুরু হয় এবং */ দিয়ে শেষ হয় ।

কোনো টেক্সট এর মধ্যে / * এবং * / জাভাস্ক্রিপ্ট দ্বারা উপেক্ষা করা হবে ।

কোড ব্যাখ্যা করতে , এই উদাহরনে a multi-line comment ব্যবহার করা হয়েছে

উদাহরনঃ


/*
The code below will change
the heading with id = “myH”
and the paragraph with id = “myP”
in my web page:
*/
document.getElementById(“myH”).innerHTML = “My First Page”;
document.getElementById(“myP”).innerHTML = “My first paragraph.”;


 

 

কোড কার্যকর করা প্রতিরোধ করতে মন্তব্য (কমেন্ট) এর ব্যবহার

কোড কার্যকর করা প্রতিরোধ করতে মন্তব্য (কমেন্ট) ব্যবহার করা যায়, এটি কোড পরীক্ষার সময় ব্যবহার করা যেতে পারে।

একটি কোড লাইন সামনে // যোগ করলে, কোড লাইন এক্সিকিউটেবল লাইন থেকে  comment এ পরিবর্তন হয়ে যায়।

এই উদাহরষণ কোড এর একটি লাইন কার্যকর হওয়া প্রতিরোধ করার জন্য  // ব্যবহার করা হয়েছে।

উদাহরনঃ


//document.getElementById(“myH”).innerHTML = “My First Page”;
document.getElementById(“myP”).innerHTML = “My first paragraph.”;


 

 

এই উদাহরণ Comment Block এর মাধ্যমে একাধিক লাইন কার্যকারিতা প্রতিরোধ করে।

উদাহরনঃ


/*
document.getElementById(“myH”).innerHTML = “My First Page”;
document.getElementById(“myP”).innerHTML = “My first paragraph.”;
*/


 

 

ধন্যবাদ, আশা করি বিষয়টি সকলেই বুঝতে পেরেছেন 🙂

জাভাস্ক্রিপ্ট কোথায় কিভাবে লিখবেন (JavaScript Where To)

জাভাস্ক্রিপ্ট কোথায় কিভাবে লিখবেন (JavaScript Where To)

এইচটিএমএল পেজ এর মধ্যে javascript কে হেড এবং বডি সেকশন এ রাখতে হয়।

<script> ট্যাগ

এইচটিএমএল এ javascript কোড অবশ্যই <script> এবং </script> ট্যাগ এর মধ্যে লিখতে হয়।

উদাহরণ


<script>
document.getElementById(“demo”).innerHTML = “My First JavaScript”;
</script>


পুরাতন উদাহরণ গুলোতে টাইপ attribute পাওয়া যেতে পারে:  <script type=”text/javascript”>
কিন্তু নতুনগুলোতে এইচটিএমএল এর মধ্যে javascript ডিফল্ট language হিসেবে থাকে।

Javascript ফাংশন এবং ইভেন্ট

Javascript ফাংশন হল একটি javascript এর ব্লক কোড। যখন তাকে চাওয়া হবে তখন সে কাজ করবে উদাহরণস্বরূপ যখন একটি ইভেন্ট এর সময় আসবে তখন সে কাজ করবে যেমন কোন ইউজার কোন নির্দিষ্ট বাটন ক্লিক করার পর কাজ হবে।

Jvascript <heat> বা <body> এর মধ্যে থাকবে

html ডকুমেন্ট এ যেকোন সংখ্যক বার script রাখা যাবে। script <body> বা <hect> বা উভয় স্থানেই রাখতে পারেন।

তবে সবথেকে ভাল হল সকল কোড এক জায়গায় রাখা

Javascript <heat> সেকশন এ রাখা

এই উদাহরণ এ javascript কে head সেকশন এ রাখা হয়েছে। এটি একটি বাটন এ ক্লিক করার পর কাজ করবে।
উদাহরণ


<!DOCTYPE html>
<html>
<head>
 <script>
 function myFunction() {
     document.getElementById("demo").innerHTML = "Paragraph changed.";
 }
 </script>
 </head>
<body>
<h1>My Web Page</h1>
<p id="demo">A Paragraph</p>
<button type="button" onclick="myFunction()">Try it</button>
</body>
 </html>

ফলাফল


JavaScript in Body

A Paragraph.


 

Javascript <body> সেকশন এ রাখা

এই উদাহরণ এ javascript কে body সেকশন এ রাখা হয়েছে। একটি বাটন এ ক্লিক করার পর কাজ হবে
উদাহরণ


 

<!DOCTYPE html>
 <html>
 <body> 

<h1>My Web Page</h1>
 
<p id="demo">A Paragraph</p>
 
<button type="button" onclick="myFunction()">Try it</button>
 
<script>
 function myFunction() {
    document.getElementById("demo").innerHTML = "Paragraph changed.";
 }
 </script>
 
</body>
 </html>

 

ফলাফল


My Web Page

A Paragraph


সবথেকে ভাল উপায় হল body এলিমেন্ট এর নিচের দিকে javascript কোড কে রাখা। এতে পেজ ভালভাবে লোড হবে, কেননা ‍HTML লোড হওয়া script ত্রুটির কারণে বন্ধ হবে না।

External javascript

External ফাইল এর মধ্যে script কে রাখতে হয়। এই ফাইল এর এক্সটেনশন হল .js. external script ব্যবহার করতে চাইলে এই script ফাইল এর নাম
tag এর মধ্যে source attribute (src) দিয়ে লিখতে হয়।
উদাহরণ


 

<!DOCTYPE html>
<html>
 <body>
 <script src="myScript.js"></script>
 </body>
 </html>

External script আপনি বডি বা হেড যেকোনো জায়গায় রাখতে পারেন। যদি সঠিক পাথ অনুযায়ী এই ফাইল থাকে তাহলেই এটি কাজ করবে। এক্সটারনাল script এর মধ্যে কোন
ট্যাগ থাকে না।

এক্সটারনাল javascript এর সুবিধা

ইহা এইচটিএমএল এবং কোড কে আলাদা রাখে, এইচটিএমএল এবং javascript কে পরতে এবং রক্ষণাবেক্ষণ করতে আরও সহজ হয়। Cached javascript ফাইল পেজ কে দ্রুত লোড করতে সাহায্য করে।

 

মাইএসকিউএল এ পিএইচপি সংযোগ (PHP Connect to MySQL)

মাইএসকিউএল এ পিএইচপি সংযোগ

নয়ন চন্দ্র দত্ত

কি খবর সবার? সবাই ভালতো । আজ আমি অনেক গুরুত্বপুর্ণ একটা বিষয় মাইএসকিউএল এ পিএইচপি সংযোগ নিয়ে বিস্তারিত আলোচনা করবো । মাইএসকিউএল এ কীভাবে পিএইচপি সংযোগ করতে হয় তা আজ আমরা দেখব। তাহলে চলুন শুরু করা যাক …।

পিএইচপি 5 এবং পরে্র একটি মাইএসকিউএল ডাটাবেস ব্যবহার করে কাজ করতে পারেন। যেমন-

  • MySQLi extension (“i” দিয়ে উন্নততর বোঝায়)
  • PDO (পিএইচপি ডাটা অবজেক্টস)

পিএইচপি এর আগের ভার্সনে মাইএসকিউএল এক্সটেনশন ব্যবহার করা হত। যাইহোক, এই এক্সটেনশন 2012 সালে অবাঞ্চিত হয়েছে ।

এখন প্রশ্ন হচ্ছে, আমি কী MySQLi বা PDO ব্যবহার করতে পারব?

যদি আপনার একটি সংক্ষিপ্ত উত্তর প্রয়োজন হয়, তাহলে এটি হতে পারে “আপনি কি পছন্দ করেন” ।

MySQLi এবং PDO তাদের উভয়েরই সুবিধা আছে।

PDO 12টি বিভিন্ন ডাটাবেস সিস্টেম কাজ করে এবং MySQLi শুধুমাত্র মাইএসকিউএল উপাত্ত সঙ্গে কাজ করে।

যদি আপনি অন্য ডাটাবেস ব্যবহার করার জন্য আপনার প্রকল্প switch করতে চান তাহলে PDO প্রক্রিয়াটি সহজ করে তোলে। আপনার শুধুমাত্র সংযোগ স্ট্রিং এবং কয়েকটি queries পরিবর্তন করতে হবে। MySQLi দিয়ে আপনি সম্পূর্ণ কোড পুনর্লিখন করতে হবে – প্রশ্ন অন্তর্ভুক্ত হয়েছে।

উভয় বস্তু ভিত্তিক হয়, কিন্তু MySQLi একটি পদ্ধতিগত API- অফার করে।

প্রস্তুত বিবৃতি এসকিউএল ইনজেকশন থেকে রক্ষা করে এবং তা ওয়েব অ্যাপ্লিকেশন নিরাপত্তার জন্য খুবই গুরুত্বপূর্ণ ।

MySQLi এবং PDO সিনট্যাক্স উভয় মাইএসকিউএল এর উদাহরণ

নিম্নলিখিত অধ্যায়গুলির মধ্যে আমরা পিএইচপি এবং মাইএসকিউএল দিয়ে কাজ করার তিনটি উপায় দেখাবঃ

  • MySQLi (অবজেক্ট ওরিয়েন্টেড)
  • MySQLi (পদ্ধতিগত)
  • PDO

MySQLi ইনস্টলেশন

লিনাক্স এবং উইন্ডোজ জন্য: PHP5 মাইএসকিউএল প্যাকেজ ইনস্টল করা থাকলে অধিকাংশ ক্ষেত্রে MySQLi এক্সটেনশন স্বয়ংক্রিয়ভাবে ইনস্টল হয়ে যায়।

ইনস্টলেশন সংক্রান্ত বিস্তারিত বিবরণ এর জন্য ভিজিট করতে পারেন http://php.net/manual/en/mysqli.installation.php

PDO ইনস্টলেশন

ইনস্টলেশন সংক্রান্ত বিস্তারিত বিবরণ এর জন্য ভিজিট করতে পারেন http://php.net/manual/en/pdo.installation.php

মাইএসকিউএল এ একটি সংযোগ খুলুন

MySQL ডাটাবেসের মধ্যে তথ্য অ্যাক্সেস করার পূর্বে আমাদের সার্ভারের সাথে সংযোগ করতে হবে।

উদাহরণ ( MySQLi অবজেক্ট ওরিয়েন্টেড):


<?php
 $servername = "localhost";
 $username = "username";
 $password = "password";
 
 // Create connection
 $conn = new mysqli($servername, $username, $password);
 
 // Check connection
 if ($conn->connect_error) {
     die("Connection failed: " . $conn->connect_error);
 } 
 echo "Connected successfully";
 ?>

 

*** উপরে অবজেক্ট ওরিয়েন্টেড উদাহরণ দ্রষ্টব্য: $ connect_error পিএইচপি 5.2.9 এবং 5.3.0 পর্যন্ত Broken ছিল.
আপনার পূর্বের 5.2.9 এবং 5.3.0 পিএইচপি সংস্করণের সাথে সামঞ্জস্য নিশ্চিত করা প্রয়োজন হলে, পরিবর্তে নিম্নলিখিত কোড ব্যবহার করুন:


<?php
 $servername = "localhost";
 $username = "username";
 $password = "password";
 
 // Create connection
 $conn = new mysqli($servername, $username, $password);
 
 // Check connection
 if ($conn->connect_error) {
     die("Connection failed: " . $conn->connect_error);
 } 
 echo "Connected successfully";
 ?>

 

উদাহরণ (প্রথাগত MySQLi )


<?php
 $servername = "localhost";
 $username = "username";
 $password = "password";
 
 // Create connection
 $conn = mysqli_connect($servername, $username, $password);
 
 // Check connection
 if (!$conn) {
     die("Connection failed: " . mysqli_connect_error());
 }
 echo "Connected successfully";
 ?>

 

উদাহরণ ( PDO )


<?php
 $servername = "localhost";
 $username = "username";
 $password = "password";
 
 try {
     $conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password);
     // set the PDO error mode to exception
     $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
     echo "Connected successfully"; 
     }
 catch(PDOException $e)
     {
     echo "Connection failed: " . $e->getMessage();
     }
 ?>

 

***উপরের PDO উদাহরণে লক্ষ্য করুন আমরা একটি ডাটাবেস নির্দিষ্ট করেছি ( myDB ) । PDO সংযোগ স্থাপনের জন্য একটি কার্যকর ডাটাবেস প্রয়োজন হয়। যদি কোন ডাটাবেস উল্লেখিত না থাকে তবে একটি ব্যতিক্রম নিক্ষিপ্ত হয়।

সংযোগ বন্ধ করুন

সংযোগ স্বয়ংক্রিয়ভাবে বন্ধ হয়ে যাবে যখন স্ক্রিপ্ট শেষ হবে। সংযোগ বন্ধ করার পূর্বে নিম্নলিখিত কাজগুলো অণুসরণ করুনঃ

উদাহরণ (MySQLi অবজেক্ট ওরিয়েন্টেড)


$conn->close();

 

উদাহরণ (প্রথাগত MySQLi)


mysqli_close($conn);

 

উদাহরণ (PDO)


$conn = null;

 

আজকের মত এই পর্যন্ত। আশা করি সবার খুব ভাল লেগেছে । সবাই বেশি বেশি করে প্রাকটিস করবেন । সবাই ভাল থাকবেন আর কোন সমস্যা হলে নিশ্চই কমেন্ট করবেন ।

 

MongoDB Projection

MongoDB প্রজেকশন
নয়ন চন্দ্র দত্ত

MongoDB প্রজেকশন
MongoDB প্রজেকশনের অর্থ হচ্ছে একটি ডকুমেন্টের সকল তথ্য নির্বাচন না করে বরং শুধুমাত্র প্রয়োজনীয় তথ্য নির্বাচন করা। যদি একটি ডকুমেন্টের ৫টি ক্ষেত্র থাকে এবং আপনার ৩টি দেখানোর প্রয়োজন হয় তাহলে এদের মধ্য
থেকে শুধু ৩টি সিলেক্ট করুন।

find() পদ্ধতি
MongoDB এর find() পদ্ধতি নিয়ে আগের টিউটোরিয়ালে আলোচনা (দ্বিতীয় অপশনাল প্যারামিটার বাদে) করা হয়েছে। আপনি যখন MongoDB তে find() পদ্ধতি সম্পাদন করেন তখন একটি ডকুমেন্টের সব ক্ষেত্র প্রদর্শন করে।
এটিকে সীমাবদ্ধ করার জন্য আপনার মান 1 বা 0 ক্ষেত্র-তালিকা সেট করার প্রয়োজন হবে। ১ ক্ষেত্র প্রদর্দন করার জন্য এবং ০ ক্ষেত্র আড়াল করতে ব্যবহার করা হয়।

সিনট্যাক্স:
প্রজেকশন দিয়ে বেসিক সিনট্যাক্স বা বাক্য গঠন () পদ্ধতি নিম্নরূপঃ

>db.COLLECTION_NAME.find({},{KEY:1})

উদাহরণ
নিম্নলিখিত কালেকশন myycol তথ্য পর্যালোচনা করুনঃ

{ “_id” : ObjectId(5983548781331adf45ec5), “title”:”MongoDB Overview”}
{ “_id” : ObjectId(5983548781331adf45ec6), “title”:”NoSQL Overview”}
{ “_id” : ObjectId(5983548781331adf45ec7), “title”:”Tutorials Point Overview”}

ডকুমেন্ট quering এর সময় নিম্নলিখিত উদাহরণে ডকুমেন্টের টাইটেল প্রদর্শন করবেঃ

>db.mycol.find({},{“title”:1,_id:0})
{“title”:”MongoDB Overview”}
{“title”:”NoSQL Overview”}
{“title”:”Tutorials Point Overview”}
>

দয়া করে নোট করে রাখুন- find() পদ্ধতি নির্বাহের সময় _id field সবসময় প্রদর্শন করে। যদি আপনি এই ক্ষেত্রটি না চান তাহলে আপনাকে এটি 0 সেট করতে হবে।