適配性強的移動端select選項框

select2.gif

需求來源

原生的select有很多樣式不能隨意改動,比如不能設置居中不生效,select框長度不能根據(jù)內(nèi)容自適應等。而且在ios端和安卓端顯示的樣式不統(tǒng)一。所以為了解決以上問題,基于swiper對select進行了優(yōu)化改進,改進后的樣式可以隨意設置,實現(xiàn)多端樣式統(tǒng)一。

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>

然后創(chuàng)建一個select大容器selectbL,然后在容器里面分別創(chuàng)建選項回顯容器select-xi,以及選項內(nèi)容容器display-none。當然,選項內(nèi)容容器默認是隱藏的,只有在觸發(fā)點擊選項的時候才會顯示出來。

<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后,需要初始化一下方法,這個方法就是構(gòu)造select選項的函數(shù)。

new hSdrop({
    els:'.sele-bp'
})

下面是部分構(gòu)造函數(shù)里面的方法,其中一個是確定的方法,另一個是取消的方法。至于完成選項后你有什么操作,都可以在這兩個方法中完成。

$('.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就完成了,好看,實用,可造性高。


select1.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容