افزونه بزرگنمایی تصویر Zoomy که یک ذره بین واقعی را شبیه سازی می کند بررسی شد. در برخی موارد، استفاده از آن ناخوشایند است، زیرا ذره بین تصویر اصلی را می پوشاند و تمرکز بر روی ناحیه مورد نظر را دشوار می کند. برای تعیین موقعیت دقیق نقطه بزرگنمایی، می توانید از نسخه دیگری از ذره بین - jLoupe استفاده کنید. این افزونه برای کتابخانه رایگان اسکریپت جی کوئری توسط طراح وب کریس یوفر توسعه داده شده است. تنظیمات بسیار بیشتری دارد و به شما امکان می دهد جلوه های زیبایی ایجاد کنید که یک ذره بین را شبیه سازی می کند و یک قطعه تصویر بزرگ شده را در کنار مکان نما نشانگر نمایش می دهد.
سه گزینه برای پلاگین jLoupe در شکل نشان داده شده است. در سمت چپ یک ذره بین قطره ای و پیوندی به خروجی یک تصویر در مقیاس کامل است، در مرکز یک ذره بین مستطیلی بدون پیوند، در سمت راست یک ذره بین به شکل دایره است. متأسفانه، گرد کردن، درست مانند افزونه ذره بین Zoomy که قبلاً مورد بحث قرار گرفت، در مرورگرهای IE6 - IE8 کار نمی کند. به همین دلیل است که ذره بین آنها همیشه مستطیل شکل است و نسخه مناسب به طور کلی یک شرمساری کامل است.
نمونه هایی از پلاگین jLoupe نصب افزونه ذره بین jLoupe
ابتدا آرشیو را دانلود کنید. سپس، مانند همیشه، برای جلوگیری از سردرگمی، بیایید یک پوشه جدید در سایت ایجاد کنیم که آن را jloupe نامگذاری کنیم و آرشیو دانلود شده را در آن باز کنیم. سه فایل دریافت خواهیم کرد:
jquery-1.8.3.min.js، jquery.jloupe.js و یک تصویر پشتیبان برای ذره بین گرد loupe-trans.png.
برای اینکه افزونه کار کند، فقط باید class="jloupe" را برای تصویر تنظیم کنید و خروجی ذره بین خود را می توان به چندین روش سازماندهی کرد:
1. دو تصویر ایجاد کنید - تصویر اصلی (image.jpg) و بزرگ شده (image_big.jpg). در تگ تصویری که در صفحه قرار داده شده است، مسیر نسخه بزرگ شده را با استفاده از ویژگی data-original مشخص کنید:
.
2. فقط از یک تصویر بزرگ شده استفاده کنید و برای کاهش آن در مرورگر، با استفاده از ویژگی های عرض و ارتفاع، ابعاد مورد نیاز صفحه را تنظیم کنید. فقط به یاد داشته باشید که مقیاس گذاری انجام شده توسط مرورگر معمولاً کیفیت تصویر را کاهش می دهد:
.
3. در صورت لزوم، لینک کشف را ارائه دهید تصویر بزرگیا به یک شی دیگر، سپس استفاده کنید فرم زیر:
.
این کار نصب پلاگین jLoupe را تکمیل می کند و با باز کردن صفحه با تصویر در مرورگر می توانید نحوه عملکرد آن را مشاهده کنید.
نکته مهم:اگر سایت شما از چندین پلاگین jQuery استفاده می کند، راحت تر است که فایل jquery.js (ترجیحا آخرین نسخه) را به پوشه root منتقل کنید تا چندین بار آن را دانلود نکنید. در این صورت خط دسترسی به آن برای همه افزونه ها یکسان خواهد بود. به طور خاص، برای مثال ما به این صورت معلوم می شود:
.
استفاده از چندین در یک صفحه توصیه نمی شود نسخه های مختلف jQuery تا با هم تضاد نداشته باشند. در عین حال، حتماً عملکرد افزونه ها را با نسخه نصب شده jQuery، زیرا همه نسخه ها قابل تعویض نیستند.
تنظیمات اولیه برای ذره بین jLoupe در فایل jquery.jloupe.js تنظیم شده است. برای تغییر آنها، آن را در هر ویرایشگر HTML یا Notepad باز کنید. در همان ابتدای فایل خطوطی با تنظیمات موجود وجود دارد که می توان آنها را تغییر داد:
عرض | 200 | عرض |
ارتفاع | 200 | ارتفاع |
حاشیه | 6 | تورفتگی در اطراف ذره بین |
cursorOffsetX | 10 | فاصله افقی از مکان نما |
نشانگر OffsetY | 10 | فاصله عمودی از مکان نما |
رنگ | نادرست | اجازه دادن به رنگ ها |
مرز رنگ | "#999" | رنگ حاشیه |
رنگ پس زمینه | "#ddd" | رنگ پس زمینه |
radiusLT | 0 | شعاع بالا سمت چپ گرد ذره بین |
radiusLB | 100 | شعاع پایین سمت چپ گرد ذره بین |
radiusRT | 100 | شعاع بالا سمت راست گرد ذره بین |
شعاع RB | 100 | شعاع پایین سمت راست گرد شدن ذره بین |
تصویر | نادرست | آدرس تصویر خارجی برای ذره بین (url تصویر) - نوع ذره بین را تعیین می کند. در مثال درست، این یک تصویر دایره ای است loupe-trans.png |
تکرار کن | نادرست | تصویر پس زمینه تکراری |
محو شدن | درست است | استفاده از تاریکی هنگام خروجی ذره بین |
fadeIn | درست است | زمان تاریک شدن هنگام باز شدن (ms) |
محو شدن | درست است | زمان تاریک شدن هنگام بسته شدن (ms) |
به عنوان مثال، برای ذره بین قطره ای شکل که در بالای مقاله (سمت چپ) نشان داده شده است، از تنظیمات پیش فرض و برای تصویر سمت راست از موارد زیر استفاده می شود:
شعاعLT: 100
حاشیه: 12،
رنگ حاشیه: نادرست،
رنگ پس زمینه: "#ffffee"،
image: "jloupe/loupe-trans.png"
برای گزینه ذره بین مستطیلی (در مرکز)، هیچ تصویر خارجی مورد نیاز نیست (تصویر: نادرست):
شعاعLT: 0،
شعاعRT: 10
شعاع RB: 0،
شعاعLB: 10،
عرض: 300
ارتفاع: 150
borderColor: "#f2730b"،
رنگ پس زمینه: "#000"،
محو شدن: نادرست،
تصویر: نادرست
برای سایر برنامه های بزرگنمایی تصاویر و همچنین ایجاد گالری عکس، چرخ فلک و نمایش اسلاید در سایت، به بخش " مراجعه کنید.
افزونه زومی جلوه زیبایی از شناور ذره بین روی تصویر را پیاده سازی می کند. همه چیز در سطح بالا- ذره بین "شبیه" به نظر می رسد.
تست شده در:
- IE 6-8
- فایرفاکس 4
- Opera 9.5-10
- سافاری 4
- کروم
- کتابخانه jquery یا .
- (10.99 Kb) - افزونه یا آن (4.49 Kb).
- سبک های (2.87 کیلوبایت) برای ذره بین.
ما کتابخانه ها و شیوه نامه ها را به هم وصل می کنیم:
HTML ساده و شهودی است - یک تصویر کوچک که با یک پیوند به یک بزرگتر پیچیده شده است. برای سهولت در مقداردهی اولیه، بزرگنمایی کلاس را به پیوند اختصاص می دهیم.
پلاگین را راه اندازی کنید:
jQuery(function())( jQuery(."zoom").zoomy(); ));
همین.
و اکنون با جزئیات بیشتردر طول مقداردهی اولیه، می توانید پارامترهای زیر را ارسال کنید:
پارامترهای zoomy() رویدادهامی توانید ذره بین را پیکربندی کنید تا بسته به عملکرد کاربر روشن شود. چهار رویداد در دسترس است:
نمونه هایی از مقداردهی اولیه با پارامترهانصب ذره بین اندازه را تنظیم می کنیم، کتیبه را Russify می کنیم، ویژگی را با آدرس تصویر بزرگ تغییر می دهیم.
1. افزونه jQuery ذره بینبزرگ کردن مساحت مربع
2. زوم ابریاین افزونه به هیچ وجه از نظر کیفیت کمتر از اسکریپت های مقیاس بندی تصویر تجاری مانند Magic Zoom نیست. بسیاری از ویژگی های مختلف و سازگاری با محبوب ترین مرورگرها. توصیه می کنم این اسکریپت را به صورت عملی در صفحه نمایشی تماشا کنید. فکر می کنم او شما را بی تفاوت نخواهد گذاشت.
3. پلاگین jQuery برای بزرگ کردن متن یا قسمت تصویر زیر ماوساسکریپت نسبتاً انعطاف پذیر. مناطق نمایش به راحتی با استفاده از CSS قابل تنظیم هستند. این افزونه یک ناحیه کوچک زیر بغل را بزرگ می کند. با دوبار کلیک کردن، بین اندازه بزرگ و کوچک همه محتوا جابهجا شوید
4. پلاگین جی کوئری برای بزرگنمایی تصویربه شکل صفحه نمایش آیفون ساخته شده است.
5. افزونه MooTools Zoomerبرای مشاهده جزئیات یک تصویر، به سادگی ماوس خود را روی آن قرار دهید.
6. نمونه کارها جی کوئری با جلوه زومیک پیادهسازی جالب از یک نمونه کار که با اتصال دو پلاگین جی کوئری ایجاد شده است: Cloud Zoom و Fancybox. هنگامی که ماوس خود را روی یک تصویر کوچک قرار می دهید، یک کپی بزرگ شده از ناحیه زیر مکان نما ظاهر می شود. با کلیک بر روی یک تصویر کوچک، یک گالری Fancybox باز می شود که به شما امکان می دهد چندین تصویر در اندازه کامل آن پروژه را در نمونه کار خود مشاهده کنید.
7. افزونه جی کوئری “Easy Image Zoom”ناحیه زیر مکان نما را بزرگ می کند.
8. افزونه جی کوئری "Zoomy"افکت ذره بین برای بزرگنمایی بخشی از تصویر.
9. پلاگین جی کوئری "BeZoom" 10. پلاگین جی کوئری "ImageLens"جلوه ذره بین هنگام قرار دادن ماوس روی تصویر. با استفاده از jQuery پیاده سازی شده است.
11. افزونه jQuery “Magnifier”تاثیر افزایش مساحت تصویر بر شناور.
12. زنگ تصویر برای فروشگاه اینترنتی "jqZoom"می توان از آن برای اجرای مشاهده دقیق محصولات در فروشگاه های آنلاین استفاده کرد.
13. یک تصویر بزرگ را در یک منطقه محدود مشاهده کنیدپلاگین jQuery امکان اجرای نمایش یک تصویر بزرگ را در یک بلوک محدود فراهم می کند. در این مورد، ناوبری با حرکت دادن مستطیل در سراسر تصویر کوچک انجام می شود.
14. افزونه AJAX-zoomAJAX-zoom یک پلاگین گالری بسیار کاربردی با طیف گسترده ای از ویژگی ها است. این افزونه بر روی JQuery و PHP اجرا می شود و دارای بیش از 250 گزینه نمایش است. این افزونه علاوه بر عملکرد، یک افزونه بسیار انعطاف پذیر است که می تواند در هر وب سایتی ادغام شود.
در این آموزش به ایجاد افکت ذره بین برای یک تصویر ثابت تنها با استفاده از jQuery و CSS خواهیم پرداخت.
مرحله 1. XHTMLنشانه گذاری برای دستیابی به اثر بسیار ساده است. ما فقط از چند مورد استفاده می کنیم بخشو تصویر
دمو.htmlبخش#iphone قاب آیفون را نمایش می دهد. داخل آن قرار دارد بخش#صفحه وب با اسکرین شات از صفحه. اسکرین شات به نصف اندازه واقعی خود نشان داده می شود، بنابراین برای نسخه کوچک (نشان داده شده در قاب آیفون) و نسخه بزرگ که در پنجره گرد نشان داده شده است، از همان تصویر استفاده می کنیم.
نیز وجود دارد بخش#retina که با استفاده از CSS3 به شکل گرد تنظیم شده است. یک نسخه بزرگتر از اسکرین شات صفحه را به عنوان پس زمینه نمایش می دهد و با حرکت مکان نما ماوس حرکت می کند.
مرحله 2: CSS
بیایید استایل ها را برای بخش#iphone، #صفحه وب و #رتینا که امکان تحقق اثر مورد نظر را فراهم می کند.
style.css #iphone( /* Frame div iphone */ width:750px; height:400px; background:url("img/iphone_4G.png") no-repeat center center; position:relative; ) #webpage( /* حاوی اسکرین شات */ عرض: 499 پیکسل; بنابراین میتوانیم آن را جابهجا کنیم */ position:absolute; عرض: 180px .cur")، پیشفرض؛ /* سایه CSS3 */ -moz-box-shadow:0 0 5px # 777، 0 0 10px #aaa inset؛ -webkit-box-shadow:0 0 5px #777؛ box-shadow: 0 0 5px #777, 0 0 10px #aaa inset -webkit-border-radius:90px ; ), پیش فرض ) #main( /* Main Div * /margin:40px auto;موقعیت:نسبی; بخشعرض: 750 پیکسل )
بخشبا تعیین موقعیت مطلق بخشدر صفحه، میتوانیم از تکنیک وسط عمودی و افقی استفاده کنیم، که به طور موثر اسکرین شات را در مرکز قاب آیفون قرار میدهد. بخش#رتینا همچنین موقعیتیابی مطلق را دریافت میکند، بنابراین میتوان آن را در قسمتهای jQuery به سادگی با تنظیم یک افست از بالا و چپ حرکت داد. داده شده است
همچنین دارای یک اسکرین شات از صفحه به عنوان پس زمینه (در اندازه اصلی آن). جابجایی پس زمینه هنگام حرکت بخشاین توهم بزرگ شدن یک قطعه کوچک از اسکرین شات پشت آن را ایجاد می کند. همچنین#رتینا شعاع حاشیه ای با مقداری معادل دقیقاً نصف عرض آن دارد که آن را دقیقاً گرد می کند (حداقل در مرورگرهایی که این ویژگی را پشتیبانی می کنند.
شعاع مرزی CSS3 - کروم، سافاری، اپرا و فایرفاکس).و در نهایت نشانگر ماوس را با تنظیم مکان نما خالی مخفی می کنیم (
گوگل کرومهنگام ارائه یک مکان نما کاملاً خالی خطا می دهد، بنابراین باید یک مکان نما سفید 1 پیکسل برای آن تنظیم کنیم). Opera به طور کامل نشانگرهای کاربر را نادیده می گیرد و هیچ کاری نمی توان در مورد این واقعیت انجام داد. بنابراین کاربران این مرورگر در هنگام مشاهده افکت تجربه منفی خواهند داشت.
script.js $(document).ready(function())( /* وقتی رویداد آماده دریافت شد کد اجرا می شود */ var left = 0، top = 0، sizes = ( retina: ( عرض:190، ارتفاع: 190)، صفحه وب: ( عرض: 500، ارتفاع: 283 ) )، صفحه وب = $("#webpage")، offset = ( سمت چپ: webpage.offset().left، بالا: webpage.offset().top)، retina = $("#retina"); e.pageX-offset .left = (e.pageY-offset.top if(retina.is(":not(:animated):hidden"))( webpage.trigger("mouseenter"); if(اندازه های سمت چپ. webpage.height) ( /* اگر خارج از مرزهای اسکرین شات صفحه هستیم، پس شبکیه div */ if(!retina.is(":animated"))( webpage.trigger(" mouseleave")؛ ) return false; ) / * div شبکیه را پشت ماوس حرکت دهید (و پس زمینه را اسکرول کنید) */ retina.css(( سمت چپ: sizes.retina.width/2، بالا: top - sizes.retina .height/2, backgroundPosition: "-"+(1.6 *چپ)+"px -"+(1.35*بالا)+"px"));mouseleave(function())(retina.stop(true,true). fadeOut ("سریع");)).mouseenter(function())( retina.stop(true,true).fadeIn("سریع"); )); ))) در عملکردحرکت ماوس مختصات فعلی نشانگر ماوس به عنوان ارسال می شود e.pageX و e.pageY بخش، اما نسبت به کل سند مطلق هستند. کم کردن افست بخش#webpage، مختصات نسبی نشانگر ماوس را دریافت می کنیم که بعداً برای موقعیت یابی استفاده می شود
#شبکیه چشم
بنابراین، در ترکیب با مکان نما خالی، تنها با استفاده از جاوا اسکریپت و CSS یک افکت ذره بین ایجاد می کنیم.نتیجه گیری
بحث بین طرفداران Flash و HTML5 اخیراً داغ شده است زیرا مردم شروع به جستجوی راه هایی برای دستیابی به همان سطح عملکرد بدون استفاده از برنامه های کاربردی خارجی کرده اند. این رویکرد منجر به کاربردهای سادهتر میشود. با این حال، ما باید به خاطر داشته باشیم که سازگاری راه حل ها با مرورگرهای متقابل را حفظ کنیم، که همیشه امکان پذیر نیست (IE را به یاد داشته باشید).