打开/关闭菜单
打开/关闭外观设置菜单
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。

Widget:GF立绘切换:修订间差异

来自OGAS数据中枢
弃权者留言 | 贡献
无编辑摘要
弃权者留言 | 贡献
无编辑摘要
第7行: 第7行:


             var container = box.querySelector('.gf-image-container');
             var container = box.querySelector('.gf-image-container');
             var thumbs = box.querySelectorAll('.gf-thumb-item');
             var btns = box.querySelectorAll('.gf-switch-btn');
             if (!container || thumbs.length < 1) return;
             var overlay = box.querySelector('.gf-switcher-overlay');
            var toggle = box.querySelector('.gf-switcher-toggle');


             thumbs.forEach(function (thumb) {
             // 展开/收起逻辑
                 thumb.addEventListener('click', function () {
            if (toggle && overlay) {
                     if (thumb.classList.contains('active')) return;
                 toggle.addEventListener('click', function() {
                     overlay.classList.toggle('collapsed');
                });
            }


                     var src = thumb.dataset.src;
            if (!container || btns.length < 1) return;
 
            btns.forEach(function (btn) {
                btn.addEventListener('click', function () {
                    if (btn.classList.contains('active')) return;
 
                     var src = btn.dataset.src;
                     if (!src) return;
                     if (!src) return;


                     var oldImg = container.querySelector('img');
                     var oldImg = container.querySelector('img');
                     if (oldImg) {
                     if (oldImg) oldImg.style.opacity = '0';
                        oldImg.style.opacity = '0';
                    }


                     setTimeout(function () {
                     setTimeout(function () {
                         container.innerHTML = '<img src="' + src + '" style="max-width:100%;max-height:450px;object-fit:contain;opacity:0;transition:opacity 0.3s;height:auto;width:auto;">';
                         container.innerHTML = '<img src="' + src + '" style="max-width:100%;max-height:500px;object-fit:contain;opacity:0;transition:opacity 0.3s;height:auto;width:auto;">';
                         var newImg = container.querySelector('img');
                         var newImg = container.querySelector('img');
                         if (newImg) {
                         if (newImg) {
第31行: 第39行:
                     }, 150);
                     }, 150);


                     thumbs.forEach(function (t) { t.classList.remove('active'); });
                     btns.forEach(function (b) { b.classList.remove('active'); });
                     thumb.classList.add('active');
                     btn.classList.add('active');
                 });
                 });
             });
             });

2026年5月15日 (五) 22:04的版本

<script> (function () {

   function initSwitcher() {
       document.querySelectorAll('.gf-infobox-new').forEach(function (box) {
           if (box.dataset.ready) return;
           box.dataset.ready = '1';
           var container = box.querySelector('.gf-image-container');
           var btns = box.querySelectorAll('.gf-switch-btn');
           var overlay = box.querySelector('.gf-switcher-overlay');
           var toggle = box.querySelector('.gf-switcher-toggle');
           // 展开/收起逻辑
           if (toggle && overlay) {
               toggle.addEventListener('click', function() {
                   overlay.classList.toggle('collapsed');
               });
           }
           if (!container || btns.length < 1) return;
           btns.forEach(function (btn) {
               btn.addEventListener('click', function () {
                   if (btn.classList.contains('active')) return;
                   var src = btn.dataset.src;
                   if (!src) return;
                   var oldImg = container.querySelector('img');
                   if (oldImg) oldImg.style.opacity = '0';
                   setTimeout(function () {
                       container.innerHTML = '<img src="' + src + '" style="max-width:100%;max-height:500px;object-fit:contain;opacity:0;transition:opacity 0.3s;height:auto;width:auto;">';
                       var newImg = container.querySelector('img');
                       if (newImg) {
                           newImg.onload = function () { newImg.style.opacity = '1'; };
                           if (newImg.complete) newImg.style.opacity = '1';
                       }
                   }, 150);
                   btns.forEach(function (b) { b.classList.remove('active'); });
                   btn.classList.add('active');
               });
           });
       });
   }
   if (document.readyState === 'loading') {
       document.addEventListener('DOMContentLoaded', initSwitcher);
   } else {
       initSwitcher();
   }
   if (window.mw) {
       mw.hook('wikipage.content').add(initSwitcher);
   }

})(); </script>