Skip to content

Commit c57528d

Browse files
0xquarkbari12
authored andcommitted
feat: Use Lazy Loading and Thumbnails for loading high quality images
1 parent ea24bd6 commit c57528d

19 files changed

+45
-8
lines changed

events.html

Lines changed: 45 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ <h2>Events</h2>
3131
<section class="bottom-margin">
3232
<div>
3333
<a href="images/events/2024_7th_workshop_group_photo_ORIGINAL.jpg" target="_blank">
34-
<img class="image" src="images/events/2024_7th_workshop_group_photo.jpg" alt="Workshop Group Photo" />
34+
<img class="image" src="images/events/2024_7th_workshop_group_photo_thumb.jpg" data-src="images/events/2024_7th_workshop_group_photo.jpg" alt="Workshop Group Photo" loading="lazy" />
3535
</a>
3636
</div>
3737
<div>
@@ -47,7 +47,7 @@ <h5>30 September - 4 October 2024 @ San Diego Supercomputer Center, US</h5>
4747
<section class="bottom-margin">
4848
<div>
4949
<a href="images/events/2023_Dirac_RucioWS_groupphoto_ORIGINAL.jpg" target="_blank">
50-
<img class="image" src="images/events/2023_Dirac_RucioWS_groupphoto.jpg" alt="Workshop Group Photo" />
50+
<img class="image" src="images/events/2023_Dirac_RucioWS_groupphoto_thumb.jpg" data-src="images/events/2023_Dirac_RucioWS_groupphoto.jpg" alt="Workshop Group Photo" loading="lazy" />
5151
</a>
5252
</div>
5353
<div>
@@ -64,7 +64,7 @@ <h5>16 October - 20 October 2023 @ KEK, Tsukuba, JP</h5>
6464
<section class="bottom-margin">
6565
<div>
6666
<a href="images/events/2022_5th_workshop_group_photo_ORIGINAL.jpg" target="_blank">
67-
<img class="image" src="images/events/2022_5th_workshop_group_photo.jpg" alt="Workshop Group Photo" />
67+
<img class="image" src="images/events/2022_5th_workshop_group_photo_thumb.jpg" data-src="images/events/2022_5th_workshop_group_photo.jpg" alt="Workshop Group Photo" loading="lazy" />
6868
</a>
6969
</div>
7070
<div>
@@ -81,7 +81,7 @@ <h5>10 November - 11 November 2022 @ Lancaster University, UK</h5>
8181
<section class="bottom-margin">
8282
<div>
8383
<a href="images/events/2021_4th_workshop_group_photo_ORIGINAL.png" target="_blank">
84-
<img class="image" src="images/events/2021_4th_workshop_group_photo.png" alt="Workshop Group Photo" />
84+
<img class="image" src="images/events/2021_4th_workshop_group_photo_thumb.jpg" data-src="images/events/2021_4th_workshop_group_photo.jpg" alt="Workshop Group Photo" loading="lazy" />
8585
</a>
8686
</div>
8787
<div>
@@ -101,7 +101,7 @@ <h5>28 September - 30 September 2021 @ Virtual</h5>
101101
<section class="bottom-margin">
102102
<div>
103103
<a href="images/events/2020_3rd_rucio_workshop_ORIGINAL.png" target="_blank">
104-
<img class="image" src="images/events/2020_3rd_rucio_workshop.png" alt="Workshop Group Photo" />
104+
<img class="image" src="images/events/2020_3rd_rucio_workshop_thumb.jpg" data-src="images/events/2020_3rd_rucio_workshop.jpg" alt="Workshop Group Photo" loading="lazy" />
105105
</a>
106106
</div>
107107
<div>
@@ -118,7 +118,7 @@ <h5>10 March - 12 March 2020 @ Fermilab, USA</h5>
118118
<section class="bottom-margin">
119119
<div>
120120
<a href="images/events/2019_second_coding_camp_ORIGINAL.png" target="_blank">
121-
<img class="image" src="images/events/2019_second_coding_camp.png" alt="Workshop Group Photo" />
121+
<img class="image" src="images/events/2019_second_coding_camp_thumb.jpg" data-src="images/events/2019_second_coding_camp.jpg" alt="Workshop Group Photo" loading="lazy" />
122122
</a>
123123
</div>
124124
<div>
@@ -135,7 +135,7 @@ <h5>15-17 October 2019 @ CERN</h5>
135135
<section class="bottom-margin">
136136
<div>
137137
<a href="images/events/2019_second_rucio_workshop_ORIGINAL.jpg" target="_blank">
138-
<img class="image" src="images/events/2019_second_rucio_workshop.jpg" alt="Workshop Group Photo" />
138+
<img class="image" src="images/events/2019_second_rucio_workshop_thumb.jpg" data-src="images/events/2019_second_rucio_workshop.jpg" alt="Workshop Group Photo" loading="lazy" />
139139
</a>
140140
</div>
141141
<div>
@@ -153,7 +153,7 @@ <h5>28 Feburary - 1 March 2019 @ Oslo, Norway</h5>
153153
<section class="bottom-margin">
154154
<div>
155155
<a href="images/events/2018_first_coding_camp_ORIGINAL.jpg" target="_blank">
156-
<img class="image" src="images/events/2018_first_coding_camp.jpg" alt="Workshop Group Photo" />
156+
<img class="image" src="images/events/2018_first_coding_camp_thumb.jpg" data-src="images/events/2018_first_coding_camp.jpg" alt="Workshop Group Photo" loading="lazy" />
157157
</a>
158158
</div>
159159
<div>
@@ -202,6 +202,43 @@ <h5>1-2 March 2018 @ CERN</h5>
202202
<script src="assets/js/footer.js"></script>
203203
<script src="assets/js/cta.js"></script>
204204
<script src="assets/js/scripts.js"></script>
205+
206+
<!-- Progressive Image Loading -->
207+
<script>
208+
document.addEventListener('DOMContentLoaded', function() {
209+
const images = document.querySelectorAll('img[data-src]');
210+
211+
const imageObserver = new IntersectionObserver((entries, observer) => {
212+
entries.forEach(entry => {
213+
if (entry.isIntersecting) {
214+
const img = entry.target;
215+
const highQualitySrc = img.getAttribute('data-src');
216+
217+
// Create a new image to preload the high-quality version
218+
const highQualityImg = new Image();
219+
highQualityImg.onload = function() {
220+
// Smoothly transition to high-quality image
221+
img.style.transition = 'opacity 0.3s ease-in-out';
222+
img.style.opacity = '0.8';
223+
setTimeout(() => {
224+
img.src = highQualitySrc;
225+
img.style.opacity = '1';
226+
img.removeAttribute('data-src');
227+
}, 150);
228+
};
229+
highQualityImg.src = highQualitySrc;
230+
231+
observer.unobserve(img);
232+
}
233+
});
234+
}, {
235+
rootMargin: '50px 0px',
236+
threshold: 0.1
237+
});
238+
239+
images.forEach(img => imageObserver.observe(img));
240+
});
241+
</script>
205242

206243
</body>
207244

-190 KB
Binary file not shown.
238 KB
Loading
377 KB
Loading
-1.11 MB
Binary file not shown.
237 KB
Loading
-276 KB
Binary file not shown.
341 KB
Loading
-875 KB
Binary file not shown.
222 KB
Loading

0 commit comments

Comments
 (0)