需要起源
原生的select有很多款式不能随便改变,比方不能设置居中不失效,select框长度不能依据内容自适应等。而且在ios端和安卓端显示的款式不对立。所以为了解决以上问题,基于swiper对select进行了优化改良,改良后的款式能够随便设置,实现多端款式对立。
html源码
须要在html中引入须要依赖的css和js
<link rel\="stylesheet" type\="text/css" href\="select/css/style.mobile.css" /> <link rel\="stylesheet" type\="text/css" href\="select/css/swiper.min.css" /> <script type\="text/javascript" src\="js/jquery-1.7.2.min.js"\></script\> <script type\="text/javascript" src\="select/js/swiper.min.js"\></script\> <script type\="text/javascript" src\="select/js/hSdrop.js"\></script\>
而后创立一个select大容器selectbL,而后在容器外面别离创立选项回显容器select-xi,以及选项内容容器display-none。当然,选项内容容器默认是暗藏的,只有在触发点击选项的时候才会显示进去。
<div class\="selectbL"\> <div class\="select-xi sele-bp"\> <span\>工夫</span\> <img src\="images/selectImg.png" class\="selectImg" /> </div\> <div class\="display-none"\> <div vid\="1"\>2020年10月10日</div\> <div vid\="0"\>2020年10月11日</div\> <div vid\="2"\>2020年10月12日</div\> <div vid\="3"\>2020年10月13日</div\> </div\> </div\>
js源码
在你引入所有的js和css后,须要初始化一下办法,这个办法就是结构select选项的函数。
new hSdrop({ els:'.sele-bp' })
上面是局部构造函数外面的办法,其中一个是确定的办法,另一个是勾销的办法。至于实现选项后你有什么操作,都能够在这两个办法中实现。
$('.select-moob .cancel,.select-moob-cover').click(function(e){ $('.select-moob').remove();});$('.select-moob .determine').click(function(e){ $(el).children('span').text($('.sw-select .swiper-slide-active').html()); $('.select-moob').remove(); })
一个革新好的select就实现了,难看,实用,可造性高。