javascript - 使用 Javascript 将图像替换为下一个图像和上一个图像
问题描述
我正在构建一个轮播,似乎无法弄清楚如何用下一个图像和上一个图像替换我当前的图像。我附上了一个代码笔和我想要实现的截图。
代码笔: 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 按钮 yu 需要运行循环 backwords
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] + ">";
}
推荐阅读
- python - 我们如何为 numpy nunique 方法应用自定义功能?
- mysql - MySQL - 连接 3 个表的效率极低且不可靠的查询 - 如何改进?
- apache - 重定向到子文件夹
- linux - 在 Unix 中将 Mono 应用程序的文件放在哪里
- c# - 如何为隐藏字段设置默认值?
- javascript - HasOne和belongsTo关系在同一个模型sequelize
- mysql - 与 phpmyadmin、xamp 服务器和 wordpress 一起安装 netbeans
- javascript - 使用 Intersection Observer 对克隆元素进行延迟加载
- machine-learning - 强化学习迷你高尔夫游戏
- excel - 循环遍历单元格以填充文本框