用jQuery怎么制作一个移动端的滑动选择效果
Admin 2022-07-20 群英技术资讯 870 次浏览
这篇文章将为大家详细讲解有关“用jQuery怎么制作一个移动端的滑动选择效果”的知识,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<title></title>
<style type="text/css">
html,body{
width: 100%;
height: 100%;
}
div{
box-sizing: border-box;
}
.flex{
display: flex;
}
.billing_cent {
width: 100%;height: 100%;
position: fixed;
left: 0;
top: 0;
z-index: 10;
background-color: #000000;
}
.billing_cent_data {
width: 100%;
height: 100%;
justify-content: center;
align-items: center;
}
.billing_select {
width: 230px;
height: 257px;
background: #FFFFFF;
position: relative;
border-radius: 3px;
}
.billing_select_top>div {
text-align: center;
font-size: 16px;
color: #333333;
padding: 20px 0;
}
.billing_select_top>img {
width: 7px;
height: 13px;
position: absolute;
right: 10px;
top: 10px;
z-index: 3;cursor: pointer;
}
.billing_select_center {
width: 100%;
height: 141px;
padding: 0 20px;
overflow: hidden;
position: relative;
}
.billing_select_bot {
width: 100%;
text-align: center;
height: 45px;
line-height: 45px;
background: #EEEEEE;
text-align: center;
position: absolute;
left: 0;
bottom: 0;
z-index: 3;
border-radius: 3px;
}
.billing_select_center>ul {
margin: 0 auto;
display: block;
box-sizing: border-box;
width: 100%;
height: 100%;
overflow: auto;
padding: 47px 0;
position: absolute;
left: 0;
top: 0;
z-index: 3;
}
.billing_select_center>ul>li {
width: 100%;
height: 47px;
line-height: 47px;
font-size: 15px;
color: #333333;
text-align: center;
opacity: .5;
}
.billing_select_border {
width: calc(100% - 40px);
left: 20px;
height: 1px;
position: absolute;
top: 47px;
background-color: #F2F2F2;
}
.billing_opacity{
opacity: 1 !important;
}
.billing_select_border2 {
width: calc(100% - 40px);
left: 20px;
height: 1px;
position: absolute;
top: 94px;
background-color: #F2F2F2;
}
</style>
</head>
<body>
<div class="billing_cent">
<div class="billing_cent_data flex">
<div class="billing_select">
<div class="billing_select_top">
<div>请选择发票内容</div>
<img src="img/icon36.png" alt="..." />
</div>
<div class="billing_select_center">
<ul>
<li class="billing_opacity">
饮料
</li>
<li>
酒水
</li>
<li>
王老吉
</li>
<li>
老白干
</li>
<li>
营养快线
</li>
<li>
脉动
</li>
</ul>
<div class="billing_select_border"></div>
<div class="billing_select_border2"></div>
</div>
<div class="billing_select_bot">
确定
</div>
</div>
</div>
</div>
<script src="js/jq.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
// 监听滚动事件
var scroll_index=0;//默认index
const $ScrollWrap = $(".billing_select_center>ul")
// 监听滚动停止
let t1 = 0;
let t2 = 0;
let timer = null; // 定时器
$ScrollWrap.on("touchstart", function() {
// 触摸开始 ≈ 滚动开始
})
$ScrollWrap.on("scroll", function() {
// 滚动
clearTimeout(timer)
timer = setTimeout(isScrollEnd, 100)
t1 = $ScrollWrap.scrollTop()
})
function isScrollEnd() {
t2 = $ScrollWrap.scrollTop();
if (t2 == t1) {
// 滚动停止
clearTimeout(timer)
// 获取每个li距离顶部边框的距离
var leng = $(".billing_select_center>ul>li").length;
for (var k = 0; k < leng; k++) {
var top_leng = $(".billing_select_center>ul").children("li").eq(k).position().top;
// 区间在 30 ~ 60 之间则选中 这个区间范围是根据高度来决定的
if (top_leng >= 30 && top_leng <= 60) {
scroll_index=k;
$("li").removeClass("billing_opacity");
$(".billing_select_center>ul").children("li").eq(k).addClass("billing_opacity");
// 滚动到相应位置 每个li高度 47px
var scrool_heg = k * 47;
$(".billing_select_center>ul").scrollTop(scrool_heg);
}
}
}
}
</script>
</body>
</html>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
在 JavaScript 中如何判断两个值相等,这个问题看起来非常简单,但并非如此,在 JavaScript 中存在 4 种不同的相等逻辑,如果你不知道他们的区别,或者认为判断相等非常简单,本文就来为大家详细讲讲
JavaScript中关系运算符有几种?JavaScript关系运算符有==、===、!=、!==、<、>等等,这些符号都表示什么意思呢?用法和使用注意事项是什么?这篇文章小编就给大家来简单的介绍一下,有需要的朋友也可以参考,接下来就跟随小编一起了解看看吧。。
JavaScript中的observables操作符创建,下文有实例供大家参考,对大家了解操作过程或相关知识有一定的帮助,而且实用性强,希望这篇文章能帮助大家,下面我们一起来了解看看吧。
这篇文章主要为大家介绍了JS class语法糖的深入剖析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
饼图在做统计的时候是比较常见,能够形象的展示每个部分所占比例,那么用代码要怎么实现呢?下面小编就给大家分享关于使用JS实现饼图绘制效果的代码,下图是实现效果,感兴趣的朋友可以参考。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008