PDA

View Full Version : سوال: جایگزین کردن صفحات با هم



hosein123
چهارشنبه 14 اسفند 1392, 15:45 عصر
با سلام
چندتا لیبل دارم میخوام وقتی روی لیبل ها کلیک کردم صفحه موبوط به خودش باز بشه
ولی میخوام لیبل ها ثابت باشن و فقط صفحات جایگزین هم بشن
یچیزی شبیه ایمیل که وقتی روی هر گزینه کلیک میکنی صحفه مربوطه باز میشه و صفحات جایگزین هم میشن

mehdi.mousavi
پنج شنبه 15 اسفند 1392, 19:17 عصر
با سلام
چندتا لیبل دارم میخوام وقتی روی لیبل ها کلیک کردم صفحه موبوط به خودش باز بشه
ولی میخوام لیبل ها ثابت باشن و فقط صفحات جایگزین هم بشن
یچیزی شبیه ایمیل که وقتی روی هر گزینه کلیک میکنی صحفه مربوطه باز میشه و صفحات جایگزین هم میشن

سلام.
انجام این کار بصورت دستی، ریزه کاری های زیادی در پی داره، اینکه URL رو در History ذخیره کنید که کلید Back در Browser بدرستی عمل کنه،
اینکه اطلاعات در چه هنگام Fetch بشه، اینکه صفحات چگونه جایگزین همدیگه بشن و ... در نگاه اول، راه حل ساده بنظر میرسه، استفاده از load (http://jqapi.com/#p=load) برای
دریافت target url مورد نظر و جایگزین کردن اون در بخش مورد نظر HTML فعلی؛ ذخیره لینک فعال در History (http://benalman.com/projects/jquery-bbq-plugin/) و ... اما وقتی یک بار این کارو بدین شکل و دستی
انجام بدید، متوجه دشواریهای این کار خواهید شد (اگر برای انجام صحیح این کار وسواس به خرج بدید).

اما اگر یک قدم عقب بیاییم تا مقیاس دیدمون از مساله تغییر کنه، به ابزارهایی میرسیم که بخشی از این کار رو برامون ساده تر میکنن، که یکی
از اونها، Mustache (http://mustache.github.io/) هستش. با استفاده از این Client-Side Templating Framework یا jQuery Plugin (https://github.com/jonnyreeves/jquery-Mustache) (بسته به نیاز)، شما میتونید کار مورد نظرتون رو بسیار
ساده تر انجام بدید. (توضیحات مربوطه رو میتونید در Documentation این plugin و سایت اصلی Mustache مطالعه کنید).

اما دست نگهدارید. امروزه، Framework هایی وجود دارن که بهتون اجاره طراحی یک Web Application تک صفحه ای، یا (Single Page Application (SPA رو
میدن، که از بهترین اونها میشه به AngularJS (http://angularjs.org/) و Ember (http://emberjs.com/) اشاره کرد. در این Framework ها، بخش اعظم طراحی و توسعه Application در سمت Client صورت میگیره،
و تمامی اون جزییاتی که قبلا ازش نام بردم، در اونها دیده و پیاده سازی شده که طبیعتا استفاده از این Framework ها، بدون مطالعه و بررسی دقیق اونها
امکان پذیر نیست. من توصیه میکنم یکی از این دو Framework رو بخوبی یاد بگیرید تا بتونید در آینده ازش استفاده کنید.

لینک به متود load و BBQ Plugin رو هم در فوق آوردم که اگر اصرار به انجام این کار بصورت دستی داشتید، با مطالعه این دو لینک کارتون رو پیش ببریبد.

موفق باشید.