├── .cherub.js
├── README.md
├── README.zh_CN.md
├── node_modules
├── preloader.js
│ ├── .editorconfig
│ ├── .npmignore
│ ├── LICENSE
│ ├── README.md
│ ├── README_CN.md
│ ├── package.json
│ └── src
│ │ └── preloader.js
└── zepto
│ ├── MIT-LICENSE
│ ├── README.md
│ ├── dist
│ ├── zepto.js
│ └── zepto.min.js
│ ├── package.json
│ └── src
│ ├── ajax.js
│ ├── assets.js
│ ├── callbacks.js
│ ├── data.js
│ ├── deferred.js
│ ├── detect.js
│ ├── event.js
│ ├── form.js
│ ├── fx.js
│ ├── fx_methods.js
│ ├── gesture.js
│ ├── ie.js
│ ├── ios3.js
│ ├── selector.js
│ ├── stack.js
│ ├── touch.js
│ └── zepto.js
├── package-lock.json
├── package.json
└── src
├── css
├── base.css
├── icons.scss
├── loading.scss
├── main.scss
├── main.style.0df89d64.css
└── myanimate.scss
├── img
├── icon
│ ├── audio_off.png
│ ├── audio_on.png
│ ├── card1_001.png
│ ├── card1_002.png
│ ├── card1_003.png
│ ├── card1_004.png
│ ├── card1_005.png
│ ├── card1_006.png
│ ├── card1_007.png
│ ├── card1_008.png
│ ├── card1_009.png
│ ├── card1_010.png
│ ├── card1_011.png
│ ├── card1_012.png
│ ├── card1_013.png
│ ├── card1_014.png
│ ├── card1_015.png
│ ├── card1_016.png
│ ├── card2_001.png
│ ├── card2_002.png
│ ├── card2_003.png
│ ├── card2_004.png
│ ├── card2_005.png
│ ├── card2_006.png
│ ├── card2_007.png
│ ├── card2_007_2.png
│ ├── card2_008.png
│ ├── card2_009.png
│ └── card2_010.png
├── icon2
│ ├── card2_011.png
│ ├── card2_012.png
│ ├── card2_013.png
│ ├── card2_014.png
│ ├── card4_001.png
│ ├── card4_002.png
│ ├── card4_003.png
│ ├── card4_004.png
│ ├── card4_005.png
│ ├── card4_006.png
│ ├── card4_007.png
│ ├── card4_008.png
│ ├── card5_001.png
│ ├── card5_002.png
│ ├── card5_003.png
│ ├── card5_004.png
│ ├── card5_005.png
│ ├── card5_006.png
│ ├── card5_007.png
│ ├── card6_001.png
│ ├── card6_002.png
│ ├── card6_003.png
│ ├── card6_004.png
│ ├── card6_005.png
│ ├── icon_music.png
│ ├── share.png
│ └── thanks.png
├── sprite.icon.png
├── sprite.icon2.png
└── unsprite
│ ├── bg.jpg
│ ├── bg2.jpg
│ ├── border1.png
│ ├── border2.png
│ ├── border3.png
│ ├── loading.png
│ ├── map.jpg
│ ├── map2.jpg
│ ├── map2.png
│ ├── pic1.png
│ ├── pic10.jpg
│ ├── pic2.png
│ ├── pic5.jpg
│ ├── pic6.jpg
│ ├── pic7.jpg
│ ├── pic8.jpg
│ ├── pic9.jpg
│ └── share.jpg
├── index.html
├── js
├── lib
│ ├── iriswipe.js
│ ├── preloader.js
│ ├── share.js
│ ├── slider.js
│ └── zepto-touch.js
├── main.js
└── page.js
└── plugin
└── bg.mp3
/.cherub.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | "devServer": {
3 | "port": 8088
4 | },
5 | "designWidth": 750,
6 | "responsive": "vm",
7 | "entry": "src/js/main.js",
8 | "output": {
9 | "path": "dist",
10 | "publicPath": "./",
11 | "filename": "js/bundle.js"
12 | },
13 | "outputCSS": "css/app.css",
14 | "outputCSSPublicPath": "../",
15 | "template": "base"
16 | }
17 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | a html5 marry card , need install [cherub](https://github.com/l-zhi/cherub) before.
2 |
3 | [demo](https://l-zhi.com/dist2/index.html)
4 |
5 | Translations: [简体中文](https://github.com/l-zhi/marrycard/blob/master/README.zh_CN.md)
6 |
7 | ## install
8 |
9 | ```bash
10 |
11 | sudo npm install -g cherub
12 |
13 | # clone this repository
14 |
15 | clone https://github.com/l-zhi/marrycard.git
16 |
17 | cd marrycard
18 |
19 | npm install
20 |
21 | # run
22 | cherub start
23 |
24 | # build
25 | cherub build
26 | ```
27 |
--------------------------------------------------------------------------------
/README.zh_CN.md:
--------------------------------------------------------------------------------
1 | 基于cherub做的一个贺卡模板, 需要先安装[cherub](https://github.com/l-zhi/cherub)
2 |
3 | [体验地址](https://l-zhi.com/dist2/index.html)
4 |
5 | ## 安装
6 |
7 | ```bash
8 |
9 | # mac/linux
10 | SASS_BINARY_SITE=https://npm.taobao.org/mirrors/node-sass/ sudo npm install -g cherub --registry=https://registry.npm.taobao.org
11 |
12 | # windows
13 | sudo npm install -g cherub --registry=https://registry.npm.taobao.org --SASS_BINARY_SITE=https://npm.taobao.org/mirrors/node-sass/
14 |
15 | # 安装ELF之后,clone 项目,安装依赖
16 |
17 | clone https://github.com/l-zhi/marrycard.git
18 |
19 | cd marrycard
20 |
21 | npm install # 或者使用 yarn install
22 |
23 | # 开发模式
24 | cherub start
25 |
26 | # 构建
27 | cherub build
28 | ```
29 |
30 | ## 其他
31 |
32 | 1. 开发脚手架依赖于cherub
33 | 2. 后端数据存储用的是[leancloud](https://leancloud.cn/),可配置自己的数据存储地址 main.js 92行
34 |
--------------------------------------------------------------------------------
/node_modules/preloader.js/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | indent_style = space
5 | indent_size = 4
6 | end_of_line = lf
7 | charset = utf-8
8 | trim_trailing_whitespace = true
9 | insert_final_newline = true
10 |
11 | [*.md]
12 | trim_trailing_whitespace = false
13 |
14 | [{.travis.yml,package.json}]
15 | # The indent size used in the `package.json` file cannot be changed
16 | # https://github.com/npm/npm/pull/3180#issuecomment-16336516
17 | indent_size = 2
18 | indent_style = space
19 |
--------------------------------------------------------------------------------
/node_modules/preloader.js/.npmignore:
--------------------------------------------------------------------------------
1 | *.seed
2 | *.log
3 | *.csv
4 | *.dat
5 | *.out
6 | *.pid
7 | *.gz
8 | *.swp
9 | .DS_Store
10 | .tern-port
11 | .vscode
12 |
13 | npm-debug.log
14 | node_modules
15 |
16 | coverage.html
17 | coverage
18 | lib-cov
19 |
--------------------------------------------------------------------------------
/node_modules/preloader.js/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2016 Liucw
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy of
6 | this software and associated documentation files (the "Software"), to deal in
7 | the Software without restriction, including without limitation the rights to
8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9 | the Software, and to permit persons to whom the Software is furnished to do so,
10 | subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21 |
--------------------------------------------------------------------------------
/node_modules/preloader.js/README.md:
--------------------------------------------------------------------------------
1 | # preloader.js [![NPM version][npm-version-image]][npm-version-url]
2 |
3 | [中文说明](https://github.com/o2team/elf-preloader.js/blob/master/README_CN.md)
4 |
5 | A simple Javascript library for preload image and audio. The main feature:
6 | - set concurrency
7 | - set minimum loading time per resouce, for simulate slow load
8 |
9 |
10 | ## Install
11 | ```
12 | npm install --save preloader.js
13 | ```
14 |
15 | ## Usage
16 |
17 | Import
18 | ```
19 | var Preloader = require('preloader.js')
20 | ```
21 |
22 | Execute
23 | ```javascript
24 | var preloader = new Preloader({
25 | resources: ['assert/images/logo.png', 'assert/audios/bg.mp3'],
26 | concurrency: 4
27 | })
28 | preloader.addProgressListener(function (loaded, length) {
29 | console.log('loading ', loaded, length, loaded / length)
30 | })
31 | preloader.addCompletionListener(function () {
32 | console.log('load completed')
33 | })
34 | preloader.start()
35 | ```
36 |
37 | PS: If no use module bundler (e.g.: webpack、browserify), you can direct reference
38 | ```
39 |
40 | ```
41 |
42 | ## Introduce
43 |
44 | ### configuration
45 |
46 | - **resources** `Array`
47 |
48 | Default: `[]`.
49 |
50 | Preload resouce list. The files of postfix belong to `['mp3', 'ogg', 'wav']` to according audio handle.
51 |
52 | PS:Resources in addition to here configuration, including configured `attr` value DOM node.
53 |
54 | - **concurrency** `Number`
55 |
56 | Default: `0`.
57 |
58 | Concurrent number. 0 is no concurrency limit.
59 |
60 | - **perMinTime** `Number`
61 |
62 | Default: `0`. Unit: `ms`
63 |
64 | Minimum loading time per resouce. Usually used to simulate load slow.
65 |
66 | - **attr** `String`
67 |
68 | Default: `preload`.
69 |
70 | DOM node attribute of preload. Example: ` `, the `'img/logo.png'` will been added in `resources`.
71 |
72 | - **onProgress** `Function`
73 |
74 | Default: `null`.
75 |
76 | Every resouce load is completed the callback function. The effect same to `addProgressListener`.
77 |
78 | - **onCompletion** `Function`
79 |
80 | Default: `null`.
81 |
82 | All resouces load is completed the callback function. The effect same to `addCompletionListener`.
83 |
84 |
85 | ### instance method
86 |
87 | #### addProgressListener(Function)
88 | Set every resouce load is completed the callback function
89 |
90 | #### addCompletionListener(Function)
91 | Set all resouces load is completed the callback function
92 |
93 | #### get(String)
94 | Get instances of completed
95 |
96 | #### start()
97 | Begin load. All ready after invoke.
98 |
99 |
100 | ## License
101 |
102 | MIT
103 |
104 | [npm-version-image]: https://img.shields.io/npm/v/preloader.js.svg?style=flat-square
105 | [npm-version-url]: https://www.npmjs.com/package/preloader.js
106 |
--------------------------------------------------------------------------------
/node_modules/preloader.js/README_CN.md:
--------------------------------------------------------------------------------
1 | # preloader.js [![NPM version][npm-version-image]][npm-version-url]
2 |
3 | [English Readme](https://github.com/o2team/elf-preloader.js/blob/master/README.md)
4 |
5 | 一个简单的 Javascript 库,用于预加载`图片`和`音频`。主要功能:
6 | - 设置并发数
7 | - 设置资源最小加载时间,模拟慢加载
8 |
9 |
10 | ## 安装
11 | ```
12 | npm install --save preloader.js
13 | ```
14 |
15 | ## 使用
16 |
17 | 引入
18 | ```
19 | var Preloader = require('preloader.js')
20 | ```
21 |
22 | 执行
23 | ```javascript
24 | var preloader = new Preloader({
25 | resources: ['assert/images/logo.png', 'assert/audios/bg.mp3'],
26 | concurrency: 4
27 | })
28 | preloader.addProgressListener(function (loaded, length) {
29 | console.log('loading ', loaded, length, loaded / length)
30 | })
31 | preloader.addCompletionListener(function () {
32 | console.log('load completed')
33 | })
34 | preloader.start()
35 | ```
36 |
37 | PS: 如果没有使用打包工具(例如:webpack、browserify),则直接引入
38 | ```
39 |
40 | ```
41 |
42 | ## 说明
43 |
44 | ### 配置项
45 | - **resources** `Array`
46 |
47 | 默认: `[]`.
48 |
49 | 预加载的资源列表。这些后缀 `['mp3', 'ogg', 'wav']` 的文件按 `audio` 处理,其他的按 `image` 处理。
50 |
51 | PS:资源除了这里配置的外,还有包括配置了 `attr` 值的 DOM 标签。
52 |
53 | - **concurrency** `Number`
54 |
55 | 默认: `0`.
56 |
57 | 并发数。0 表示无限制。
58 |
59 | - **perMinTime** `Number`
60 |
61 | 默认: `0`. 单位: `ms`
62 |
63 | 单个资源的最小加载时间。一般用来模拟慢加载。
64 |
65 | - **attr** `String`
66 |
67 | 默认: `preload`.
68 |
69 | DOM 标签预加载的属性。例如:` `,则 `'img/logo.png'` 也会加入到 `resources` 里。
70 |
71 | - **onProgress** `Function`
72 |
73 | 默认: `null`.
74 |
75 | 单个资源加载完成时的回调函数。与实例方法 `addProgressListener` 等效。
76 |
77 | - **onCompletion** `Function`
78 |
79 | 默认: `null`.
80 |
81 | 所有加载都完成时的回调函数。与实例方法 `addCompletionListener` 等效。
82 |
83 |
84 | ### 实例方法
85 |
86 | #### addProgressListener(Function)
87 | 设置单个资源加载完成时的回调函数
88 |
89 | #### addCompletionListener(Function)
90 | 设置所有加载都完成时的回调函数
91 |
92 | #### get(String)
93 | 获取资源加载完成后的实例
94 |
95 | #### start()
96 | 开始加载。
97 |
98 |
99 | ## 许可
100 |
101 | MIT
102 |
103 | [npm-version-image]: https://img.shields.io/npm/v/preloader.js.svg?style=flat-square
104 | [npm-version-url]: https://www.npmjs.com/package/preloader.js
105 |
--------------------------------------------------------------------------------
/node_modules/preloader.js/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "_from": "preloader.js@1.0.0",
3 | "_id": "preloader.js@1.0.0",
4 | "_inBundle": false,
5 | "_integrity": "sha1-4c07zY7hGUkCqR9kvf32SQ5NkFk=",
6 | "_location": "/preloader.js",
7 | "_phantomChildren": {},
8 | "_requested": {
9 | "type": "version",
10 | "registry": true,
11 | "raw": "preloader.js@1.0.0",
12 | "name": "preloader.js",
13 | "escapedName": "preloader.js",
14 | "rawSpec": "1.0.0",
15 | "saveSpec": null,
16 | "fetchSpec": "1.0.0"
17 | },
18 | "_requiredBy": [
19 | "/"
20 | ],
21 | "_resolved": "https://registry.npmjs.org/preloader.js/-/preloader.js-1.0.0.tgz",
22 | "_shasum": "e1cd3bcd8ee1194902a91f64bdfdf6490e4d9059",
23 | "_spec": "preloader.js@1.0.0",
24 | "_where": "/Users/lizhifan/workspace/Me/marrycard",
25 | "author": {
26 | "name": "Liucw"
27 | },
28 | "bugs": {
29 | "url": "https://github.com/o2team/elf-preloader.js/issues"
30 | },
31 | "bundleDependencies": false,
32 | "deprecated": false,
33 | "description": "A js library for preload image and audio",
34 | "homepage": "https://github.com/o2team/elf-preloader.js#readme",
35 | "keywords": [
36 | "preloader",
37 | "loader",
38 | "image",
39 | "audio"
40 | ],
41 | "license": "MIT",
42 | "main": "src/preloader.js",
43 | "name": "preloader.js",
44 | "repository": {
45 | "type": "git",
46 | "url": "git+https://github.com/o2team/elf-preloader.js.git"
47 | },
48 | "scripts": {},
49 | "version": "1.0.0"
50 | }
51 |
--------------------------------------------------------------------------------
/node_modules/preloader.js/src/preloader.js:
--------------------------------------------------------------------------------
1 | (function (root, factory) {
2 | if (typeof define === 'function' && define.amd) {
3 | // AMD
4 | define([], factory)
5 | } else if (typeof module === 'object' && module.exports) {
6 | // CMD
7 | module.exports = factory()
8 | } else {
9 | // Browser globals (root is window)
10 | root.Orientation = factory()
11 | }
12 | }(this, function () {
13 | // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign
14 | var assign = Object.assign || function (target) {
15 | 'use strict'
16 |
17 | if (target === undefined || target === null) {
18 | throw new TypeError('Cannot convert undefined or null to object')
19 | }
20 |
21 | var output = Object(target)
22 | for (var index = 1; index < arguments.length; index++) {
23 | var source = arguments[index]
24 | if (source !== undefined && source !== null) {
25 | for (var nextKey in source) {
26 | if (Object.prototype.hasOwnProperty.call(source, nextKey)) {
27 | output[nextKey] = source[nextKey]
28 | }
29 | }
30 | }
31 | }
32 | return output
33 | }
34 |
35 |
36 | var Preloader = function (options) {
37 | this.opts = assign({
38 | resources: [],
39 | concurrency: 0,
40 | perMinTime: 0,
41 | attr: 'preload',
42 | onProgress: null,
43 | onCompletion: null
44 | }, options)
45 |
46 | var preloads = document.querySelectorAll('[' + this.opts.attr + ']')
47 | for (var i = 0; i < preloads.length; i++) {
48 | var preload = preloads[i]
49 | if (preload.src) this.opts.resources.push(preload.src)
50 | }
51 |
52 | this.length = this.opts.resources.length
53 | this.completedCount = 0
54 | this.loadingIndex = 0
55 | this.resourceMap = {}
56 |
57 | this.done = function (resource, instance) {
58 | this.completedCount += 1
59 | this.resourceMap[resource] = instance
60 |
61 | this.onProgress && this.onProgress(this.completedCount, this.length, resource)
62 | if (this.completedCount >= this.length) {
63 | this.onCompletion && this.onCompletion(this.length)
64 | } else if (this.opts.concurrency > 0) {
65 | this.loader()
66 | }
67 | }
68 |
69 | this.loader = function () {
70 | if (this.loadingIndex >= this.length) return
71 | var resource = this.opts.resources[this.loadingIndex]
72 | this.loadingIndex++
73 |
74 | if (~['mp3', 'ogg', 'wav'].indexOf(getType(resource))) {
75 | this.audioLoader(resource)
76 | } else {
77 | this.imageLoader(resource)
78 | }
79 | }
80 |
81 | this.imageLoader = function (resource) {
82 | var self = this
83 |
84 | var image = new Image()
85 | var startTime = new Date()
86 | image.onload = image.onerror = function () {
87 | var duration = new Date() - startTime
88 | var diff = self.opts.perMinTime - duration
89 |
90 | diff > 0 ? setTimeout(function () {
91 | self.done(resource, image)
92 | }, diff) : self.done(resource, image)
93 | }
94 | image.src = resource
95 | }
96 | this.audioLoader = function (resource) {
97 | var self = this
98 | var audio = new Audio()
99 | var startTime = new Date()
100 | var handler = function () {
101 | var duration = new Date() - startTime
102 | var diff = self.opts.perMinTime - duration
103 |
104 | diff > 0 ? setTimeout(function () {
105 | self.done(resource, audio)
106 | }, diff) : self.done(resource, audio)
107 | }
108 | audio.addEventListener('canplaythrough', handler)
109 | audio.addEventListener('error', handler)
110 | audio.preload = 'auto'
111 | audio.src = resource
112 | audio.load()
113 | }
114 | }
115 |
116 | /**
117 | * add progress event callback
118 | */
119 | Preloader.prototype.addProgressListener = function (fn) {
120 | this.onProgress = fn
121 | }
122 |
123 | /**
124 | * add completed event callback
125 | */
126 | Preloader.prototype.addCompletionListener = function (fn) {
127 | this.onCompletion = fn
128 | }
129 |
130 | /**
131 | * get resource instance
132 | */
133 | Preloader.prototype.get = function (resource) {
134 | return this.resourceMap[resource]
135 | }
136 |
137 | /**
138 | * load begin
139 | */
140 | Preloader.prototype.start = function () {
141 | if (!this.length) return this.done(null, null)
142 |
143 | if (this.opts.concurrency === 0) {
144 | while (this.loadingIndex < this.length) {
145 | this.loader()
146 | }
147 | } else {
148 | for (var i = 0; i < this.opts.concurrency; i++) {
149 | this.loader()
150 | }
151 | }
152 | }
153 |
154 | function getType (resource) {
155 | var parser = document.createElement('a')
156 | parser.href = resource
157 | return parser.pathname.split('.').pop().toLowerCase()
158 | }
159 |
160 | return Preloader
161 | }))
162 |
--------------------------------------------------------------------------------
/node_modules/zepto/MIT-LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2010-2016 Thomas Fuchs
2 | http://zeptojs.com/
3 |
4 | Permission is hereby granted, free of charge, to any person obtaining
5 | a copy of this software and associated documentation files (the
6 | "Software"), to deal in the Software without restriction, including
7 | without limitation the rights to use, copy, modify, merge, publish,
8 | distribute, sublicense, and/or sell copies of the Software, and to
9 | permit persons to whom the Software is furnished to do so, subject to
10 | the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be
13 | included in all copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 |
--------------------------------------------------------------------------------
/node_modules/zepto/README.md:
--------------------------------------------------------------------------------
1 | # Zepto.js – a minimalist JavaScript library
2 |
3 | Zepto is a minimalist JavaScript library for modern browsers with a
4 | largely jQuery-compatible API. If you use jQuery, you already know how to use Zepto.
5 |
6 | See [zeptojs.com][] for an extended introduction, downloads
7 | and documentation.
8 |
9 | Zepto.js is licensed under the terms of the MIT License.
10 |
11 | Want to give us money or a tip? Don't.
12 | Instead please donate to [charity: water](http://charitywater.org/).
13 |
14 | ## Building
15 |
16 | [](http://travis-ci.org/madrobby/zepto)
17 |
18 | The official site offers a download of the default distribution of Zepto. This
19 | is good for starting out. However, at some point you might want to add some
20 | optional modules and remove some of the default ones you don't need, to keep the
21 | size at a minimum. That's when you need to check out Zepto's source code and use
22 | the build commands. Alternatively you can use the web based [Zepto Builder](http://github.e-sites.nl/zeptobuilder/).
23 |
24 | You will need Node.js installed on your system.
25 |
26 | ~~~ sh
27 | $ npm install
28 | $ npm run-script dist
29 |
30 | # do a custom build
31 | $ MODULES="zepto event data" npm run-script dist
32 |
33 | # on Windows
34 | c:\zepto> SET MODULES=zepto event data
35 | c:\zepto> npm run-script dist
36 | ~~~
37 |
38 | The resulting files are:
39 |
40 | 1. `dist/zepto.js`
41 | 2. `dist/zepto.min.js`
42 |
43 | If you install CoffeeScript globally, you can run `make` directly:
44 |
45 | ~~~ sh
46 | # one-time operation
47 | $ npm install coffee-script --global
48 |
49 | $ coffee make dist
50 | $ MODULES="zepto event data ..." ./make dist
51 |
52 | # on Windows
53 | c:\zepto> SET MODULES=zepto event data
54 | c:\zepto> coffee make dist
55 | ~~~
56 |
57 | ## Zepto modules
58 |
59 | Zepto modules are individual files in the "src/" directory.
60 |
61 |
62 |
63 | module default description
64 |
65 |
66 |
67 | zepto
68 | ✔
69 | Core module; contains most methods
70 |
71 |
72 | event
73 | ✔
74 | Event handling via on()
& off()
75 |
76 |
77 | ajax
78 | ✔
79 | XMLHttpRequest and JSONP functionality
80 |
81 |
82 | form
83 | ✔
84 | Serialize & submit web forms
85 |
86 |
87 | ie
88 | ✔
89 | Support for Internet Explorer 10+ on the desktop and Windows Phone 8
90 |
91 |
92 | detect
93 |
94 | Provides $.os
and $.browser
information
95 |
96 |
97 | fx
98 |
99 | The animate()
method
100 |
101 |
102 | fx_methods
103 |
104 |
105 | Animated show
, hide
, toggle
,
106 | and fade*()
methods.
107 |
108 |
109 |
110 | assets
111 |
112 |
113 | Experimental support for cleaning up iOS memory after removing
114 | image elements from the DOM.
115 |
116 |
117 |
118 | data
119 |
120 |
121 | A full-blown data()
method, capable of storing arbitrary
122 | objects in memory.
123 |
124 |
125 |
126 | deferred
127 |
128 |
129 | Provides $.Deferred
promises API.
130 | Depends on the "callbacks" module.
131 |
132 |
133 |
134 | callbacks
135 |
136 |
137 | Provides $.Callbacks
for use in "deferred" module.
138 |
139 |
140 |
141 | selector
142 |
143 |
144 | Experimental jQuery
145 | CSS extensions support for functionality such as $('div:first')
and
146 | el.is(':visible')
.
147 |
148 |
149 |
150 | touch
151 |
152 |
153 | Fires tap– and swipe–related events on touch devices. This works with both
154 | `touch` (iOS, Android) and `pointer` events (Windows Phone).
155 |
156 |
157 |
158 | gesture
159 |
160 | Fires pinch gesture events on touch devices
161 |
162 |
163 | stack
164 |
165 | Provides andSelf
& end()
chaining methods
166 |
167 |
168 | ios3
169 |
170 |
171 | String.prototype.trim and Array.prototype.reduce methods
172 | (if they are missing) for compatibility with iOS 3.x.
173 |
174 |
175 |
176 |
177 |
178 | ## Contributing
179 |
180 | Please read our [contribution guidelines](https://github.com/madrobby/zepto/blob/master/CONTRIBUTING.md)
181 | for information on how to contribute.
182 |
183 | Get in touch:
184 |
185 | * @[zeptojs](http://twitter.com/zeptojs)
186 |
187 | ### Write documentation
188 |
189 | Zepto docs are written in Markdown and live in the ["gh-pages" branch][docs].
190 | They are published on [zeptojs.com][].
191 |
192 | You can use GitHub's web interface to make quick changes to documentation for
193 | specific Zepto features
194 | ([example: ajaxSettings](https://github.com/madrobby/zepto/blob/gh-pages/ajax/_posts/1900-01-01-Z-ajaxSettings.md)).
195 | This will submit a pull request to us that we can review.
196 |
197 | ### Report a bug
198 |
199 | 1. Check if the bug is already fixed in the master branch since the last release.
200 | 2. Check [existing issues][issues]. Open a new one, including exact browser &
201 | platform information. For better formatting of your report, see
202 | [GitHub-flavored Markdown][mkd].
203 |
204 | ### Running tests
205 |
206 | You will need to install [PhantomJS][]. On OS X, that's easy:
207 |
208 | ~~~ sh
209 | $ brew install phantomjs
210 | ~~~
211 |
212 | To run the automated tests:
213 |
214 | ~~~ sh
215 | $ npm test
216 | ~~~
217 |
218 | To run a test server, which you can hit with your browsers and devices:
219 |
220 | ~~~ sh
221 | $ npm start
222 | ~~~
223 |
224 | Go to `http://your-ip-address:3000/` on your browser and follow the
225 | instructions. For your convenience test failures and exceptions will be
226 | reported to the the console you started the test server in (as well as
227 | the browser console if available).
228 |
229 | [zeptojs.com]: http://zeptojs.com
230 | [issues]: https://github.com/madrobby/zepto/issues
231 | [docs]: https://github.com/madrobby/zepto/tree/gh-pages#readme
232 | [mkd]: https://help.github.com/articles/creating-and-highlighting-code-blocks/
233 | [evidence.js]: https://github.com/tobie/Evidence
234 | [phantomjs]: http://phantomjs.org/download.html
235 |
--------------------------------------------------------------------------------
/node_modules/zepto/dist/zepto.min.js:
--------------------------------------------------------------------------------
1 | /* Zepto v1.2.0 - zepto event ajax form ie - zeptojs.com/license */
2 | !function(t,e){"function"==typeof define&&define.amd?define(function(){return e(t)}):e(t)}(this,function(t){var e=function(){function $(t){return null==t?String(t):S[C.call(t)]||"object"}function F(t){return"function"==$(t)}function k(t){return null!=t&&t==t.window}function M(t){return null!=t&&t.nodeType==t.DOCUMENT_NODE}function R(t){return"object"==$(t)}function Z(t){return R(t)&&!k(t)&&Object.getPrototypeOf(t)==Object.prototype}function z(t){var e=!!t&&"length"in t&&t.length,n=r.type(t);return"function"!=n&&!k(t)&&("array"==n||0===e||"number"==typeof e&&e>0&&e-1 in t)}function q(t){return a.call(t,function(t){return null!=t})}function H(t){return t.length>0?r.fn.concat.apply([],t):t}function I(t){return t.replace(/::/g,"/").replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/_/g,"-").toLowerCase()}function V(t){return t in l?l[t]:l[t]=new RegExp("(^|\\s)"+t+"(\\s|$)")}function _(t,e){return"number"!=typeof e||h[I(t)]?e:e+"px"}function B(t){var e,n;return c[t]||(e=f.createElement(t),f.body.appendChild(e),n=getComputedStyle(e,"").getPropertyValue("display"),e.parentNode.removeChild(e),"none"==n&&(n="block"),c[t]=n),c[t]}function U(t){return"children"in t?u.call(t.children):r.map(t.childNodes,function(t){return 1==t.nodeType?t:void 0})}function X(t,e){var n,r=t?t.length:0;for(n=0;r>n;n++)this[n]=t[n];this.length=r,this.selector=e||""}function J(t,r,i){for(n in r)i&&(Z(r[n])||L(r[n]))?(Z(r[n])&&!Z(t[n])&&(t[n]={}),L(r[n])&&!L(t[n])&&(t[n]=[]),J(t[n],r[n],i)):r[n]!==e&&(t[n]=r[n])}function W(t,e){return null==e?r(t):r(t).filter(e)}function Y(t,e,n,r){return F(e)?e.call(t,n,r):e}function G(t,e,n){null==n?t.removeAttribute(e):t.setAttribute(e,n)}function K(t,n){var r=t.className||"",i=r&&r.baseVal!==e;return n===e?i?r.baseVal:r:void(i?r.baseVal=n:t.className=n)}function Q(t){try{return t?"true"==t||("false"==t?!1:"null"==t?null:+t+""==t?+t:/^[\[\{]/.test(t)?r.parseJSON(t):t):t}catch(e){return t}}function tt(t,e){e(t);for(var n=0,r=t.childNodes.length;r>n;n++)tt(t.childNodes[n],e)}var e,n,r,i,O,P,o=[],s=o.concat,a=o.filter,u=o.slice,f=t.document,c={},l={},h={"column-count":1,columns:1,"font-weight":1,"line-height":1,opacity:1,"z-index":1,zoom:1},p=/^\s*<(\w+|!)[^>]*>/,d=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,m=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,g=/^(?:body|html)$/i,v=/([A-Z])/g,y=["val","css","html","text","data","width","height","offset"],x=["after","prepend","before","append"],b=f.createElement("table"),E=f.createElement("tr"),j={tr:f.createElement("tbody"),tbody:b,thead:b,tfoot:b,td:E,th:E,"*":f.createElement("div")},w=/complete|loaded|interactive/,T=/^[\w-]*$/,S={},C=S.toString,N={},A=f.createElement("div"),D={tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},L=Array.isArray||function(t){return t instanceof Array};return N.matches=function(t,e){if(!e||!t||1!==t.nodeType)return!1;var n=t.matches||t.webkitMatchesSelector||t.mozMatchesSelector||t.oMatchesSelector||t.matchesSelector;if(n)return n.call(t,e);var r,i=t.parentNode,o=!i;return o&&(i=A).appendChild(t),r=~N.qsa(i,e).indexOf(t),o&&A.removeChild(t),r},O=function(t){return t.replace(/-+(.)?/g,function(t,e){return e?e.toUpperCase():""})},P=function(t){return a.call(t,function(e,n){return t.indexOf(e)==n})},N.fragment=function(t,n,i){var o,s,a;return d.test(t)&&(o=r(f.createElement(RegExp.$1))),o||(t.replace&&(t=t.replace(m,"<$1>$2>")),n===e&&(n=p.test(t)&&RegExp.$1),n in j||(n="*"),a=j[n],a.innerHTML=""+t,o=r.each(u.call(a.childNodes),function(){a.removeChild(this)})),Z(i)&&(s=r(o),r.each(i,function(t,e){y.indexOf(t)>-1?s[t](e):s.attr(t,e)})),o},N.Z=function(t,e){return new X(t,e)},N.isZ=function(t){return t instanceof N.Z},N.init=function(t,n){var i;if(!t)return N.Z();if("string"==typeof t)if(t=t.trim(),"<"==t[0]&&p.test(t))i=N.fragment(t,RegExp.$1,n),t=null;else{if(n!==e)return r(n).find(t);i=N.qsa(f,t)}else{if(F(t))return r(f).ready(t);if(N.isZ(t))return t;if(L(t))i=q(t);else if(R(t))i=[t],t=null;else if(p.test(t))i=N.fragment(t.trim(),RegExp.$1,n),t=null;else{if(n!==e)return r(n).find(t);i=N.qsa(f,t)}}return N.Z(i,t)},r=function(t,e){return N.init(t,e)},r.extend=function(t){var e,n=u.call(arguments,1);return"boolean"==typeof t&&(e=t,t=n.shift()),n.forEach(function(n){J(t,n,e)}),t},N.qsa=function(t,e){var n,r="#"==e[0],i=!r&&"."==e[0],o=r||i?e.slice(1):e,s=T.test(o);return t.getElementById&&s&&r?(n=t.getElementById(o))?[n]:[]:1!==t.nodeType&&9!==t.nodeType&&11!==t.nodeType?[]:u.call(s&&!r&&t.getElementsByClassName?i?t.getElementsByClassName(o):t.getElementsByTagName(e):t.querySelectorAll(e))},r.contains=f.documentElement.contains?function(t,e){return t!==e&&t.contains(e)}:function(t,e){for(;e&&(e=e.parentNode);)if(e===t)return!0;return!1},r.type=$,r.isFunction=F,r.isWindow=k,r.isArray=L,r.isPlainObject=Z,r.isEmptyObject=function(t){var e;for(e in t)return!1;return!0},r.isNumeric=function(t){var e=Number(t),n=typeof t;return null!=t&&"boolean"!=n&&("string"!=n||t.length)&&!isNaN(e)&&isFinite(e)||!1},r.inArray=function(t,e,n){return o.indexOf.call(e,t,n)},r.camelCase=O,r.trim=function(t){return null==t?"":String.prototype.trim.call(t)},r.uuid=0,r.support={},r.expr={},r.noop=function(){},r.map=function(t,e){var n,i,o,r=[];if(z(t))for(i=0;i=0?t:t+this.length]},toArray:function(){return this.get()},size:function(){return this.length},remove:function(){return this.each(function(){null!=this.parentNode&&this.parentNode.removeChild(this)})},each:function(t){return o.every.call(this,function(e,n){return t.call(e,n,e)!==!1}),this},filter:function(t){return F(t)?this.not(this.not(t)):r(a.call(this,function(e){return N.matches(e,t)}))},add:function(t,e){return r(P(this.concat(r(t,e))))},is:function(t){return this.length>0&&N.matches(this[0],t)},not:function(t){var n=[];if(F(t)&&t.call!==e)this.each(function(e){t.call(this,e)||n.push(this)});else{var i="string"==typeof t?this.filter(t):z(t)&&F(t.item)?u.call(t):r(t);this.forEach(function(t){i.indexOf(t)<0&&n.push(t)})}return r(n)},has:function(t){return this.filter(function(){return R(t)?r.contains(this,t):r(this).find(t).size()})},eq:function(t){return-1===t?this.slice(t):this.slice(t,+t+1)},first:function(){var t=this[0];return t&&!R(t)?t:r(t)},last:function(){var t=this[this.length-1];return t&&!R(t)?t:r(t)},find:function(t){var e,n=this;return e=t?"object"==typeof t?r(t).filter(function(){var t=this;return o.some.call(n,function(e){return r.contains(e,t)})}):1==this.length?r(N.qsa(this[0],t)):this.map(function(){return N.qsa(this,t)}):r()},closest:function(t,e){var n=[],i="object"==typeof t&&r(t);return this.each(function(r,o){for(;o&&!(i?i.indexOf(o)>=0:N.matches(o,t));)o=o!==e&&!M(o)&&o.parentNode;o&&n.indexOf(o)<0&&n.push(o)}),r(n)},parents:function(t){for(var e=[],n=this;n.length>0;)n=r.map(n,function(t){return(t=t.parentNode)&&!M(t)&&e.indexOf(t)<0?(e.push(t),t):void 0});return W(e,t)},parent:function(t){return W(P(this.pluck("parentNode")),t)},children:function(t){return W(this.map(function(){return U(this)}),t)},contents:function(){return this.map(function(){return this.contentDocument||u.call(this.childNodes)})},siblings:function(t){return W(this.map(function(t,e){return a.call(U(e.parentNode),function(t){return t!==e})}),t)},empty:function(){return this.each(function(){this.innerHTML=""})},pluck:function(t){return r.map(this,function(e){return e[t]})},show:function(){return this.each(function(){"none"==this.style.display&&(this.style.display=""),"none"==getComputedStyle(this,"").getPropertyValue("display")&&(this.style.display=B(this.nodeName))})},replaceWith:function(t){return this.before(t).remove()},wrap:function(t){var e=F(t);if(this[0]&&!e)var n=r(t).get(0),i=n.parentNode||this.length>1;return this.each(function(o){r(this).wrapAll(e?t.call(this,o):i?n.cloneNode(!0):n)})},wrapAll:function(t){if(this[0]){r(this[0]).before(t=r(t));for(var e;(e=t.children()).length;)t=e.first();r(t).append(this)}return this},wrapInner:function(t){var e=F(t);return this.each(function(n){var i=r(this),o=i.contents(),s=e?t.call(this,n):t;o.length?o.wrapAll(s):i.append(s)})},unwrap:function(){return this.parent().each(function(){r(this).replaceWith(r(this).children())}),this},clone:function(){return this.map(function(){return this.cloneNode(!0)})},hide:function(){return this.css("display","none")},toggle:function(t){return this.each(function(){var n=r(this);(t===e?"none"==n.css("display"):t)?n.show():n.hide()})},prev:function(t){return r(this.pluck("previousElementSibling")).filter(t||"*")},next:function(t){return r(this.pluck("nextElementSibling")).filter(t||"*")},html:function(t){return 0 in arguments?this.each(function(e){var n=this.innerHTML;r(this).empty().append(Y(this,t,e,n))}):0 in this?this[0].innerHTML:null},text:function(t){return 0 in arguments?this.each(function(e){var n=Y(this,t,e,this.textContent);this.textContent=null==n?"":""+n}):0 in this?this.pluck("textContent").join(""):null},attr:function(t,r){var i;return"string"!=typeof t||1 in arguments?this.each(function(e){if(1===this.nodeType)if(R(t))for(n in t)G(this,n,t[n]);else G(this,t,Y(this,r,e,this.getAttribute(t)))}):0 in this&&1==this[0].nodeType&&null!=(i=this[0].getAttribute(t))?i:e},removeAttr:function(t){return this.each(function(){1===this.nodeType&&t.split(" ").forEach(function(t){G(this,t)},this)})},prop:function(t,e){return t=D[t]||t,1 in arguments?this.each(function(n){this[t]=Y(this,e,n,this[t])}):this[0]&&this[0][t]},removeProp:function(t){return t=D[t]||t,this.each(function(){delete this[t]})},data:function(t,n){var r="data-"+t.replace(v,"-$1").toLowerCase(),i=1 in arguments?this.attr(r,n):this.attr(r);return null!==i?Q(i):e},val:function(t){return 0 in arguments?(null==t&&(t=""),this.each(function(e){this.value=Y(this,t,e,this.value)})):this[0]&&(this[0].multiple?r(this[0]).find("option").filter(function(){return this.selected}).pluck("value"):this[0].value)},offset:function(e){if(e)return this.each(function(t){var n=r(this),i=Y(this,e,t,n.offset()),o=n.offsetParent().offset(),s={top:i.top-o.top,left:i.left-o.left};"static"==n.css("position")&&(s.position="relative"),n.css(s)});if(!this.length)return null;if(f.documentElement!==this[0]&&!r.contains(f.documentElement,this[0]))return{top:0,left:0};var n=this[0].getBoundingClientRect();return{left:n.left+t.pageXOffset,top:n.top+t.pageYOffset,width:Math.round(n.width),height:Math.round(n.height)}},css:function(t,e){if(arguments.length<2){var i=this[0];if("string"==typeof t){if(!i)return;return i.style[O(t)]||getComputedStyle(i,"").getPropertyValue(t)}if(L(t)){if(!i)return;var o={},s=getComputedStyle(i,"");return r.each(t,function(t,e){o[e]=i.style[O(e)]||s.getPropertyValue(e)}),o}}var a="";if("string"==$(t))e||0===e?a=I(t)+":"+_(t,e):this.each(function(){this.style.removeProperty(I(t))});else for(n in t)t[n]||0===t[n]?a+=I(n)+":"+_(n,t[n])+";":this.each(function(){this.style.removeProperty(I(n))});return this.each(function(){this.style.cssText+=";"+a})},index:function(t){return t?this.indexOf(r(t)[0]):this.parent().children().indexOf(this[0])},hasClass:function(t){return t?o.some.call(this,function(t){return this.test(K(t))},V(t)):!1},addClass:function(t){return t?this.each(function(e){if("className"in this){i=[];var n=K(this),o=Y(this,t,e,n);o.split(/\s+/g).forEach(function(t){r(this).hasClass(t)||i.push(t)},this),i.length&&K(this,n+(n?" ":"")+i.join(" "))}}):this},removeClass:function(t){return this.each(function(n){if("className"in this){if(t===e)return K(this,"");i=K(this),Y(this,t,n,i).split(/\s+/g).forEach(function(t){i=i.replace(V(t)," ")}),K(this,i.trim())}})},toggleClass:function(t,n){return t?this.each(function(i){var o=r(this),s=Y(this,t,i,K(this));s.split(/\s+/g).forEach(function(t){(n===e?!o.hasClass(t):n)?o.addClass(t):o.removeClass(t)})}):this},scrollTop:function(t){if(this.length){var n="scrollTop"in this[0];return t===e?n?this[0].scrollTop:this[0].pageYOffset:this.each(n?function(){this.scrollTop=t}:function(){this.scrollTo(this.scrollX,t)})}},scrollLeft:function(t){if(this.length){var n="scrollLeft"in this[0];return t===e?n?this[0].scrollLeft:this[0].pageXOffset:this.each(n?function(){this.scrollLeft=t}:function(){this.scrollTo(t,this.scrollY)})}},position:function(){if(this.length){var t=this[0],e=this.offsetParent(),n=this.offset(),i=g.test(e[0].nodeName)?{top:0,left:0}:e.offset();return n.top-=parseFloat(r(t).css("margin-top"))||0,n.left-=parseFloat(r(t).css("margin-left"))||0,i.top+=parseFloat(r(e[0]).css("border-top-width"))||0,i.left+=parseFloat(r(e[0]).css("border-left-width"))||0,{top:n.top-i.top,left:n.left-i.left}}},offsetParent:function(){return this.map(function(){for(var t=this.offsetParent||f.body;t&&!g.test(t.nodeName)&&"static"==r(t).css("position");)t=t.offsetParent;return t})}},r.fn.detach=r.fn.remove,["width","height"].forEach(function(t){var n=t.replace(/./,function(t){return t[0].toUpperCase()});r.fn[t]=function(i){var o,s=this[0];return i===e?k(s)?s["inner"+n]:M(s)?s.documentElement["scroll"+n]:(o=this.offset())&&o[t]:this.each(function(e){s=r(this),s.css(t,Y(this,i,e,s[t]()))})}}),x.forEach(function(n,i){var o=i%2;r.fn[n]=function(){var n,a,s=r.map(arguments,function(t){var i=[];return n=$(t),"array"==n?(t.forEach(function(t){return t.nodeType!==e?i.push(t):r.zepto.isZ(t)?i=i.concat(t.get()):void(i=i.concat(N.fragment(t)))}),i):"object"==n||null==t?t:N.fragment(t)}),u=this.length>1;return s.length<1?this:this.each(function(e,n){a=o?n:n.parentNode,n=0==i?n.nextSibling:1==i?n.firstChild:2==i?n:null;var c=r.contains(f.documentElement,a);s.forEach(function(e){if(u)e=e.cloneNode(!0);else if(!a)return r(e).remove();a.insertBefore(e,n),c&&tt(e,function(e){if(!(null==e.nodeName||"SCRIPT"!==e.nodeName.toUpperCase()||e.type&&"text/javascript"!==e.type||e.src)){var n=e.ownerDocument?e.ownerDocument.defaultView:t;n.eval.call(n,e.innerHTML)}})})})},r.fn[o?n+"To":"insert"+(i?"Before":"After")]=function(t){return r(t)[n](this),this}}),N.Z.prototype=X.prototype=r.fn,N.uniq=P,N.deserializeValue=Q,r.zepto=N,r}();return t.Zepto=e,void 0===t.$&&(t.$=e),function(e){function h(t){return t._zid||(t._zid=n++)}function p(t,e,n,r){if(e=d(e),e.ns)var i=m(e.ns);return(a[h(t)]||[]).filter(function(t){return t&&(!e.e||t.e==e.e)&&(!e.ns||i.test(t.ns))&&(!n||h(t.fn)===h(n))&&(!r||t.sel==r)})}function d(t){var e=(""+t).split(".");return{e:e[0],ns:e.slice(1).sort().join(" ")}}function m(t){return new RegExp("(?:^| )"+t.replace(" "," .* ?")+"(?: |$)")}function g(t,e){return t.del&&!f&&t.e in c||!!e}function v(t){return l[t]||f&&c[t]||t}function y(t,n,i,o,s,u,f){var c=h(t),p=a[c]||(a[c]=[]);n.split(/\s/).forEach(function(n){if("ready"==n)return e(document).ready(i);var a=d(n);a.fn=i,a.sel=s,a.e in l&&(i=function(t){var n=t.relatedTarget;return!n||n!==this&&!e.contains(this,n)?a.fn.apply(this,arguments):void 0}),a.del=u;var c=u||i;a.proxy=function(e){if(e=T(e),!e.isImmediatePropagationStopped()){e.data=o;var n=c.apply(t,e._args==r?[e]:[e].concat(e._args));return n===!1&&(e.preventDefault(),e.stopPropagation()),n}},a.i=p.length,p.push(a),"addEventListener"in t&&t.addEventListener(v(a.e),a.proxy,g(a,f))})}function x(t,e,n,r,i){var o=h(t);(e||"").split(/\s/).forEach(function(e){p(t,e,n,r).forEach(function(e){delete a[o][e.i],"removeEventListener"in t&&t.removeEventListener(v(e.e),e.proxy,g(e,i))})})}function T(t,n){return(n||!t.isDefaultPrevented)&&(n||(n=t),e.each(w,function(e,r){var i=n[e];t[e]=function(){return this[r]=b,i&&i.apply(n,arguments)},t[r]=E}),t.timeStamp||(t.timeStamp=Date.now()),(n.defaultPrevented!==r?n.defaultPrevented:"returnValue"in n?n.returnValue===!1:n.getPreventDefault&&n.getPreventDefault())&&(t.isDefaultPrevented=b)),t}function S(t){var e,n={originalEvent:t};for(e in t)j.test(e)||t[e]===r||(n[e]=t[e]);return T(n,t)}var r,n=1,i=Array.prototype.slice,o=e.isFunction,s=function(t){return"string"==typeof t},a={},u={},f="onfocusin"in t,c={focus:"focusin",blur:"focusout"},l={mouseenter:"mouseover",mouseleave:"mouseout"};u.click=u.mousedown=u.mouseup=u.mousemove="MouseEvents",e.event={add:y,remove:x},e.proxy=function(t,n){var r=2 in arguments&&i.call(arguments,2);if(o(t)){var a=function(){return t.apply(n,r?r.concat(i.call(arguments)):arguments)};return a._zid=h(t),a}if(s(n))return r?(r.unshift(t[n],t),e.proxy.apply(null,r)):e.proxy(t[n],t);throw new TypeError("expected function")},e.fn.bind=function(t,e,n){return this.on(t,e,n)},e.fn.unbind=function(t,e){return this.off(t,e)},e.fn.one=function(t,e,n,r){return this.on(t,e,n,r,1)};var b=function(){return!0},E=function(){return!1},j=/^([A-Z]|returnValue$|layer[XY]$|webkitMovement[XY]$)/,w={preventDefault:"isDefaultPrevented",stopImmediatePropagation:"isImmediatePropagationStopped",stopPropagation:"isPropagationStopped"};e.fn.delegate=function(t,e,n){return this.on(e,t,n)},e.fn.undelegate=function(t,e,n){return this.off(e,t,n)},e.fn.live=function(t,n){return e(document.body).delegate(this.selector,t,n),this},e.fn.die=function(t,n){return e(document.body).undelegate(this.selector,t,n),this},e.fn.on=function(t,n,a,u,f){var c,l,h=this;return t&&!s(t)?(e.each(t,function(t,e){h.on(t,n,a,e,f)}),h):(s(n)||o(u)||u===!1||(u=a,a=n,n=r),(u===r||a===!1)&&(u=a,a=r),u===!1&&(u=E),h.each(function(r,o){f&&(c=function(t){return x(o,t.type,u),u.apply(this,arguments)}),n&&(l=function(t){var r,s=e(t.target).closest(n,o).get(0);return s&&s!==o?(r=e.extend(S(t),{currentTarget:s,liveFired:o}),(c||u).apply(s,[r].concat(i.call(arguments,1)))):void 0}),y(o,t,u,a,n,l||c)}))},e.fn.off=function(t,n,i){var a=this;return t&&!s(t)?(e.each(t,function(t,e){a.off(t,n,e)}),a):(s(n)||o(i)||i===!1||(i=n,n=r),i===!1&&(i=E),a.each(function(){x(this,t,i,n)}))},e.fn.trigger=function(t,n){return t=s(t)||e.isPlainObject(t)?e.Event(t):T(t),t._args=n,this.each(function(){t.type in c&&"function"==typeof this[t.type]?this[t.type]():"dispatchEvent"in this?this.dispatchEvent(t):e(this).triggerHandler(t,n)})},e.fn.triggerHandler=function(t,n){var r,i;return this.each(function(o,a){r=S(s(t)?e.Event(t):t),r._args=n,r.target=a,e.each(p(a,t.type||t),function(t,e){return i=e.proxy(r),r.isImmediatePropagationStopped()?!1:void 0})}),i},"focusin focusout focus blur load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select keydown keypress keyup error".split(" ").forEach(function(t){e.fn[t]=function(e){return 0 in arguments?this.bind(t,e):this.trigger(t)}}),e.Event=function(t,e){s(t)||(e=t,t=e.type);var n=document.createEvent(u[t]||"Events"),r=!0;if(e)for(var i in e)"bubbles"==i?r=!!e[i]:n[i]=e[i];return n.initEvent(t,r,!0),T(n)}}(e),function(e){function p(t,n,r){var i=e.Event(n);return e(t).trigger(i,r),!i.isDefaultPrevented()}function d(t,e,n,i){return t.global?p(e||r,n,i):void 0}function m(t){t.global&&0===e.active++&&d(t,null,"ajaxStart")}function g(t){t.global&&!--e.active&&d(t,null,"ajaxStop")}function v(t,e){var n=e.context;return e.beforeSend.call(n,t,e)===!1||d(e,n,"ajaxBeforeSend",[t,e])===!1?!1:void d(e,n,"ajaxSend",[t,e])}function y(t,e,n,r){var i=n.context,o="success";n.success.call(i,t,o,e),r&&r.resolveWith(i,[t,o,e]),d(n,i,"ajaxSuccess",[e,n,t]),b(o,e,n)}function x(t,e,n,r,i){var o=r.context;r.error.call(o,n,e,t),i&&i.rejectWith(o,[n,e,t]),d(r,o,"ajaxError",[n,r,t||e]),b(e,n,r)}function b(t,e,n){var r=n.context;n.complete.call(r,e,t),d(n,r,"ajaxComplete",[e,n]),g(n)}function E(t,e,n){if(n.dataFilter==j)return t;var r=n.context;return n.dataFilter.call(r,t,e)}function j(){}function w(t){return t&&(t=t.split(";",2)[0]),t&&(t==c?"html":t==f?"json":a.test(t)?"script":u.test(t)&&"xml")||"text"}function T(t,e){return""==e?t:(t+"&"+e).replace(/[&?]{1,2}/,"?")}function S(t){t.processData&&t.data&&"string"!=e.type(t.data)&&(t.data=e.param(t.data,t.traditional)),!t.data||t.type&&"GET"!=t.type.toUpperCase()&&"jsonp"!=t.dataType||(t.url=T(t.url,t.data),t.data=void 0)}function C(t,n,r,i){return e.isFunction(n)&&(i=r,r=n,n=void 0),e.isFunction(r)||(i=r,r=void 0),{url:t,data:n,success:r,dataType:i}}function O(t,n,r,i){var o,s=e.isArray(n),a=e.isPlainObject(n);e.each(n,function(n,u){o=e.type(u),i&&(n=r?i:i+"["+(a||"object"==o||"array"==o?n:"")+"]"),!i&&s?t.add(u.name,u.value):"array"==o||!r&&"object"==o?O(t,u,r,n):t.add(n,u)})}var i,o,n=+new Date,r=t.document,s=/
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
loading
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
lizhi
58 |
zero 琴
59 |
五月六日
60 |
星期六 上午 11:00
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
范 立 之
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
zero 琴
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
121 |
122 |
123 |
124 |
125 |
126 |
127 |
128 |
129 |
130 |
131 |
132 |
133 |
134 |
135 |
136 |
137 |
138 |
139 |
140 |
141 |
142 |
143 |
144 |
145 |
146 |
147 |
148 |
149 |
150 |
lizhi
151 |
wuqin
152 |
153 |
154 |
155 |
156 |
157 |
十堰三堰九头鸟云鹤酒店
158 |
159 |
160 |
2017 05.01
161 |
162 |
不见 不散
163 |
164 |
165 |
166 |
167 |
168 |
169 |
170 |
171 |
172 |
173 |
174 |
175 |
176 |
177 |
178 |
179 |
180 | 提交
181 |
182 |
183 |
184 |
185 |
186 |
187 |
188 |