در اینجا صفحه نمایشی است که می خواهیم برای نشان دادن موارد ایجاد کنیم:

حتماً صفحه را به پایین اسکرول کنید تا متوجه شوید که چگونه عناصر خاصی چسبناک می شوند.

مانند سایر آموزش های UIkit، آشنایی با این چارچوب مفید خواهد بود.

پروژه آزمایشی

صفحه ما شامل بخش های زیر خواهد بود:

  1. سربرگ
  2. بنر قهرمان
  3. پست ها

در اینجا چگونه به نظر خواهد رسید:

طرح بندی صفحهطرح بندی صفحهطرح بندی صفحه

در اینجا بخش های مهم نشانه گذاری صفحه آورده شده است:

توجه داشته باشید که ما از کلاس های مختلف UIkit برای ساخت طرح استفاده می کنیم. فراتر از این کلاس های از پیش تعریف شده، چند کلاس سفارشی نیز وجود دارد که به ما کمک می کند عناصر خاصی را از طریق جاوا اسکریپت فراخوانی کنیم.

اگر کاملاً با UIkit آشنا نیستید، به شما توصیه می‌کنم ابزارهای توسعه‌دهنده مرورگر خود را باز کنید و عناصر مختلف را بررسی کنید تا بفهمید همه این کلاس‌ها چه کاری انجام می‌دهند.

به روز رسانی کامپوننت ها

با پرداختن به جزئیات بیشتر، سرصفحه صفحه از دو عنصر تشکیل شده است:

  • یک نوار اعلان
  • یک چسبنده nav عنصر با دو فرزند div عناصر. توجه داشته باشید که دوم div فقط در صفحاتی که عرض آنها حداقل 960 پیکسل است قابل مشاهده خواهد بود.

بخش پست ها شامل فیلترها و شبکه خواهد بود.

چسبنده

همانطور که صفحه را به پایین اسکرول می کنیم، فیلترها باید چسبناک باقی بمانند و زیر چسب قرار گیرند nav عنصر

کد جاوا اسکریپت زیر آنها را به عنوان چسبنده تنظیم می کند:

اگر اکنون این عنصر چسبنده را در کنسول چاپ کنیم، همه گزینه های موجود آن را خواهیم دید:

جزء چسبندهجزء چسبندهجزء چسبنده

توجه کنید به offset ویژگی. مقدار آن بسته به اندازه صفحه نمایش متفاوت خواهد بود. به یاد داشته باشید که دوم div از nav عنصر فقط در صفحه‌هایی قابل مشاهده است که حداقل 960 پیکسل عرض دارند.

اگر شروع به تغییر اندازه صفحه کنیم، متوجه خواهیم شد که فیلترها در موقعیت مورد انتظار چسبنده نمی مانند. این اتفاق می افتد زیرا ما آن را به روز نمی کنیم offset مقدار، اما در عوض فقط موردی را که در بارگذاری صفحه می آید نگه دارید. بنابراین، برای اینکه این مؤلفه دقیق شود، باید این قطعه کد را اضافه کنیم:

کشویی

اگر روی آن کلیک کنید فیلترها را تغییر دهید را فشار دهید، متوجه خواهید شد که یک کشویی وجود دارد. در یک سناریوی واقعی، این ممکن است شامل تمام برچسب‌های پست، دسته‌ها یا هر اصطلاح طبقه‌بندی دیگر باشد. عرض آن بسته به اندازه صفحه نمایش تغییر می کند.

گفته می شود، در صفحه نمایش های تا 959 پیکسل، به این صورت خواهد بود:

طرح‌بندی کشویی در صفحه‌های کوچکطرح‌بندی کشویی در صفحه‌های کوچکطرح‌بندی کشویی در صفحه‌های کوچک

با این حال، در صفحه نمایش های بزرگتر به صورت زیر خواهد بود:

طرح‌بندی کشویی روی صفحه‌های بزرگطرح‌بندی کشویی روی صفحه‌های بزرگطرح‌بندی کشویی روی صفحه‌های بزرگ

توجه داشته باشید که در مورد دوم، فهرست کشویی تمام عرض والد را پوشش نمی‌دهد، بلکه درست قبل از اعمال فیلترها دکمه.

برای انجام این نیاز، ابتدا یک مؤلفه کشویی جدید را با استفاده از ویژگی های سفارشی مانند این مقداردهی اولیه می کنیم:

با خیال راحت کامپوننت را بخوانید مستندات برای درک گزینه هایی که از آنها عبور می کنیم.

در مرحله بعد، به این کامپوننت ارجاع خواهیم داد:

دوباره برای دیدن همه گزینه های کشویی، آن را در کنسول چاپ می کنیم:

جزء کشوییجزء کشوییجزء کشویی

توجه کنید boundary مقدار پارامتر به طور پیش فرض، ما این مقدار را روی the قرار می دهیم form عنصری که تضمین می کند که بازشو با عرض آن مطابقت دارد. این برای صفحه نمایش های کوچک خوب است، اما در صفحه هایی که حداقل 960 پیکسل عرض دارند، عرض آن باید با عرض صفحه نمایش مطابقت داشته باشد. .post-filters-form-inner عنصر بنابراین، برای انجام این کار، این شرط را اضافه می کنیم:

در نهایت، برای اطمینان از اینکه این شرط در تغییر اندازه پنجره برآورده می شود، این کد را اضافه می کنیم:

می توانید با جابجایی زبانه جاوا اسکریپت نسخه آزمایشی، تمام کدهای مورد نیاز را بررسی کنید.

نتیجه

این برای امروز است، مردمی! این تمرین نحوه به‌روزرسانی گزینه‌های دو مؤلفه UIkit را نشان می‌دهد و به شما دانش کافی برای به‌روزرسانی سایر مؤلفه‌های UIkit می‌دهد.

در اینجا صفحه نمایشی ما برای یادآوری است:

آخرین اما نه کم اهمیت ترین، در مستندات، اطلاعاتی در مورد نحوه به روز رسانی یک مؤلفه با استفاده از update رویداد. در صورت نیاز این را در نظر داشته باشید.

مثل همیشه، خیلی ممنون که خواندید!

آموزش UIkit در Tuts+

UIkit، به قول خود توسعه دهندگان، یک “فریم ورک جلویی سبک و ماژولار برای توسعه رابط های وب سریع و قدرتمند” است. این یک روش واقعاً محبوب برای ساخت رابط های جلویی است، بنابراین با این آموزش ها همراه شوید!