t totalItems = $carouselItems.length; function updateNavButtons() { const visibleItems = getVisibleItemsCount($carousel, minItemWidth, maxItems); $prevBtn.toggleClass('disabled', currentPosition === 0); $nextBtn.toggleClass('disabled', currentPosition <= -(totalItems - visibleItems) * (100 / visibleItems)); } $nextBtn.on('click', function() { if ($(this).hasClass('disabled')) return; const visibleItems = getVisibleItemsCount($carousel, minItemWidth, maxItems); currentPosition -= 100 / visibleItems; $carouselTrack.css('transform', `translateX(${currentPosition}%)`); updateNavButtons(); }); $prevBtn.on('click', function() { if ($(this).hasClass('disabled')) return; const visibleItems = getVisibleItemsCount($carousel, minItemWidth, maxItems); currentPosition += 100 / visibleItems; $carouselTrack.css('transform', `translateX(${currentPosition}%)`); updateNavButtons(); }); handleCarouselResize(selector, minItemWidth, maxItems); } function getVisibleItemsCount($carousel, minItemWidth, maxItems) { const containerWidth = $carousel.find('.carousel-container').width(); return Math.min(maxItems, Math.floor(containerWidth / minItemWidth)); } function handleCarouselResize(selector, minItemWidth, maxItems) { const $carousel = $(selector); const $carouselTrack = $carousel.find('.carousel-track'); const $carouselItems = $carousel.find('.carousel-item'); const $prevBtn = $carousel.find('.carousel-prev'); const $nextBtn = $carousel.find('.carousel-next'); const visibleItems = getVisibleItemsCount($carousel, minItemWidth, maxItems); const totalItems = $carouselItems.length; $carouselItems.css('width', `${100 / visibleItems}%`); $carouselTrack.css('transform', 'translateX(0)'); $carousel.data('currentPosition', 0); $prevBtn.addClass('disabled'); $nextBtn.toggleClass('disabled', totalItems <= visibleItems); } function SPlayVideo(id) { const videoUrl = `/list/video.php?id=${id}`; const popup = document.getElementById('videoPopup'); const container = document.getElementById('videoContainer'); // 设置视频iframe container.innerHTML = ``; // 显示弹窗 popup.style.display = 'flex'; // 阻止背景滚动 document.body.style.overflow = 'hidden'; } // 关闭视频弹窗 function closeVideoPopup() { const popup = document.getElementById('videoPopup'); const container = document.getElementById('videoContainer'); // 隐藏弹窗 popup.style.display = 'none'; // 清除视频iframe container.innerHTML = ''; // 恢复背景滚动 document.body.style.overflow = ''; } // 点击弹窗背景关闭 document.getElementById('videoPopup').addEventListener('click', function(e) { if (e.target === this) { closeVideoPopup(); } }); // ESC键关闭 document.addEventListener('keydown', function(e) { if (e.key === 'Escape') { closeVideoPopup(); } });
Ranking