JS觸摸屏網(wǎng)頁版仿app彈窗型滾動列表選擇器/日期選擇器
手機端網(wǎng)頁版app在使用下拉列表時,傳統(tǒng)的下拉列表使用起來體驗非常不好,一般做的稍好一點的交互功能界面都不會直接使用下拉列表,所以app的原生下拉列表都是彈窗列表選擇,網(wǎng)頁型app從使用體驗上來當(dāng)然也應(yīng)該做成那樣,前段時間在開發(fā)網(wǎng)頁版app時就遇到這種需求,不僅是日期選擇器,數(shù)據(jù)列表、變量列表選擇等等下拉列表型需求都需要,網(wǎng)上找來找去只找到一款比較好的mobiscroll,不過下載比較麻煩,感覺比較奇怪的是jquery.mobile、jeasyui.mobile都沒有提供這種控件,不知道為什么?雖然我不是專做前端開發(fā),不過幾乎全能型的我覺的不難開發(fā)吧,在家熬了一夜試了幾種方法終于找到一種幾乎完美的方法!在后來的使用中不斷完善,現(xiàn)在公開提供給廣大程序員。
先看看效果圖:
由于這控件的滾動是使用div原生滾動方法,觸摸屏使用時可以有慣性滾動效果,也實現(xiàn)了鼠標(biāo)可以操作,不過沒有實現(xiàn)慣性滾動效果。由于此控件主要是面向觸摸屏的,所以嘛觸摸屏完美就好了,我也懶的弄鼠標(biāo)版的特效了。此控件已封裝成jquery插件,沒有邊框,100%寬,使用很方便,比如套入彈窗后就是上圖效果。
代碼使用方法如下:
$("#scrollbox").EasyScrollBox({ fontSize: 32, fontFamily: '', color: '#000', lineHeight: 1.5, spaceRows: 2, value: '4', data: data1, textFiled: 'txt', valueFiled: 'id', onSelected: function (index, value) { $("#Text1").val(value); } });
使用彈窗完整的使用方法代碼如下,效果就是上圖的樣子:
<!-- ui-dialog --> <div id="dialog" class="easyui-dialog" style="padding:20px 6px;width:80%;" data-options="inline:true,modal:true,closed:true,title:'設(shè)置數(shù)值'"> <div id="scrollbox"></div> <div class="dialog-button"> <a href="javascript:void(0)" class="easyui-linkbutton" style="width:100%;height:35px" onclick="$('#dialog').dialog('close')">確 定</a> </div> </div> <script type="text/javascript"> $(function () { //對象型數(shù)據(jù) var data = []; for (var i = 0; i < 100; i++) { var m = {}; m.id = i; m.txt = "數(shù)據(jù)" + i; data.push(m); } $("#dialog").dialog(); // Link to open the dialog $("#dialog-link").click(function (event) { $("#dialog").dialog("open").dialog('center'); //重新賦值 $("#scrollbox").EasyScrollBox({ fontSize: 32, fontFamily: '', color: '#000', lineHeight: 1.5, spaceRows: 2, value: '4', data: data, textFiled: 'txt', valueFiled: 'id', onSelected: function (index, value) { $("#Text1").val(value.id); } }); event.preventDefault(); }); }); </script>
也可以這么用:
//字符串?dāng)?shù)據(jù) var data1 = []; for (var i = 0; i < 100; i++) { data1.push(i); } $("#scrollbox").EasyScrollBox({ fontSize: 32, fontFamily: '', color: '#000', lineHeight: 1.5, spaceRows: 2, value: '4', data: data1, onSelected: function (index, value) { $("#Text1").val(value); } }); $("#dialog-link1").click(function (event) { $("#dialog").dialog("open").dialog('center'); event.preventDefault(); });
如果想要一點三維效果,直接加樣式即可:
#cover_top_EasyScrollBox{ background: -ms-linear-gradient(top, #000000, #ccc); /* IE 10 */ background:-moz-linear-gradient(top,#000000,#ccc);/*火狐*/ background:-webkit-gradient(linear, 0% 0%, 0% 100%,from(#000000), to(#ccc));/*谷歌*/ background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#000000), to(#ccc)); /* Safari 4-5, Chrome 1-9*/ background: -webkit-linear-gradient(top, #000000, #ccc); /*Safari5.1 Chrome 10+*/ background: -o-linear-gradient(top, #000000, #ccc); /*Opera 11.10+*/ } #cover_bottom_EasyScrollBox{ background: -ms-linear-gradient(top, #ccc, #000000); /* IE 10 */ background:-moz-linear-gradient(top,#ccc,#0000ff);/*火狐*/ background:-webkit-gradient(linear, 0% 0%, 0% 100%,from(#ccc), to(#000000));/*谷歌*/ background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#ccc), to(#000000)); /* Safari 4-5, Chrome 1-9*/ background: -webkit-linear-gradient(top, #ccc, #000000); /*Safari5.1 Chrome 10+*/ background: -o-linear-gradient(top, #ccc, #000000); /*Opera 11.10+*/ }
以上所述是小編給大家介紹的js開發(fā)觸摸屏網(wǎng)頁版仿app彈窗型滾動列表選擇器/日期選擇器,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復(fù)大家的,在此也非常感謝大家對腳本之家網(wǎng)站的支持!
- 利用js判斷手機是否安裝某個app的多種方案
- JSP中實現(xiàn)判斷客戶端手機類型并跳轉(zhuǎn)到app下載頁面
- 用于deeplink的js方法(判斷手機是否安裝app)
- js判斷移動端是否安裝某款app的多種方法
- JS監(jiān)聽微信、支付寶等移動app及瀏覽器的返回、后退、上一頁按鈕的事件方法
- JS實現(xiàn)點擊網(wǎng)頁判斷是否安裝app并打開否則跳轉(zhuǎn)app store
- js實現(xiàn)微信/QQ直接跳轉(zhuǎn)到支付寶APP打開口令領(lǐng)紅包功能
- JS拉起或下載app的實現(xiàn)代碼
- js判斷手機是否安裝并打開app,未安裝則安裝app【兼容Android、ios,親測可用】
相關(guān)文章
JS數(shù)組方法some、every和find的使用詳情
這篇文章 要給大家介紹的是JS數(shù)組方法some、every和find的使用的一些相關(guān)資料,感興趣的小伙伴一起來學(xué)習(xí)吧2021-09-09JS觸摸屏網(wǎng)頁版仿app彈窗型滾動列表選擇器/日期選擇器
這篇文章主要介紹了觸摸屏網(wǎng)頁版仿app彈窗型滾動列表選擇器/日期選擇器的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-10-10