移动端弹窗插件mobileSelect的使用,送上全国城市的json

用过很多移动端弹窗插件,但还是觉得mobileSelect好用,样式好看,过度动画也很棒,所以推荐给写移动端的小伙伴们。

点击查看jQuery插件库的演示Demo

点击查看jQuery插件库的说明和文件下载

点击查看在GitHub上的项目

使用方法

GitHub上下载项目
在这里插入图片描述

下载完解压后分别把css文件夹、js文件夹的mobileSelect.css和mobileSelect.js提取出来翻到你的项目中,我这里以test文件夹为例项目,文件就不分别放css文件夹和js文件夹里了,方便演示。

在这里插入图片描述
然后用你的编辑器打开项目,推荐使用vsCode,新建HTML文件,用vsCode的话输入!感叹号后回车键就可以快速生成HTML模板了,很方便。
在这里插入图片描述
在这里插入图片描述
头部引入mobileSelect.css和mobileSelect.js文件
在这里插入图片描述
然后就可以直接使用刚刚下载mobileSelect项目的demo.html文件里面的5种弹窗了,
在这里插入图片描述
这里我们以单项选择弹窗为例,我把单项选择弹窗要用到的代码都拷到了我新建的文件夹先,为了好看一点我加了点css样式,为了方便,css样式就不分到新的文件下了。body里面写了个按钮用于显示弹窗。接下来看js部分,代码先是实例化了一个叫MobileSelect()对象,里面的参数就是我们要操作的地方啦。

trigger:用于绑定ID的dom操作,我试了下用类名也是可以的但要把#键改成点 ‘.’
title:标题可以不写
wheels: 里面的data传的是一个数组
position: 是弹窗显示时的默认位置,比如值是2,那么默认显示的就是数组下标2的值
transitionEnd函数: 是滚动停止后选的值
callback函数: 是点击确认后返回的值

整个HMTL代码

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="mobileSelect.css">
    <script src="./mobileSelect.js"></script>
</head>
<style>
    main {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .btn {
        background-color: aqua;
        color: white;
        padding: 10px 20px;
    }
</style>

<body>
    <header></header>
    <main>
        <div id="btn" class="btn">点击显示弹窗</div>
    </main>
    <footer></footer>
</body>
<script>
    var weekdayArr = ['周日', '周一', '周二', '周三', '周四', '周五', '周六'];
    var mobileSelect1 = new MobileSelect({
        trigger: '#btn',
        title: '单项选择',
        wheels: [
            { data: weekdayArr }
        ],
        position: [2], //初始化定位 打开时默认选中的哪个 如果不填默认为0
        transitionEnd: function (indexArr, data) {
            //console.log(data);
        },
        callback: function (indexArr, data) {
            console.log(data);
        }
    });
</script>

</html>

项目效果
我已经把确定按钮改成微信绿了,需要修改的话把mobileSelect.css的.ensure参数改下就好了
在这里插入图片描述
在这里插入图片描述

全国城市的json:

如果你写过小程序你应该会知道,在处理选择省市区弹窗时用官方封装好的组件picker就可以实现了,然而在写移动端时就头疼了,网上找到的省市区选择器不美观,自己写一个不太现实,时间也不允许,所以我用mobileSelect+手写city.json来实现(并非全部手写的,在网上找了份,但发现好多城市都不齐,于是忍痛按照小程序弹窗给补上了,弄完后不得不赞叹我国之大TAT),效果看下边GIF,还不错,分享给大家。

项目效果
在这里插入图片描述

使用方法

点击CSDN下载地址

点击百度网盘下载地址 (提取码:3w65)

依旧以文章开头的项目为例,把下载好的city.json放到你的项目中
在这里插入图片描述
然后用编辑器打开city.json可以看到里面有一个对象
在这里插入图片描述
然后为了方便在HTML中引入了百度线上的jquery文件,用jquery的ajax请求本地的city.json文件,成功后赋值给插件,当然用原生JS请求也是没问题的。(注意:为了好看我把ajax请求设置为了同步请求,数据放到了外边;要用异步的话吧async改为true,把mobileSelect1对象放到success方法里就好了)
在这里插入图片描述
整个HMTL代码

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="mobileSelect.css">
    <script src="./mobileSelect.js"></script>
</head>
<style>
    main {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .btn {
        background-color: aqua;
        color: white;
        padding: 10px 20px;
    }
</style>

<body>
    <header></header>
    <main>
        <div id="btn" class="btn">点击显示弹窗</div>
    </main>
    <footer></footer>
</body>
<!-- 百度 CDN: -->
<script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
<script>
    // 获取本地城市Json
    var cityObj = new Object;
    $.ajax({
        url: "./city.json",//json文件位置,文件名
        type: "GET",//请求方式为get
        dataType: "json", //返回数据格式为json
        async: false,
        success: function (res) {
            //请求成功完成后要执行的方法 
            // console.log(res)
            cityObj = res;
        }
    })
    console.log(cityObj)
    var mobileSelect1 = new MobileSelect({
        trigger: '#btn',
        title: '',
        wheels: [
            { data: cityObj }
        ],
        position: [0,0,0], //初始化定位 打开时默认选中的位置 如果不填默认为0
        transitionEnd: function (indexArr, data) {
            console.log(data);
        },
        callback: function (indexArr, data) {
            console.log(data);
        }
    });
</script>

</html>
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值