javascript - 利用思否猫素材实现一个丝滑的轮播图(html + css + js)_个人文章 - SegmentFault 思否
使用思否猫素材实现一个轮播图本文参与了1024程序员节,欢迎正在阅读的你也加入。通过本文,你将学到:htmlcssjs没错,就是html,css,js,现在是框架盛行的时代,所以很少会有人在意原生三件
顺晟科技
2021-10-01 10:53:48
216
根据数组的长度和一个div的宽度,计算出父元素的长度。
document.getElementById("goods_bx").style.width=goods_list.length * 271 + 'px';
当点击上一张或下一张的时候,设置他的margin-left。
document.getElementById("goods_bx").style.marginLeft=mr * 271 + 'px';
为这个父元素再添加一个父元素,设置他的overflow-x为scroll。
.container_bx .r_goods_box .r_cen {
flex: 1;
overflow-x: scroll;
scrollbar-width: none;//火狐浏览器
}
去掉自带的滚动条
.r_cen::-webkit-scrollbar {
display: none;
}
<div>
<div>
<div>
<img src="img/s_left.png" id="leftMove" />
<div>
<div id="goods_bx"></div>
</div>
<img src="img/s_right.png" id="rightMove" />
</div>
</div>
</div>
.container_bx {
margin: 100px auto;
width: 1200px;
div {
box-sizing: border-box;
}
.r_goods_box {
background: #ffffff;
margin-bottom: 66px;
.r_cen::-webkit-scrollbar {
display: none;
}
.r_cen {
flex: 1;
overflow-x: scroll;
scrollbar-width: none;
}
.goods_bx {
.g_r_item {
width: 271px;
}
.g_item {
width: 253px;
background: #ffffff;
border-radius: 4px 4px 0 0;
margin-right: 12px;
.g_price {
font-size: 18px;
color: #d60000;
}
.g_name {
width: 215px;
font-size: 16px;
color: #333333;
margin-bottom: 7px;
}
.g_i_img {
width: 253px;
height: 254px;
border-radius: 4px;
margin-bottom: 10px;
}
.cart_icon {
width: 26px;
height: 26px;
margin-left: 24px;
}
}
}
.ge_icon {
width: 41px;
height: 41px;
margin-right: 27px;
border: 1px solid #f6f6f6;
border-radius: 50%;
}
.ge_icon:hover {
border: 1px solid #519551;
}
.ge_icon:last-child {
margin-right: 0;
margin-left: 27px;
}
}
}
var mr = 0;
var goods_list=[...数据]
var content='';
goods_list.forEach((item,index)=>{
content += ' <div>';
content += ' <div>'
content += '<img src=' + item.img + ' />'
content += '<div>'
content += ' <p>' + item.name + '</p>'
content += '</div>'
content += ' <div>'
content += '<p>¥' + item.price + '</p>'
content += '<img src="img/cart.png" />'
content += '</div>'
content += '</div>'
content += '</div>'
document.getElementById("goods_bx").innerHTML =content;
})
document.getElementById("goods_bx").style.width=goods_list.length * 271 + 'px';
document.getElementById("goods_bx").style.marginLeft=mr * 271 + 'px';
document.getElementById("leftMove").onclick=function(){
console.log(mr)
if (mr < 0) {
mr += 1;
}
document.getElementById("goods_bx").style.marginLeft=mr * 271 + 'px';
}
document.getElementById("rightMove").onclick=function(){
console.log(mr)
if (mr > -(goods_list.length + mr)) {
mr -= 1;
}
document.getElementById("goods_bx").style.marginLeft=mr * 271 + 'px';
}
https://gitee.com/susuhhhhhh/css_demos
22
2022-10
19
2022-10
19
2022-10
19
2022-10
19
2022-10
22
2022-09