بارگذاری تنبل تصاویر (Images Lazy Loading) یک تکنیک بهینه سازی صفحات و بهبود تجربه کاربری است. این تکنیک، تصاویر رو تنها زمانی نشون میده که به اونها نیاز داشته باشیم. به طور میانگین، بیشتر از ۶۰% حجم خروجی وبسایت ها رو تصاویر تشکیل دادند (منبع) و این موضوع -وقتی تعداد و حجم تصاویر زیاد و سنگین باشند- در سرعت لود، پهنای باند و رضایت کاربران شما تأثیر منفی خواهد گذاشت. اینجاست که بازهم قدرت تنبلی اثبات میشه و این سبک بارگذاری با یک منطق ساده “نمایش تصاویر -> در صورتی که برای کاربر قابل مشاهده باشد” یا به عبارت دیگه “نمایش تصاویر -> تنها زمانی که در اسکرول صفحه قرار بگیرد” اون شعر برو کار میکن سعدی رو له میکنه.
* نکته: بارگذاری تنبل چند عیب کوچیک هم داره! به عنوان مثال: در بیشتر افزونه های Lazy Loading ویژگی src تصویر پشتیبانی نمیشه (یا اینکه با تصاویر و انیمیشن Sample مقدار دهی میشه) و تصویر اصلی شما در ویژگی جدیدی به نام data-src قرار میگیره و این موضوع با سینتکس استاندارد HTML5 همخونی نداره. (البته این هم بدون راه حل نیست…)
نحوه استفاده از بارگذاری تنبل
برای پیاده سازی این تکنیک، افزونه های جی کوئری زیادی هستند که هر کدوم ویژگی های مخصوص به خودشون رو دارند. در پست امروز، ما یک اسکریپت ساده و کم حجم رو برای شما همراهان جان آماده کردیم که با استفاده از اون میتونید تکنیک Lazy Loading رو به سادگی پیاده سازی کنید:
۱- فایل پیوستی رو از بخش پایینی این نوشته دانلود کنید.
۲- کتابخانه های Jquery و imglazyload رو در صفحه فراخوانی کنید:
<script src="http://code.jquery.com/jquery-1.11.3.min.js"></script> <script src="imglazyload.js"></script>
۳- تصاویر (تگ های img) رو با ویژگی های src و data-src به صفحه اضافه کنید: (تصویر loading.svg انیمیشن بارگذاری تصاویر است)
<div id="box"> <img data-src="1.jpg" src="loading.svg"> <img data-src="2.jpg" src="loading.svg"> <img data-src="3.jpg" src="loading.svg"> </div>
۴- تابع imgLazyLoad رو به سلکتور تصاویر، تخصیص بدید:
<script> $( '#box img' ).imgLazyLoad(); </script>
نکته: این تابع چند آپشن اضافه هم داره که میتونید از اونها استفاده کنید. مثال:
$('#box img').imgLazyLoad({ container: window, effect: 'fadeIn', speed: 600, delay: 400, callback: function(){ $( this ).css( 'opacity', .99 ); } });
۵- پایان 🙂
- دانلود حجم 5 کیلوبایت
- پیش نمایشپیش نمایش آنلاین
- مشکلی دارید؟ جواب خود را در پست فروم بگیرید
- منبع : بیست اسکریپت لطفا رعایت کنید