首页
最近更改
MediaWiki帮助
中文社区
模组
人物
团体
群聊
历史
外网社区
模组
发帖交流
论坛
聊天
博客
快捷访问
分类
文件列表
上传文件
用户列表
用户通知
礼物列表
随机页面
聊天中的在线用户
系统消息
讨论
查看源代码
查看历史
刷新
创建账号
登录
查看“︁MediaWiki:Common.js”︁的源代码
来自Age Of History 2 Chinese Wiki
←
Common.js
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
此页面为本wiki上的软件提供界面文本,并受到保护以防止滥用。 如欲修改所有wiki的翻译,请访问
translatewiki.net
上的MediaWiki本地化项目。
您无权编辑此JavaScript页面,因为编辑此页面可能会影响所有访问者。
您可以查看和复制此页面的源代码。
/** * MediaWiki轮播图JavaScript * 为轮播图提供交互功能 */ /* 轮播图功能 */ mw.hook('wikipage.content').add(function($content) { // 查找页面中所有轮播图 $content.find('.wiki-carousel').each(function() { const carousel = $(this); const slides = carousel.find('.wiki-carousel-slide'); const slideContainer = carousel.find('.wiki-carousel-slides'); const prevBtn = carousel.find('.wiki-carousel-prev'); const nextBtn = carousel.find('.wiki-carousel-next'); const indicators = carousel.find('.wiki-carousel-indicators'); let currentIndex = 0; let autoplayInterval = null; const slideCount = slides.length; if (slideCount === 0) return; // 创建指示器 for (let i = 0; i < slideCount; i++) { const indicator = $('<div class="wiki-carousel-indicator"></div>'); if (i === 0) indicator.addClass('active'); indicator.on('click', function() { goToSlide(i); }); indicators.append(indicator); } // 初始化轮播图状态 updateCarousel(); // 自动播放 startAutoplay(); // 绑定按钮事件 prevBtn.on('click', function(e) { e.preventDefault(); e.stopPropagation(); prevSlide(); }); nextBtn.on('click', function(e) { e.preventDefault(); e.stopPropagation(); nextSlide(); }); // 上一张 function prevSlide() { currentIndex = (currentIndex - 1 + slides.length) % slides.length; updateCarousel(); resetAutoplay(); } // 下一张 function nextSlide() { currentIndex = (currentIndex + 1) % slides.length; updateCarousel(); resetAutoplay(); } // 切换到指定幻灯片 function goToSlide(index) { currentIndex = index; updateCarousel(); resetAutoplay(); } // 鼠标悬停事件 carousel.on('mouseenter', function() { stopAutoplay(); }); carousel.on('mouseleave', function() { startAutoplay(); }); // 为每个幻灯片添加鼠标悬停和点击事件 slides.each(function(index) { const slide = $(this); const link = slide.find('.wiki-carousel-slide-link').attr('href'); // 鼠标悬停事件 slide.on('mouseenter', function() { goToSlide(index); stopAutoplay(); }); // 如果有链接,添加点击事件 if (link && link.length > 0) { slide.find('.wiki-carousel-slide-inner').css('cursor', 'pointer').on('click', function() { window.location.href = link; }); } }); // 触摸事件支持 let touchStartX = 0; carousel.on('touchstart', function(e) { touchStartX = e.originalEvent.touches[0].clientX; stopAutoplay(); }); carousel.on('touchend', function(e) { const touchEndX = e.originalEvent.changedTouches[0].clientX; const diff = touchEndX - touchStartX; if (diff > 50) { // 向右滑动,显示上一张 prevSlide(); } else if (diff < -50) { // 向左滑动,显示下一张 nextSlide(); } startAutoplay(); }); // 更新轮播图显示 function updateCarousel() { slides.removeClass('active'); indicators.find('.wiki-carousel-indicator').removeClass('active'); slides.css('transform', `translateX(-${currentIndex * 100}%)`); slides.eq(currentIndex).addClass('active'); indicators.find('.wiki-carousel-indicator').eq(currentIndex).addClass('active'); } // 启动自动播放 function startAutoplay() { if (autoplayInterval === null) { autoplayInterval = setInterval(function() { nextSlide(); }, 5000); // 5秒切换一次 } } // 停止自动播放 function stopAutoplay() { if (autoplayInterval !== null) { clearInterval(autoplayInterval); autoplayInterval = null; } } // 重置自动播放 function resetAutoplay() { stopAutoplay(); startAutoplay(); } }); });
返回
Common.js
。
工具
链入页面
相关更改
特殊页面
页面信息
Cargo数据