移动端微网站---选择日期(弹出层)

引言
在做微网站的过程中,日期选择是一个很常见的需求,如果自己纯手写,那是十分麻烦的。
如果能够站在巨人的肩膀上(用前人写的插件),那就方便多了。
但是找一款适用性广,在真实的生产环境测试过的插件,也是很费时的过程。
今天就给大家介绍一款基于zepto.js的日期选择插件[zepto.mdater]。
  • 首先预览一下效果
pic1.png
好了,下面通过demo来演示插件如何使用

1.一个文本框

  • 页面结构
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta content="width=device-width, initial-scale=1.0,
 maximum-scale=1.0, user-scalable=0" name="viewport"/>
    <title>demo</title>
    <link rel="stylesheet" href="zepto-mdater.css">
</head>
<body>
    <input type="text" class="js-date" placeholder="选择日期" readonly="readonly">
    <script src="zepto.js"></script>
    <script src="zepto-mdater-input.js"></script>
    <script>
        $(function(){
            $('.js-date').mdater({
            });
        });
    </script>
</body>
</html>
  • 实现效果
pic2.png

2.两个文本框

  • 页面结构
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta content="width=device-width, initial-scale=1.0, 
maximum-scale=1.0, user-scalable=0" name="viewport"/>
    <title>demo2</title>
    <link rel="stylesheet" href="zepto-mdater.css">
</head>
<body>
    <input type="text" class="js-date-start" placeholder="选择开始日期" readonly="readonly">
    <input type="text" class="js-date-end" placeholder="选择结束日期" readonly="readonly">
    <script src="zepto.js"></script>
    <script src="zepto-mdater-input.js"></script>
    <script>
        $(function(){
            $('.js-date-start,.js-date-end').mdater({
            });
        });
    </script>
</body>
</html>
  • 页面效果


    pic3.png
讲到这里,细心的人会发现上面都是针对文本框的日期选择,我们怎么可以针对一个非input元素呢?
这里不能用原先的js文件实现,我们需要修改一下zepto.mdater的源码
别害怕,只需要改一点点
pic4.png
pic5.png

我在这里规定死了,元素必须包含class----dataText,不然不会被赋值,你可以通过多加一个参数来实现更好的扩展。

  • 下面看看页面结构
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport"/>
    <title>demo2</title>
    <link rel="stylesheet" href="zepto-mdater.css">
    <style>
        .dateText{
            display: inline-block;
            width: 250px;
            height: 25px;
            line-height: 25px;
            vertical-align: middle;
            border: 1px solid #f06;
        }
    </style>
</head>
<body>
    <p class="js-date">
        选择日期: <span class="dateText"></span>
    </p>
    <script src="zepto.js"></script>
    <script src="zepto-mdater.js"></script>
    <script>
        $(function(){
            $('.js-date').mdater({
            });
        });
    </script>
</body>
</html>
  • 实现效果
pic6.png
大家可以动手试试(PS:mdater还有一个兄弟mdatetimer,看名字大家就知道了,是精确到时间~~)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • <a name='html'>HTML</a> Doctype作用?标准模式与兼容模式各有什么区别? (1)、<...
    clark124阅读 3,608评论 1 19
  • meta基础知识 H5页面窗口自动调整到设备宽度,并禁止用户缩放页面 忽略将页面中的数字识别为电话号码 忽略And...
    Mycro阅读 958评论 0 11
  • 请参看我github中的wiki,不定期更新。https://github.com/ivonzhang/Front...
    zhangivon阅读 7,227评论 2 19
  • “刚,你看到没,我爷爷在那敲锣呢,可厉害了,我也会敲,待会敲给你听”海趴在戏台左边的石制乒乓球台上指着右边幕布里一...
    久承阅读 194评论 0 0
  • 最近的天气都很不好,突然之间的降温,突然的有些措手不及,就像我跟你的感情。 不是所有的再见都真的能再见,有时候说了...
    我是小松鼠啊阅读 721评论 0 1