-

汇聚密码安全智慧 共享实战经验!

  • 我们目前有643个页面,13个用户,731次编辑。

MediaWiki:Mobile.js:修订间差异

跳转到导航 跳转到搜索
无编辑摘要
(创建页面,内容为“→‎这里的任何JavaScript将为使用移动版网站的用户加载:​ (function() { 'use strict'; // 初始化公告滚动 function initSiteNoticeScroll() { var self = $('#siteNoticeScroll'); if (!self.length || !self[0]) return; var ul = self.find('ul:first'); if (!ul.length) return; var lis = ul.find('li'); if (lis.length <= 1) return; // 如果只有一个或没有项目…”
 
无编辑摘要
第1行: 第1行:
/* 这里的任何JavaScript将为使用移动版网站的用户加载 */
// 移动端公告滚动效果
// 兼容 MobileFrontend 和桌面端
 
(function() {
(function() {
     'use strict';
     'use strict';
第28行: 第30行:
         lis.width(containerWidth);
         lis.width(containerWidth);
          
          
         // 设置初始位置
         // 设置初始位置和过渡效果
         ul.css('marginLeft', '0px');
         ul.css({
            'margin-left': '0px',
            'transition': 'margin-left 0.73s ease-in-out'
        });
          
          
         // 开始滚动
         // 开始滚动
第36行: 第41行:
             if (!dataset) return;
             if (!dataset) return;
              
              
             var oldLeft = parseInt(dataset.left) || 0;
             var currentLeft = parseInt(dataset.left) || 0;
             var newLeft = oldLeft + 1;
            var totalLength = parseInt(dataset.length) || lis.length;
             var newLeft = currentLeft + 1;
              
              
             if (newLeft >= parseInt(dataset.length) - 1) {
            // 如果到达最后一个,重置到第一个(索引0)
                 newLeft = -1; // 重置到开始
             if (newLeft >= totalLength) {
                 newLeft = 0;
             }
             }
              
              
             ul.css('marginLeft', -(newLeft * containerWidth) + 'px');
             ul.css({
                'margin-left': -(newLeft * containerWidth) + 'px',
                'transition': 'margin-left 0.73s ease-in-out'
            });
             dataset.left = newLeft;
             dataset.left = newLeft;
         }, 5000);
         }, 5000);
第56行: 第66行:
              
              
             var currentLeft = parseInt(ul[0].dataset.left) || 0;
             var currentLeft = parseInt(ul[0].dataset.left) || 0;
             if (currentLeft === -1) currentLeft = 0;
             if (currentLeft < 0) currentLeft = 0;
             ul.css('marginLeft', -(currentLeft * containerWidth) + 'px');
             ul.css({
                'margin-left': -(currentLeft * containerWidth) + 'px',
                'transition': 'margin-left 0.37s ease-in-out'
            });
         });
         });
          
          
第66行: 第79行:
     // 初始化用户提示
     // 初始化用户提示
     function initUserPrompt() {
     function initUserPrompt() {
         if ($('#siteNoticeScroll').length === 0 && $('#userPrompt').length === 0) {
         var siteNoticeScroll = $('#siteNoticeScroll');
             return;
        if (siteNoticeScroll.length === 0) {
            return false;
        }
       
        var ul = siteNoticeScroll.find('ul:first');
        if (ul.length === 0) {
             return false;
         }
         }
          
          
第83行: 第102行:
         // 如果页面没有 userPrompt 元素,创建一个
         // 如果页面没有 userPrompt 元素,创建一个
         if (promptElement.length === 0) {
         if (promptElement.length === 0) {
             var siteNoticeScroll = $('#siteNoticeScroll');
             promptElement = $('<li id="userPrompt"></li>');
            if (siteNoticeScroll.length > 0) {
            ul.append(promptElement);
                var ul = siteNoticeScroll.find('ul:first');
                if (ul.length > 0) {
                    promptElement = $('<li id="userPrompt"></li>');
                    ul.append(promptElement);
                }
            }
         }
         }
          
          
         if (promptElement.length > 0) {
         // 设置内容
            if (currentUser && currentUser !== null && currentUser !== '') {
        if (currentUser && currentUser !== null && currentUser !== '') {
                // 已登录用户
            // 已登录用户
                promptElement.html('<strong>欢迎回来,' + currentUser + '!感谢您对炼石百科的贡献!</strong>');
            promptElement.html('<strong>欢迎回来,' + currentUser + '!感谢您对炼石百科的贡献!</strong>');
            } else {
        } else {
                // 未登录用户
            // 未登录用户
                promptElement.html('<strong>欢迎加入炼石百科<a href="/wiki/Special:用户登录"><font color="#3862AE">注册一个账号</font></a>,一起参与编写吧!</strong>');
            promptElement.html('<strong>欢迎加入炼石百科<a href="/wiki/Special:用户登录"><font color="#3862AE">注册一个账号</font></a>,一起参与编写吧!</strong>');
            }
         }
         }
       
        return true;
     }
     }
      
      
     // 等待 DOM 和 MediaWiki 加载完成
     // 等待 DOM 和 MediaWiki 加载完成
     function init() {
     function init() {
         // 初始化用户提示
         // 先初始化用户提示(必须在滚动初始化之前)
         initUserPrompt();
         var promptAdded = initUserPrompt();
          
          
         // 初始化滚动效果
         // 延迟初始化滚动效果,确保 DOM 完全更新
         initSiteNoticeScroll();
         setTimeout(function() {
            initSiteNoticeScroll();
        }, promptAdded ? 100 : 0);
     }
     }
      
      

导航菜单