۲۴ مهر ۱۳۸۶

مشکل Marquee در طراحی صفحات وب

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

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

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

بدلیل اینکه منبع اصلی منتشر کننده این اسکریپت فعلا از بین رفته است آن را در اینجا گذاشتم تا همه مسلمین از آن استفاده ببیرند.

هیچ نظری موجود نیست: