document.addEventListener('DOMContentLoaded', () => { const themeToggle = document.getElementById('theme-toggle'); // 检查系统主题 const prefersDark = window.matchMedia('(prefers-color-scheme: dark)'); // 设置初始主题 function setInitialTheme() { // if (localStorage.getItem('theme')) { // document.documentElement.setAttribute('data-theme', localStorage.getItem('theme')); // updateIcon(localStorage.getItem('theme')); // } else if (prefersDark.matches) { // } // document.documentElement.setAttribute('data-theme', 'dark'); updateIcon('dark'); } // 更新图标 function updateIcon(theme) { const themeIcon = document.getElementById('theme_icon'); if (theme === 'light') { themeIcon.classList.remove('fa-moon'); themeIcon.classList.add('fa-sun'); } else { themeIcon.classList.remove('fa-sun'); themeIcon.classList.add('fa-moon'); } } // 切换主题 themeToggle.addEventListener('click', () => { const currentTheme = document.documentElement.getAttribute('data-theme'); const newTheme = currentTheme === 'dark' ? 'light' : 'dark'; // if (newTheme === 'dark') { // document.getElementById('theme_icon').className = 'fa fa-moon-o'; // }else{ // document.getElementById('theme_icon').className = 'fa fa-sun-o'; // } document.documentElement.setAttribute('data-theme', newTheme); localStorage.setItem('theme', newTheme); updateIcon(newTheme); }); // 监听系统主题变化 prefersDark.addListener((e) => { if (!localStorage.getItem('theme')) { document.documentElement.setAttribute('data-theme', e.matches ? 'dark' : 'light'); // updateIcon(e.matches ? 'dark' : 'light'); } }); setInitialTheme(); }); window.HELP_IMPROVE_VIDEOJS = false; var INTERP_BASE = "./static/interpolation/stacked"; var NUM_INTERP_FRAMES = 240; var interp_images = []; function preloadInterpolationImages() { for (var i = 0; i < NUM_INTERP_FRAMES; i++) { var path = INTERP_BASE + '/' + String(i).padStart(6, '0') + '.jpg'; interp_images[i] = new Image(); interp_images[i].src = path; } } function setInterpolationImage(i) { var image = interp_images[i]; image.ondragstart = function() { return false; }; image.oncontextmenu = function() { return false; }; $('#interpolation-image-wrapper').empty().append(image); } $(document).ready(function() { // Check for click events on the navbar burger icon $(".navbar-burger").click(function() { // Toggle the "is-active" class on both the "navbar-burger" and the "navbar-menu" $(".navbar-burger").toggleClass("is-active"); $(".navbar-menu").toggleClass("is-active"); }); var options = { slidesToScroll: 1, slidesToShow: 3, loop: true, infinite: true, autoplay: false, autoplaySpeed: 3000, } // Initialize all div with carousel class var carousels = bulmaCarousel.attach('.carousel', options); // Loop on each carousel initialized for(var i = 0; i < carousels.length; i++) { // Add listener to event carousels[i].on('before:show', state => { console.log(state); }); } // Access to bulmaCarousel instance of an element var element = document.querySelector('#my-element'); if (element && element.bulmaCarousel) { // bulmaCarousel instance is available as element.bulmaCarousel element.bulmaCarousel.on('before-show', function(state) { console.log(state); }); } /*var player = document.getElementById('interpolation-video'); player.addEventListener('loadedmetadata', function() { $('#interpolation-slider').on('input', function(event) { console.log(this.value, player.duration); player.currentTime = player.duration / 100 * this.value; }) }, false);*/ preloadInterpolationImages(); $('#interpolation-slider').on('input', function(event) { setInterpolationImage(this.value); }); setInterpolationImage(0); $('#interpolation-slider').prop('max', NUM_INTERP_FRAMES - 1); bulmaSlider.attach(); }) // 在已有的 JS 后添加