用jQuery怎么制作一个移动端的滑动选择效果
Admin 2022-07-20 群英技术资讯 343 次浏览
代码:
<!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中实现这个需求比不难,接下来小编就通过一个示例给大家介绍一个实现方法,感兴趣的朋友就继续往下看吧。
我们通常会用到脚手架vuecli创建项目,此时需要安装脚手架,下面这篇文章主要给大家介绍了关于vue脚手架安装以及安装失败问题的解决办法,需要的朋友可以参考下
这篇文章主要介绍了JS hasOwnProperty()方法检测一个属性是否是对象的自有属性的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
微信小程序中活动倒计时的效果怎样做?倒计时的功能应用场景有很多,例如答题倒计时,商城活动倒计时等等,这里我们主要来接微信小程序中活动倒计时功能的实现,有一定的参考价值,感兴趣的朋友就继续往下看吧。
javascript求1到100的和的方法:1、创建一个HTML示例文件并添加script标签;2、通过“for(i=1;i<=100;i++){sum=sum+i}”语句求1到100的和即可。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008