前端web—每日一练(7.2)--商品列表轮播

需求分析:

点击左右箭头,商品列表整体切换,换成下一个列表
在这里插入图片描述

实现代码

transform控制商量子列表方法实现

代码比较繁琐,可以简单实现功能

HTMl主要结构

在这里插入图片描述

JS代码

const left = document.getElementById("like_left");
const list1 = document.getElementById("list1");
const right = document.getElementById("like_right");
const list2 = document.getElementById("list2");
const list3 = document.getElementById("list3");
var translateX = 0;
left.addEventListener("click", function () {
  // console.log("第三次");
  translateX = translateX + 960;
  if (translateX > 0) {
    translateX = -1920;
  }
  console.log(translateX + "左键");
  list1.style.transform = `translateX(${translateX}px)`;
  list1.style.transition = "all 1s";
  list2.style.transform = `translateX(${translateX}px)`;
  list2.style.transition = "all 1s";
  list3.style.transform = `translateX(${translateX}px)`;
  list3.style.transition = "all 1s";
});
right.addEventListener("click", function () {
  if (translateX <= -1920) {
    translateX = 960;
  }
  translateX = translateX - 960;
  list1.style.transform = `translateX(${translateX}px)`;
  list1.style.transition = "all 1s";
  list2.style.transform = `translateX(${translateX}px)`;
  list2.style.transition = "all 1s";
  list3.style.transform = `translateX(${translateX}px)`;
  list3.style.transition = "all 1s";
  console.log(translateX + "右键");
});

left位置控制父元素盒子方法实现

HTML主要代码

在这里插入图片描述

CSS主要代码

在这里插入图片描述

JS代码

相较于上面,代码量减少

list1.style.left = "0px";

var nowleft = 0;
left.addEventListener("click", function () {
  if (nowleft == 0) {
    nowleft = -2880;
  }
  nowleft = nowleft + 960;
  list1.style.left = nowleft + "px";
  list1.style.transition = "all 1s";
  console.log(nowleft);
});
right.addEventListener("click", function () {
  if (nowleft <= -1920) {
    nowleft = 960;
  }
  nowleft = nowleft - 960;
  list1.style.left = nowleft + "px";
  list1.style.transition = "all 1s";
  console.log("右击", nowleft);
});

总结

只是实现简单的点击切换效果,由于动画时间,没有做到无缝切换。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值