javascript - 使用 Javascript 将图像替换为下一张图像和上一张图像

标签 javascript carousel

我正在构建一个轮播,似乎不知道如何用下一张图像和上一张图像替换当前图像。我附上了一个代码笔和我想要实现的目标的屏幕截图。

代码笔: https://codepen.io/anon/pen/bmQjRB

JS:

      const img_con = document.getElementById('img-con');
    const img_con1 = document.getElementById('img-con-1');
    const img_con2 = document.getElementById('img-con-2');
    	 const next = document.getElementById('next');
    	 const prev = document.getElementById('prev');
    
    	  const images = ['https://images.unsplash.com/photo-1506126483163-f4d1558dbf85?ixlib=rb-0.3.5&q=85&fm=jpg', 'https://images.unsplash.com/photo-1506252374453-ef5237291d83?ixlib=rb-0.3.5&q=85&fm=jpg', 'https://images.unsplash.com/photo-1525183995014-bd94c0750cd5?ixlib=rb-0.3.5&q=85&fm=jpg']
    
    	  let i = images.length;
    
        next.onclick = ()=> {
        	 i = (i<images.length) ? (i= i+1) : (i=1);
        	 img_con.innerHTML = "<img class='img' src="+images[i-1]+">";
        }
        
        prev.onclick = ()=> {
        	 i = (i<images.length+1 && i>1) ?(i= i-1):(i=images.length);
        	 img_con.innerHTML = "<img class='img' src="+images[i-1]+">";
        }

最佳答案

我已更改图像数组,以按适当的顺序显示图像。

const images = ['https://images.unsplash.com/photo-1525183995014-bd94c0750cd5?ixlib=rb-0.3.5&q=85&fm=jpg',
        'https://images.unsplash.com/photo-1506126483163-f4d1558dbf85?ixlib=rb-0.3.5&q=85&fm=jpg',
        'https://images.unsplash.com/photo-1506252374453-ef5237291d83?ixlib=rb-0.3.5&q=85&fm=jpg'
]

您还需要运行 for 循环来检查索引。我正在附加一个完整的工作代码,用于单击下一个按钮。

let i =0;
next.onclick = () => {
        let temp = images[0];
        for (let index = 0; index < images.length; index++) {


            images[index] = images[index + 1];
            if (index === images.length-1 ) {

                images[index] = temp;
            }

        }

        img_con1.innerHTML = "<img class='img' src=" + images[i] + ">";
        img_con.innerHTML = "<img class='img' src=" + images[i + 1] + ">";
        img_con2.innerHTML = "<img class='img' src=" + images[i + 2] + ">";
    }

对于 pre 按钮,您需要运行循环后台词

let j = 0;
    prev.onclick = () => {

        let temp = images[images.length-1];
        for (let index = images.length-1; index >=0; index--) {


            images[index] = images[index - 1];
            if (index === 0 ) {
                console.log(index);
                images[index] = temp;
            }

        }
        img_con1.innerHTML = "<img class='img' src=" + images[j] + ">";
        img_con.innerHTML = "<img class='img' src=" + images[j + 1] + ">";
        img_con2.innerHTML = "<img class='img' src=" + images[j + 2] + ">";
    }

关于javascript - 使用 Javascript 将图像替换为下一张图像和上一张图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52979087/

相关文章:

jquery - 每当 Bootstrap 轮播自动循环时进行检测

javascript - chrome.tabs.create 不起作用

javascript - 在浏览器中显示 mp4 流媒体视频

javascript - 为什么图像不会立即弹出到我的图像轮播中?

javascript - 带有上一个/下一个按钮的固定宽度和高度的文本容器

javascript - 单击一次移动带有导航多张幻灯片的 Owl-Carousel

javascript - 带有淡入淡出动画的 jQuery 旋转木马 slider

javascript - 一项一项获取json项

javascript - 如何在没有 JS SDK 的情况下向 LinkedIn API v2 和 OAuth 2.0 发出请求?

javascript - 添加自定义 @polkadot/types 时 Polkadot-js Babel 错误