یکی از دوستان در قسمت تماس با من پیغام گذاشته بود که چگونه تصاویر یک صفحه را میشود به صورت موقت کوچک کرد؟ برای نمونه، این مشکلی است که در فورومها زیاد وجود دارد. گاهی از اوقات یکی از کاربران تصویری را ارسال میکند که اندازهی آن در حد یک تابلوی دیواری است!
با استفاده از محصول سورس بازی به نام popBox میتوان تصاویر دلخواهی را ابتدا با اندازهی کوچک در صفحه نشان داد و پس از کلیک بر روی آن، تصویر به اندازه اصلی آن نمایش داده خواهد شد. به این صورت صفحه از شکل نخواهد افتاد. این اسکریپت از آدرس زیر قابل دریافت است:
http://www.c6software.com/products/popbox/default.aspx
نحوه استفاده و مثالهای مربوطه هم در همان آدرس قابل مشاهده است و نکته خاصی ندارد.
اما این روش یا روشهای مشابه آن یک مشکل دارند. اعمال آنها باید به صورت دستی صورت گیرد. یعنی باید دقیقا مشخص کنیم که این تصویر معلوم در ابتدا به اندازهی مشخصی نمایش داده شود و سایر تنظیمات مربوطه اعمال گردد. این روش در سایتهای پویا عملا پاسخگو نخواهد بود. زمانیکه کاربری مطلبی را ارسال میکند یا باید در سورسهای موجود دست برد و به تصاویر ارسالی به صورت خودکار تنظیمات مربوط به popbox را اضافه کرد، یا اینکه هر بار مطالب را پس از ارسال به صورت دستی ویرایش کرد یا روشهایی مانند این.
با استفاده از jQuery ، اسکریپت selectAll.js را به این مجموعه اضافه کردم. ابتدا تمامی تصاویر صفحه پیدا میشوند و سپس به آنهایی که طول و عرض بزرگتری از حد مجاز دارند به صورت خودکار ویژگیهای popBox افزوده خواهد شد. چون این روش اسکریپتی است : الف) نیازی به تغییر در سورسهای موجود نیست. ب) توسط هر تکنولوژی سمت سروری نیز قابل استفاده است. ج) به صورت خودکار به تمامی تصاویر بزرگ صفحه اعمال میشود و نیازی به ویرایش دستی هیچ موردی جهت اعمال ویژگیهای مورد نظر وجود نخواهد داشت.
نکته جالبی که با jQuery وجود دارد، روال رخداد گردان document.ready آن است. این رخداد پیش از window.onload استاندارد و زمانیکه DOM آماده استفاده است فراخوانی میشود.
برای استفاده از آن ابتدا باید دو فولدر scripts و images به سرور کپی شوند. سپس سه سطر زیر را به هدر صفحه اضافه کنید (به سورس صفحه sample.html فایل پیوست میتوان مراجعه کرد):
<script src="scripts/jquery.min.js" type="text/javascript"></script>
<script src="scripts/PopBox.js" type="text/javascript"></script>
<script type="text/javascript" src="scripts/selectAll.js"></script>
popBoxWaitImage.src = "images/spinner40.gif";
popBoxRevertImage = "images/magminus.gif";
popBoxPopImage = "images/magplus.gif";
popBoxRevertText = "کوچک نمایی";
popBoxPopText = "بزرگ نمایی";
popBoxCaptionMoreText = "بیشتر";
popBoxCaptionLessText = "کمتر";
MaximumAllowedWidth = 500;
MaximumAllowedHeight = 480;
موارد ذکر شده را از این آدرس میتوانید دریافت نمائید.