<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://cznwiki.com/index.php?action=history&amp;feed=atom&amp;title=Widget%3ACarousel</id>
	<title>Widget:Carousel - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://cznwiki.com/index.php?action=history&amp;feed=atom&amp;title=Widget%3ACarousel"/>
	<link rel="alternate" type="text/html" href="https://cznwiki.com/index.php?title=Widget:Carousel&amp;action=history"/>
	<updated>2026-04-17T13:11:56Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://cznwiki.com/index.php?title=Widget:Carousel&amp;diff=10&amp;oldid=prev</id>
		<title>律Rhyme at 08:42, 17 April 2026</title>
		<link rel="alternate" type="text/html" href="https://cznwiki.com/index.php?title=Widget:Carousel&amp;diff=10&amp;oldid=prev"/>
		<updated>2026-04-17T08:42:43Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://cznwiki.com/index.php?title=Widget:Carousel&amp;amp;diff=10&amp;amp;oldid=7&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>律Rhyme</name></author>
	</entry>
	<entry>
		<id>https://cznwiki.com/index.php?title=Widget:Carousel&amp;diff=7&amp;oldid=prev</id>
		<title>律Rhyme: Created page with &quot;&lt;div id=&quot;carousel-container&quot;&gt;&lt;/div&gt;  &lt;style&gt; /* ===== 轮播容器 ===== */ #carousel-container {     position: relative;     width: 100%;     max-width: 960px;     margin: 0 auto;     overflow: hidden;     border-radius: 8px;     background: #1a1a1a; }  #carousel-container .carousel-wrapper {     position: relative;     width: 100%;     padding-top: 56.25%; /* 16:9 */ }  #carousel-container .carousel-slide {     position: absolute;     top: 0;     left: 0;     width: 10...&quot;</title>
		<link rel="alternate" type="text/html" href="https://cznwiki.com/index.php?title=Widget:Carousel&amp;diff=7&amp;oldid=prev"/>
		<updated>2026-04-17T08:38:53Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;&amp;lt;div id=&amp;quot;carousel-container&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;style&amp;gt; &lt;span class=&quot;autocomment&quot;&gt;===== 轮播容器 =====: &lt;/span&gt; #carousel-container {     position: relative;     width: 100%;     max-width: 960px;     margin: 0 auto;     overflow: hidden;     border-radius: 8px;     background: #1a1a1a; }  #carousel-container .carousel-wrapper {     position: relative;     width: 100%;     padding-top: 56.25%; &lt;span class=&quot;autocomment&quot;&gt;16:9: &lt;/span&gt; }  #carousel-container .carousel-slide {     position: absolute;     top: 0;     left: 0;     width: 10...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;div id=&amp;quot;carousel-container&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;style&amp;gt;&lt;br /&gt;
/* ===== 轮播容器 ===== */&lt;br /&gt;
#carousel-container {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    max-width: 960px;&lt;br /&gt;
    margin: 0 auto;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    border-radius: 8px;&lt;br /&gt;
    background: #1a1a1a;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#carousel-container .carousel-wrapper {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    padding-top: 56.25%; /* 16:9 */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#carousel-container .carousel-slide {&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    top: 0;&lt;br /&gt;
    left: 0;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    height: 100%;&lt;br /&gt;
    opacity: 0;&lt;br /&gt;
    transition: opacity 0.6s ease-in-out;&lt;br /&gt;
    cursor: pointer;&lt;br /&gt;
    display: block;&lt;br /&gt;
    text-decoration: none;&lt;br /&gt;
    color: inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#carousel-container .carousel-slide.active {&lt;br /&gt;
    opacity: 1;&lt;br /&gt;
    z-index: 1;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#carousel-container .carousel-slide .slide-bg {&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    top: 0;&lt;br /&gt;
    left: 0;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    height: 100%;&lt;br /&gt;
    background-size: cover;&lt;br /&gt;
    background-position: center;&lt;br /&gt;
    background-repeat: no-repeat;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#carousel-container .carousel-slide .slide-overlay {&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    top: 0;&lt;br /&gt;
    left: 0;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    height: 100%;&lt;br /&gt;
    background: linear-gradient(&lt;br /&gt;
        to top,&lt;br /&gt;
        rgba(0, 0, 0, 0.85) 0%,&lt;br /&gt;
        rgba(0, 0, 0, 0.5) 40%,&lt;br /&gt;
        rgba(0, 0, 0, 0.2) 70%,&lt;br /&gt;
        rgba(0, 0, 0, 0.1) 100%&lt;br /&gt;
    );&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#carousel-container .slide-content {&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    bottom: 0;&lt;br /&gt;
    left: 0;&lt;br /&gt;
    right: 0;&lt;br /&gt;
    padding: 24px 32px;&lt;br /&gt;
    z-index: 2;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#carousel-container .slide-category {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    border: 1.5px solid #ffffff;&lt;br /&gt;
    color: #ffffff;&lt;br /&gt;
    font-size: 11px;&lt;br /&gt;
    font-weight: 700;&lt;br /&gt;
    letter-spacing: 1.5px;&lt;br /&gt;
    padding: 3px 10px;&lt;br /&gt;
    margin-bottom: 16px;&lt;br /&gt;
    text-transform: uppercase;&lt;br /&gt;
    background: transparent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#carousel-container .slide-title {&lt;br /&gt;
    font-size: 24px;&lt;br /&gt;
    font-weight: 800;&lt;br /&gt;
    color: #ffffff;&lt;br /&gt;
    margin: 0 0 8px 0;&lt;br /&gt;
    line-height: 1.3;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#carousel-container .slide-desc {&lt;br /&gt;
    font-size: 14px;&lt;br /&gt;
    color: rgba(255, 255, 255, 0.85);&lt;br /&gt;
    margin: 0 0 16px 0;&lt;br /&gt;
    font-weight: 500;&lt;br /&gt;
    line-height: 1.5;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ===== 指示器 ===== */&lt;br /&gt;
#carousel-container .carousel-indicators {&lt;br /&gt;
    display: flex;&lt;br /&gt;
    gap: 6px;&lt;br /&gt;
    align-items: center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#carousel-container .carousel-indicator {&lt;br /&gt;
    width: 24px;&lt;br /&gt;
    height: 3px;&lt;br /&gt;
    background: rgba(255, 255, 255, 0.35);&lt;br /&gt;
    border: none;&lt;br /&gt;
    border-radius: 2px;&lt;br /&gt;
    cursor: pointer;&lt;br /&gt;
    padding: 0;&lt;br /&gt;
    transition: all 0.3s ease;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#carousel-container .carousel-indicator::after {&lt;br /&gt;
    content: &amp;#039;&amp;#039;;&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    top: 0;&lt;br /&gt;
    left: 0;&lt;br /&gt;
    height: 100%;&lt;br /&gt;
    width: 0%;&lt;br /&gt;
    background: #fb5711;&lt;br /&gt;
    border-radius: 2px;&lt;br /&gt;
    transition: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#carousel-container .carousel-indicator.active::after {&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    transition: width 5s linear;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#carousel-container .carousel-indicator.active {&lt;br /&gt;
    width: 32px;&lt;br /&gt;
    background: rgba(255, 255, 255, 0.2);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#carousel-container .carousel-indicator.visited {&lt;br /&gt;
    background: #fb5711;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#carousel-container .carousel-indicator.visited::after {&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    transition: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ===== 左右箭头 ===== */&lt;br /&gt;
#carousel-container .carousel-arrow {&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    top: 50%;&lt;br /&gt;
    transform: translateY(-50%);&lt;br /&gt;
    z-index: 10;&lt;br /&gt;
    background: rgba(0, 0, 0, 0.45);&lt;br /&gt;
    border: none;&lt;br /&gt;
    color: #fff;&lt;br /&gt;
    width: 40px;&lt;br /&gt;
    height: 40px;&lt;br /&gt;
    border-radius: 50%;&lt;br /&gt;
    cursor: pointer;&lt;br /&gt;
    font-size: 18px;&lt;br /&gt;
    display: flex;&lt;br /&gt;
    align-items: center;&lt;br /&gt;
    justify-content: center;&lt;br /&gt;
    opacity: 0;&lt;br /&gt;
    transition: opacity 0.3s ease, background 0.3s ease;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#carousel-container:hover .carousel-arrow {&lt;br /&gt;
    opacity: 1;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#carousel-container .carousel-arrow:hover {&lt;br /&gt;
    background: #fb5711;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#carousel-container .carousel-arrow-left {&lt;br /&gt;
    left: 12px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#carousel-container .carousel-arrow-right {&lt;br /&gt;
    right: 12px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ===== 单张时隐藏控件 ===== */&lt;br /&gt;
#carousel-container.single-slide .carousel-arrow,&lt;br /&gt;
#carousel-container.single-slide .carousel-indicators {&lt;br /&gt;
    display: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ===== 响应式 ===== */&lt;br /&gt;
@media (max-width: 600px) {&lt;br /&gt;
    #carousel-container .slide-content {&lt;br /&gt;
        padding: 16px 20px;&lt;br /&gt;
    }&lt;br /&gt;
    #carousel-container .slide-title {&lt;br /&gt;
        font-size: 18px;&lt;br /&gt;
    }&lt;br /&gt;
    #carousel-container .slide-desc {&lt;br /&gt;
        font-size: 12px;&lt;br /&gt;
    }&lt;br /&gt;
    #carousel-container .carousel-arrow {&lt;br /&gt;
        width: 32px;&lt;br /&gt;
        height: 32px;&lt;br /&gt;
        font-size: 14px;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
(function() {&lt;br /&gt;
    function initCarousel() {&lt;br /&gt;
        var dataEl = document.getElementById(&amp;#039;carousel-data&amp;#039;);&lt;br /&gt;
        var container = document.getElementById(&amp;#039;carousel-container&amp;#039;);&lt;br /&gt;
        if (!dataEl || !container) return;&lt;br /&gt;
&lt;br /&gt;
        var count = parseInt(dataEl.getAttribute(&amp;#039;data-count&amp;#039;)) || 1;&lt;br /&gt;
        if (count &amp;gt; 4) count = 4;&lt;br /&gt;
&lt;br /&gt;
        var slides = [];&lt;br /&gt;
        for (var i = 1; i &amp;lt;= count; i++) {&lt;br /&gt;
            slides.push({&lt;br /&gt;
                image: dataEl.getAttribute(&amp;#039;data-banner&amp;#039; + i) || &amp;#039;&amp;#039;,&lt;br /&gt;
                category: dataEl.getAttribute(&amp;#039;data-banner&amp;#039; + i + &amp;#039;-category&amp;#039;) || &amp;#039;&amp;#039;,&lt;br /&gt;
                title: dataEl.getAttribute(&amp;#039;data-banner&amp;#039; + i + &amp;#039;-title&amp;#039;) || &amp;#039;&amp;#039;,&lt;br /&gt;
                desc: dataEl.getAttribute(&amp;#039;data-banner&amp;#039; + i + &amp;#039;-desc&amp;#039;) || &amp;#039;&amp;#039;,&lt;br /&gt;
                jump: dataEl.getAttribute(&amp;#039;data-banner&amp;#039; + i + &amp;#039;-jump&amp;#039;) || &amp;#039;&amp;#039;&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if (slides.length === 0) return;&lt;br /&gt;
        if (slides.length === 1) container.classList.add(&amp;#039;single-slide&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
        // Build HTML&lt;br /&gt;
        var html = &amp;#039;&amp;lt;div class=&amp;quot;carousel-wrapper&amp;quot;&amp;gt;&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
        // Slides&lt;br /&gt;
        for (var i = 0; i &amp;lt; slides.length; i++) {&lt;br /&gt;
            var s = slides[i];&lt;br /&gt;
            var href = s.jump ? (mw.config.get(&amp;#039;wgArticlePath&amp;#039;).replace(&amp;#039;$1&amp;#039;, encodeURIComponent(s.jump))) : &amp;#039;#&amp;#039;;&lt;br /&gt;
            html += &amp;#039;&amp;lt;a class=&amp;quot;carousel-slide&amp;#039; + (i === 0 ? &amp;#039; active&amp;#039; : &amp;#039;&amp;#039;) + &amp;#039;&amp;quot; href=&amp;quot;&amp;#039; + href + &amp;#039;&amp;quot;&amp;gt;&amp;#039;;&lt;br /&gt;
            html += &amp;#039;&amp;lt;div class=&amp;quot;slide-bg&amp;quot; style=&amp;quot;background-image:url(\&amp;#039;&amp;#039; + s.image.replace(/&amp;#039;/g, &amp;quot;\\&amp;#039;&amp;quot;) + &amp;#039;\&amp;#039;)&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
            html += &amp;#039;&amp;lt;div class=&amp;quot;slide-overlay&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
            html += &amp;#039;&amp;lt;div class=&amp;quot;slide-content&amp;quot;&amp;gt;&amp;#039;;&lt;br /&gt;
            if (s.category) {&lt;br /&gt;
                html += &amp;#039;&amp;lt;span class=&amp;quot;slide-category&amp;quot;&amp;gt;&amp;#039; + s.category + &amp;#039;&amp;lt;/span&amp;gt;&amp;#039;;&lt;br /&gt;
            }&lt;br /&gt;
            if (s.title) {&lt;br /&gt;
                html += &amp;#039;&amp;lt;h3 class=&amp;quot;slide-title&amp;quot;&amp;gt;&amp;#039; + s.title + &amp;#039;&amp;lt;/h3&amp;gt;&amp;#039;;&lt;br /&gt;
            }&lt;br /&gt;
            if (s.desc) {&lt;br /&gt;
                html += &amp;#039;&amp;lt;p class=&amp;quot;slide-desc&amp;quot;&amp;gt;&amp;#039; + s.desc + &amp;#039;&amp;lt;/p&amp;gt;&amp;#039;;&lt;br /&gt;
            }&lt;br /&gt;
            // Indicators inside content area&lt;br /&gt;
            if (slides.length &amp;gt; 1) {&lt;br /&gt;
                html += &amp;#039;&amp;lt;div class=&amp;quot;carousel-indicators&amp;quot;&amp;gt;&amp;#039;;&lt;br /&gt;
                for (var j = 0; j &amp;lt; slides.length; j++) {&lt;br /&gt;
                    html += &amp;#039;&amp;lt;button class=&amp;quot;carousel-indicator&amp;#039; + (j === 0 ? &amp;#039; active&amp;#039; : &amp;#039;&amp;#039;) + &amp;#039;&amp;quot; data-index=&amp;quot;&amp;#039; + j + &amp;#039;&amp;quot;&amp;gt;&amp;lt;/button&amp;gt;&amp;#039;;&lt;br /&gt;
                }&lt;br /&gt;
                html += &amp;#039;&amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
            }&lt;br /&gt;
            html += &amp;#039;&amp;lt;/div&amp;gt;&amp;lt;/a&amp;gt;&amp;#039;;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Arrows&lt;br /&gt;
        if (slides.length &amp;gt; 1) {&lt;br /&gt;
            html += &amp;#039;&amp;lt;button class=&amp;quot;carousel-arrow carousel-arrow-left&amp;quot;&amp;gt;&amp;amp;#10094;&amp;lt;/button&amp;gt;&amp;#039;;&lt;br /&gt;
            html += &amp;#039;&amp;lt;button class=&amp;quot;carousel-arrow carousel-arrow-right&amp;quot;&amp;gt;&amp;amp;#10095;&amp;lt;/button&amp;gt;&amp;#039;;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        html += &amp;#039;&amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
        container.innerHTML = html;&lt;br /&gt;
&lt;br /&gt;
        if (slides.length &amp;lt;= 1) return;&lt;br /&gt;
&lt;br /&gt;
        // Carousel logic&lt;br /&gt;
        var current = 0;&lt;br /&gt;
        var slideEls = container.querySelectorAll(&amp;#039;.carousel-slide&amp;#039;);&lt;br /&gt;
        var allIndicators = container.querySelectorAll(&amp;#039;.carousel-indicator&amp;#039;);&lt;br /&gt;
        var timer = null;&lt;br /&gt;
        var INTERVAL = 5000;&lt;br /&gt;
&lt;br /&gt;
        function getIndicatorsForSlide(idx) {&lt;br /&gt;
            // Each slide has its own set of indicators; get them&lt;br /&gt;
            var sets = [];&lt;br /&gt;
            for (var s = 0; s &amp;lt; slideEls.length; s++) {&lt;br /&gt;
                var inds = slideEls[s].querySelectorAll(&amp;#039;.carousel-indicator&amp;#039;);&lt;br /&gt;
                sets.push(inds);&lt;br /&gt;
            }&lt;br /&gt;
            return sets;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        function goTo(idx, fromAuto) {&lt;br /&gt;
            if (idx === current) return;&lt;br /&gt;
            slideEls[current].classList.remove(&amp;#039;active&amp;#039;);&lt;br /&gt;
            current = idx;&lt;br /&gt;
            slideEls[current].classList.add(&amp;#039;active&amp;#039;);&lt;br /&gt;
            updateIndicators();&lt;br /&gt;
            resetTimer();&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        function updateIndicators() {&lt;br /&gt;
            // Update indicators in ALL slides (so the active slide shows correct state)&lt;br /&gt;
            var allSets = container.querySelectorAll(&amp;#039;.carousel-slide&amp;#039;);&lt;br /&gt;
            for (var s = 0; s &amp;lt; allSets.length; s++) {&lt;br /&gt;
                var inds = allSets[s].querySelectorAll(&amp;#039;.carousel-indicator&amp;#039;);&lt;br /&gt;
                for (var j = 0; j &amp;lt; inds.length; j++) {&lt;br /&gt;
                    inds[j].classList.remove(&amp;#039;active&amp;#039;, &amp;#039;visited&amp;#039;);&lt;br /&gt;
                    if (j &amp;lt; current) {&lt;br /&gt;
                        inds[j].classList.add(&amp;#039;visited&amp;#039;);&lt;br /&gt;
                    } else if (j === current) {&lt;br /&gt;
                        // Force reflow for animation restart&lt;br /&gt;
                        inds[j].classList.add(&amp;#039;active&amp;#039;);&lt;br /&gt;
                        void inds[j].offsetWidth;&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
            // Re-trigger the animation by removing and re-adding&lt;br /&gt;
            setTimeout(function() {&lt;br /&gt;
                var activeInds = container.querySelectorAll(&amp;#039;.carousel-indicator.active&amp;#039;);&lt;br /&gt;
                for (var k = 0; k &amp;lt; activeInds.length; k++) {&lt;br /&gt;
                    activeInds[k].classList.remove(&amp;#039;active&amp;#039;);&lt;br /&gt;
                    void activeInds[k].offsetWidth;&lt;br /&gt;
                    activeInds[k].classList.add(&amp;#039;active&amp;#039;);&lt;br /&gt;
                }&lt;br /&gt;
            }, 10);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        function next() {&lt;br /&gt;
            goTo((current + 1) % slides.length);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        function prev() {&lt;br /&gt;
            goTo((current - 1 + slides.length) % slides.length);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        function resetTimer() {&lt;br /&gt;
            clearInterval(timer);&lt;br /&gt;
            timer = setInterval(next, INTERVAL);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Arrow events&lt;br /&gt;
        container.querySelector(&amp;#039;.carousel-arrow-left&amp;#039;).addEventListener(&amp;#039;click&amp;#039;, function(e) {&lt;br /&gt;
            e.preventDefault();&lt;br /&gt;
            e.stopPropagation();&lt;br /&gt;
            prev();&lt;br /&gt;
        });&lt;br /&gt;
        container.querySelector(&amp;#039;.carousel-arrow-right&amp;#039;).addEventListener(&amp;#039;click&amp;#039;, function(e) {&lt;br /&gt;
            e.preventDefault();&lt;br /&gt;
            e.stopPropagation();&lt;br /&gt;
            next();&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        // Indicator events (delegate)&lt;br /&gt;
        container.addEventListener(&amp;#039;click&amp;#039;, function(e) {&lt;br /&gt;
            var btn = e.target.closest(&amp;#039;.carousel-indicator&amp;#039;);&lt;br /&gt;
            if (btn) {&lt;br /&gt;
                e.preventDefault();&lt;br /&gt;
                e.stopPropagation();&lt;br /&gt;
                var idx = parseInt(btn.getAttribute(&amp;#039;data-index&amp;#039;));&lt;br /&gt;
                if (!isNaN(idx)) goTo(idx);&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        // Pause on hover&lt;br /&gt;
        container.addEventListener(&amp;#039;mouseenter&amp;#039;, function() { clearInterval(timer); });&lt;br /&gt;
        container.addEventListener(&amp;#039;mouseleave&amp;#039;, function() { resetTimer(); });&lt;br /&gt;
&lt;br /&gt;
        updateIndicators();&lt;br /&gt;
        resetTimer();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if (document.readyState === &amp;#039;loading&amp;#039;) {&lt;br /&gt;
        document.addEventListener(&amp;#039;DOMContentLoaded&amp;#039;, initCarousel);&lt;br /&gt;
    } else {&lt;br /&gt;
        initCarousel();&lt;br /&gt;
    }&lt;br /&gt;
})();&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;/div&gt;</summary>
		<author><name>律Rhyme</name></author>
	</entry>
</feed>