如何在webapp中做出原生的ios下拉菜單效果

来源:http://www.cnblogs.com/mufc-go/archive/2016/04/29/5447100.html
-Advertisement-
Play Games

github:https://github.com/zhoushengmufc/iosselect webapp模仿ios下拉菜單 html下拉菜單select在安卓和IOS下表現不一樣,iosselect正是為統一下拉菜單樣式而生 我們以IOS下select的交互和樣式為藍本,開發了這一組件 先看 ...


github:https://github.com/zhoushengmufc/iosselect

webapp模仿ios下拉菜單

html下拉菜單select在安卓和IOS下表現不一樣,iosselect正是為統一下拉菜單樣式而生

我們以IOS下select的交互和樣式為藍本,開發了這一組件

先看效果:

特點

可以做到0依賴,只需引用一個js和css即可,樣式可自己定製,也可使用預設樣式

文件說明

src------iosselect基於iscroll5開發,在這個文件夾下可以看到iscroll.js,iosselect.js,iosselect.css,如果項目里有單獨使用iscroll5,可以使用這個版本

merge------合併了iscroll與iosselect,做到組件0依賴,方便開發

demo------使用demo,說明如下:

one------一級下拉菜單,以銀行選擇為實例

two------二級下拉菜單,相互獨立,沒有關聯,以三國殺組合選將為例

three------三級下拉菜單,省市區選擇三級聯動

rem------手機端部分解決方案會使用viewport縮放,這個時候我們需要添加一些樣式,頁面在縮放的情況下正常顯示

使用說明

###API
new IosSelect(level, data, options)
level: 選擇的層級 1 2 3 最多支持3層
data: [oneLevelArray[, twoLevelArray[, threeLevelArray]]]
options:
     callback: 選擇完畢後的回調函數 必選
     title: 選擇框title  可選,沒有此參數則不顯示title
     itemHeight: 每一項的高度,可選,預設 35px
     headerHeight: 組件標題欄高度 可選,預設 44px
     addClassName: 組件額外類名 可選,用於自定義樣式
     oneTwoRelation: 第一列和第二列是否通過parentId關聯 可選,預設不關聯
     twoThreeRelation: 第二列和第三列是否通過parentId關聯 可選,預設不關聯
     oneLevelId: 第一級選中id 可選
     twoLevelId: 第二級選中id 可選
     threeLevelId: 第三級選中id 可選
####參數說明
level: 級聯等級,支持1,2,3 必選項
data: 數組,前三項分別對應級聯1,2,3項,每一項又是一個數組,如果是一級下拉菜單,data長度為1

    每一項數組中包含一系列對象,每個對象必須要有id,作為該條數據在該項數組中的唯一標識,parentId是可選屬性,作為關聯的標誌
options.callback(selectOneObj[[, selectTwoObj], selectThreeObj]) 每個級聯選中項,包含對應數據的所有欄位及dom對象
####以地址選擇為例:
data為三個數組:
// 省份列表
var iosProvinces = [
    {'id': '130000', 'value': '河北省', 'parentId': '0'}
];

// 城市列表
var iosCitys = [
    {"id":"130100","value":"石家莊市","parentId":"130000"}
];

// 區縣列表
var iosCountys = [
    {"id":"130102","value":"長安區","parentId":"130100"}
];
實例化:
var iosSelect = new IosSelect(3, 
        [iosProvinces, iosCitys, iosCountys],
        {
            title: '地址選擇',
            itemHeight: 35,
            oneTwoRelation: 1,
            twoThreeRelation: 1,
            oneLevelId: oneLevelId,
            twoLevelId: twoLevelId,
            threeLevelId: threeLevelId,
            callback: function (selectOneObj, selectTwoObj, selectThreeObj) {
                selectOneObj = {
                    atindex:26,
                    dom:li.at,
                    id:"510000",
                    parentid:"0",
                    value:"四川省"
                }
            }
    });

demo說明

一級級聯,銀行選擇

http://zhoushengfe.com/iosselect/demo/one/bank.html

二級級聯,三國殺將領組合選

http://zhoushengfe.com/iosselect/demo/two/sanguokill.html

三級級聯,省市區選擇

http://zhoushengfe.com/iosselect/demo/three/area.html

viewport縮放時處理方案

http://zhoushengfe.com/iosselect/demo/rem/bank.html


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 學習要點: 1.顏色表方案 2.度量單位 主講教師:李炎恢 本章主要探討 HTML5 中 CSS 顏色和度量單位等問題,包括顏色的選取方式、相對長度和絕對長度等。 一.顏色表方案 顏色的表現形式主要有三種方式:顏色名稱、十六進位代碼和十進位代碼。 p { color: red; } 解釋:這是將一個 ...
  • 學習要點: 1.選擇器總匯 2.基本選擇器 3.複合選擇器 4.偽元素選擇器 主講教師:李炎恢 本章主要探討 HTML5 中 CSS 選擇器,通過選擇器定位到想要設置樣式的元素。目前 CSS 選擇器的版本已經升級至第三代,即 CSS3 選擇器。CSS3 選擇器提供了更多、更豐富的選擇器方式,主要分為 ...
  • Atitit.隔行換色 變色 css3 結構性偽類選擇器 1.1. css3隔行換色擴展閱讀 1 1.2. 結構偽選擇器 1 1.3. jQuery 選擇器2 1.1. css3隔行換色擴展閱讀 原理就是利用結構偽類選擇器 .list_div tr:nth-of-type(odd){backgrou ...
  • Atitit.jpg png格式差別以及解決jpg圖片不顯示的問題 圖片在pc上可以顯示,在Android上不能,img以及背景都不能顯示。。 Psd文件不能保存為png格式,只能jpg 原來是jpg文件是cmyk格式的。To rbg then nonk 作者:: ★(attilax)>>> 綽號: ...
  • 效果體驗:http://hovertree.com/texiao/jqimg/1/效果圖:代碼如下: 源碼下載:http://hovertree.com/h/bjaf/ljn1fwka.htm 轉自:http://hovertree.com/h/bjaf/flurt6nt.htm 特效庫:http: ...
  • ...
  • Bootstrap輸入框組 主要記住一個原則 創建輸入框的步驟 把首碼或尾碼元素放在一個帶有 class .input-group 的 <div> 中。 接著,在相同的 <div> 內,在 class 為 .input-group-addon 的 <span> 內放置額外的內容。 把該 <span> ...
  • 一、最終效果 需求:gift圖片的小動畫每隔2s執行一次。 需求就一句話,我們看一下實現過程。 二、實現過程 1、網頁結構 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> < ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...