@ ওয়েস্টনের উত্তরের ভিত্তিতে , আমি আরও সাধারণ জিকুয়েরি সমাধান তৈরি করেছি, আপনি মূলত কেবল জেএস এবং সিএসএস অনুলিপি এবং পেস্ট করতে পারেন এবং এইচটিএমএল অংশে ফোকাস করতে পারেন;)
সিএসএস
... লোড করার সময় চিত্রগুলি অবশ্যই দৃশ্যমান হবে তা নিশ্চিত করার জন্য
.srcSet{
position: fixed;
z-index: 0;
z-index: -1;
z-index: -100;
}
জেএস / জিকুয়েরি
এই স্ক্রিপ্টটি এমন সমস্ত চিত্রের মধ্য দিয়ে যাবে যার srcSet
ক্লাস এবং বাইন্ড load
ইভেন্ট রয়েছে যা গ্রহণ করে currentSrc
(বা src
সমর্থিত না হলে) এবং এটি ক্লাস background-image
সহ নিকটতম পিতামাতার কাছে সিএসএস হিসাবে রাখে bgFromSrcSet
।
যে নিজেই যথেষ্ট হবে না! সুতরাং এটিwindow
load
লোড ইভেন্টগুলি সম্পন্ন হয়েছে কিনা তাপরীক্ষা করার জন্যইভেন্টের মধ্যেএকটি বিরতিপরীক্ষাকারীরাখে, যদি তা না করে তবে এটি তাদের ট্রিগার করে। (img
load
ঘটনা খুব প্রায়ই আরম্ভ করা হয় শুধুমাত্র প্রথমবার লোড লোড নিম্নলিখিত উপর,, ইমেজ সোর্স ক্যাশে থেকে উদ্ধার করা হতে পারে, চিত্র লোড ঘটনা ফলে নয় বহিস্কার করা হচ্ছে! )
jQuery(function($){
var $window = $(window);
var $srcSets = $('.srcSet');
$srcSets.each(function(){
var $currImg = $(this);
$currImg
.load(function(){
var img = $currImg.get(0);
var src = img.currentSrc ? img.currentSrc : img.src;
$currImg.closest('.bgFromSrcSet').css('background-image', "url('"+src+"')");
$srcSets = $srcSets.not($currImg);
$currImg.remove();
})
;
});
$window.load(function(){
var loadChecker = setInterval(function(){
if( $srcSets.length > 0 )
$srcSets.load();
else
clearInterval(loadChecker);
}, 150);
});
});
এইচটিএমএল
... এটি দেখতে পারে:
<div class="bgFromSrcSet">
<img class="srcSet"
alt=""
src="http://example.com/something.jpeg"
srcset="http://example.com/something.jpeg 5760w, http://example.com/something-300x200.jpeg 300w, http://example.com/something-768x512.jpeg 768w, http://example.com/something-1024x683.jpeg 1024w, http://example.com/something-1000x667.jpeg 1000w"
sizes="(max-width: 2000px) 100vw, 2000px"
>
Something else...
</div>
দ্রষ্টব্য: শ্রেণি নিজেই সেট করা bgFromSrcSet
উচিত নয়img
! এটি কেবল img
ডিওএম পিতামাতার গাছের উপাদানগুলিতে সেট করা যেতে পারে ।