"틀:이미지스와이퍼"의 두 판 사이의 차이
광주문화예술인문스토리플랫폼
| 69번째 줄: | 69번째 줄: | ||
}, | }, | ||
}); | }); | ||
| − | + | ||
| − | + | // 이미지 로딩 타임아웃 및 에러 처리 | |
| − | + | document.querySelectorAll('.image-swiper-container .swiper-image').forEach(function(img) { | |
| − | + | var timeout; | |
| − | + | var removeSlide = function() { | |
| − | + | clearTimeout(timeout); | |
| − | + | img.closest('.swiper-slide').remove(); | |
| − | + | swiper.update(); | |
| + | }; | ||
| + | |||
| + | // 3초 타임아웃 설정 | ||
| + | timeout = setTimeout(function() { | ||
| + | if (!img.complete || img.naturalHeight === 0) { | ||
| + | removeSlide(); | ||
| + | } | ||
| + | }, 1500); | ||
| + | |||
| + | // 이미지 로딩 성공 시 타임아웃 취소 | ||
| + | img.addEventListener('load', function() { | ||
| + | clearTimeout(timeout); | ||
| + | }); | ||
| + | |||
| + | // 이미지 로딩 실패 시 슬라이드 제거 | ||
| + | img.addEventListener('error', function() { | ||
| + | removeSlide(); | ||
| + | }); | ||
| + | }); | ||
}); | }); | ||
| − | |||
</script> | </script> | ||
}} | }} | ||
</includeonly> | </includeonly> | ||