1. /* dialog */
  2. document.querySelector('#alertBtn').addEventListener('click', function () {
  3. _weui2.default.alert('自定义标题的alert', function () {
  4. console.log('ok');
  5. }, {
  6. title: '自定义标题'
  7. });
  8. });
  9.  
  10. /* confirm */
  11. document.querySelector('#confirmBtn').addEventListener('click', function () {
  12. _weui2.default.confirm('自定义标题的confirm', function () {
  13. console.log('yes');
  14. }, function () {
  15. console.log('no');
  16. }, {
  17. title: '自定义标题'
  18. });
  19. });
  20.  
  21. /* toast */
  22. document.querySelector('#toastBtn').addEventListener('click', function () {
  23. _weui2.default.toast('操作成功', {
  24. duration: 3000,
  25. className: "bears"
  26. });
  27. });
  28.  
  29. /* loading */
  30. document.querySelector('#loadingBtn').addEventListener('click', function () {
  31. var loading = _weui2.default.loading('loading');
  32. setTimeout(function () {
  33. loading.hide();
  34. }, 3000);
  35. });
  36.  
  37. /* actionSheet */
  38. document.querySelector('#actionSheetBtn').addEventListener('click', function () {
  39. _weui2.default.actionSheet([{
  40. label: '拍照',
  41. onClick: function onClick() {
  42. console.log('拍照');
  43. }
  44. }, {
  45. label: '从相册选择',
  46. onClick: function onClick() {
  47. console.log('从相册选择');
  48. }
  49. }, {
  50. label: '其他',
  51. onClick: function onClick() {
  52. console.log('其他');
  53. }
  54. }], [{
  55. label: '取消',
  56. onClick: function onClick() {
  57. console.log('取消');
  58. }
  59. }], {
  60. className: "custom-classname"
  61. });
  62. });
  63.  
  64. /* topTips */
  65. document.querySelector('#topTipsBtn').addEventListener('click', function () {
  66. _weui2.default.topTips('请填写正确的字段', {
  67. duration: 3000,
  68. className: "custom-classname",
  69. callback: function callback() {
  70. console.log('close');
  71. }
  72. });
  73. });
  74.  
  75. /* picker */
  76. // 普通选择器
  77. document.querySelector('#pickerBtn').addEventListener('click', function () {
  78. _weui2.default.picker([{
  79. label: '飞机票',
  80. value: 0
  81. }, {
  82. label: '火车票(disabled)',
  83. disabled: true,
  84. value: 1
  85. }, {
  86. label: '的士票(disabled)',
  87. disabled: true,
  88. value: 2
  89. }, {
  90. label: '住宿费',
  91. value: 3
  92. }, {
  93. label: '礼品费',
  94. value: 11
  95. }, {
  96. label: '活动费',
  97. value: 5
  98. }, {
  99. label: '通讯费',
  100. value: 6
  101. }, {
  102. label: '补助',
  103. value: 7
  104. }, {
  105. label: '通讯费',
  106. value: 8
  107. }, {
  108. label: '其他',
  109. value: 9
  110. }], {
  111. defaultValue: [11],
  112. className: 'custom-classname',
  113. onChange: function onChange(result) {
  114. //console.log(item, index);
  115. console.log(result);
  116. },
  117. onConfirm: function onConfirm(result) {
  118. console.log(result);
  119. },
  120. id: 'picker'
  121. });
  122. });
  123.  
  124. // 时间选择器
  125. document.querySelector('#datePickerBtn').addEventListener('click', function () {
  126. _weui2.default.datePicker({
  127. start: '2016-12-29',
  128. end: '2030-12-29',
  129. /**
  130. * https://zh.wikipedia.org/wiki/Cron
  131. * cron 表达式后三位
  132. * 示例:
  133. * * * * 每天
  134. * 5 * * 每个月的5日
  135. * 1-10 * * 每个月的前10日
  136. * 1,5,10 * * 每个月的1号、5号、10号
  137. * *\/2 * * 每个月的 1、3、5、7...日,注意写的时候斜杠“/”前面没有反斜杠“\”,这是因为是注释所以需要转义
  138. * * 2 0 2月的每个周日
  139. * * * 0,6 每个周末
  140. * * * 3 每周三
  141. */
  142. cron: '* */2 0',
  143. defaultValue: [2017, 7, 9],
  144. onChange: function onChange(result) {
  145. console.log(result);
  146. },
  147. onConfirm: function onConfirm(result) {
  148. console.log(result);
  149. },
  150. id: 'datePicker'
  151. });
  152. });
  153.  
  154. // 多列选择器
  155. document.querySelector('#multiPickerBtn').addEventListener('click', function () {
  156. _weui2.default.picker([{
  157. label: '1',
  158. value: '1'
  159. }, {
  160. label: '2',
  161. value: '2'
  162. }, {
  163. label: '3',
  164. value: '3'
  165. }], [{
  166. label: 'A',
  167. value: 'A'
  168. }, {
  169. label: 'B',
  170. value: 'B'
  171. }, {
  172. label: 'C',
  173. value: 'C'
  174. }], {
  175. defaultValue: ['3', 'A'],
  176. onChange: function onChange(result) {
  177. console.log(result);
  178. },
  179. onConfirm: function onConfirm(result) {
  180. console.log(result);
  181. },
  182. id: 'multiPickerBtn'
  183. });
  184. });
  185.  
  186. // 级联选择器
  187. document.querySelector('#cascadePickerBtn').addEventListener('click', function () {
  188. _weui2.default.picker([{
  189. label: '广东',
  190. value: 0,
  191. children: [{
  192. label: '广州',
  193. value: 0,
  194. children: [{
  195. label: '海珠',
  196. value: 0
  197. }, {
  198. label: '番禺',
  199. value: 1
  200. }]
  201. }, {
  202. label: '佛山',
  203. value: 1,
  204. children: [{
  205. label: '禅城',
  206. value: 0
  207. }, {
  208. label: '南海',
  209. value: 1
  210. }]
  211. }]
  212. }, {
  213. label: '广西',
  214. value: 1,
  215. children: [{
  216. label: '南宁',
  217. value: 0,
  218. children: [{
  219. label: '青秀',
  220. value: 0
  221. }, {
  222. label: '兴宁',
  223. value: 1
  224. }]
  225. }, {
  226. label: '桂林',
  227. value: 1,
  228. children: [{
  229. label: '象山',
  230. value: 0
  231. }, {
  232. label: '秀峰',
  233. value: 1
  234. }]
  235. }]
  236. }], {
  237. depth: 3,
  238. defaultValue: [0, 1, 1],
  239. onChange: function onChange(result) {
  240. console.log(result);
  241. },
  242. onConfirm: function onConfirm(result) {
  243. console.log(result);
  244. },
  245. id: 'cascadePicker'
  246. });
  247. });
  248.  
  249. /* searchbar */
  250. _weui2.default.searchBar('#searchBar');
  251.  
  252. /* slider 因为需要获取长度,所以必须要在slider显示的时候才调用weui.slider*/
  253. var isSetSlider = false;
  254. function setSlider() {
  255. if (isSetSlider) return;
  256. isSetSlider = true;
  257.  
  258. // 普通slider
  259. var sliderValue = document.getElementById("sliderValue");
  260. _weui2.default.slider('#slider', {
  261. defaultValue: 50,
  262. onChange: function onChange(percent) {
  263. sliderValue.innerHTML = Math.round(percent);
  264. console.log(percent);
  265. }
  266. });
  267.  
  268. // 带step的slider
  269. var sliderStepValue = document.getElementById("sliderStepValue");
  270. _weui2.default.slider('#sliderStep', {
  271. step: 10,
  272. defaultValue: 40,
  273. onChange: function onChange(percent) {
  274. sliderStepValue.innerHTML = Math.round(percent);
  275. console.log(percent);
  276. }
  277. });
  278.  
  279. // 分块的slider
  280. var sliderBlockValue = document.getElementById("sliderBlockValue");
  281. _weui2.default.slider('#sliderBlock', {
  282. step: 100 / 3,
  283. defaultValue: 33.333,
  284. onChange: function onChange(percent) {
  285. sliderBlockValue.innerHTML = Math.round(percent);
  286. console.log(percent);
  287. }
  288. });
  289. }
  290.  
  291. /* tab */
  292. _weui2.default.tab('#tab', {
  293. defaultIndex: 0,
  294. onChange: function onChange(index) {
  295. console.log(index);
  296.  
  297. if (index == 3) {
  298. setSlider(); // 设置slider
  299. }
  300. }
  301. });
  302.  
  303. /* form */
  304. // 约定正则
  305. var regexp = {
  306. regexp: {
  307. IDNUM: /(?:^\d{15}$)|(?:^\d{18}$)|^\d{17}[\dXx]$/,
  308. VCODE: /^.{4}$/
  309. }
  310. };
  311.  
  312. // 失去焦点时检测
  313. _weui2.default.form.checkIfBlur('#form', regexp);
  314.  
  315. // 表单提交
  316. document.querySelector('#formSubmitBtn').addEventListener('click', function () {
  317. _weui2.default.form.validate('#form', function (error) {
  318. console.log(error);
  319. if (!error) {
  320. var loading = _weui2.default.loading('提交中...');
  321. setTimeout(function () {
  322. loading.hide();
  323. _weui2.default.toast('提交成功', 3000);
  324. }, 1500);
  325. }
  326. }, regexp);
  327. });
  328.  
  329. /* 图片自动上传 */
  330. var uploadCount = 0,
  331. uploadList = [];
  332. var uploadCountDom = document.getElementById("uploadCount");
  333. _weui2.default.uploader('#uploader', {
  334. url: 'http://' + location.hostname + ':8002/upload',
  335. auto: true,
  336. type: 'file',
  337. fileVal: 'fileVal',
  338. compress: {
  339. width: 1600,
  340. height: 1600,
  341. quality: .8
  342. },
  343. onBeforeQueued: function onBeforeQueued(files) {
  344. if (["image/jpg", "image/jpeg", "image/png", "image/gif"].indexOf(this.type) < 0) {
  345. _weui2.default.alert('请上传图片');
  346. return false;
  347. }
  348. if (this.size > 10 * 1024 * 1024) {
  349. _weui2.default.alert('请上传不超过10M的图片');
  350. return false;
  351. }
  352. if (files.length > 5) {
  353. // 防止一下子选中过多文件
  354. _weui2.default.alert('最多只能上传5张图片,请重新选择');
  355. return false;
  356. }
  357. if (uploadCount + 1 > 5) {
  358. _weui2.default.alert('最多只能上传5张图片');
  359. return false;
  360. }
  361.  
  362. ++uploadCount;
  363. uploadCountDom.innerHTML = uploadCount;
  364. },
  365. onQueued: function onQueued() {
  366. uploadList.push(this);
  367. console.log(this);
  368. },
  369. onBeforeSend: function onBeforeSend(data, headers) {
  370. console.log(this, data, headers);
  371. // $.extend(data, { test: 1 }); // 可以扩展此对象来控制上传参数
  372. // $.extend(headers, { Origin: 'http://127.0.0.1' }); // 可以扩展此对象来控制上传头部
  373.  
  374. // return false; // 阻止文件上传
  375. },
  376. onProgress: function onProgress(procent) {
  377. console.log(this, procent);
  378. },
  379. onSuccess: function onSuccess(ret) {
  380. console.log(this, ret);
  381. },
  382. onError: function onError(err) {
  383. console.log(this, err);
  384. }
  385. });
  386.  
  387. // 缩略图预览
  388. document.querySelector('#uploaderFiles').addEventListener('click', function (e) {
  389. var target = e.target;
  390.  
  391. while (!target.classList.contains('weui-uploader__file') && target) {
  392. target = target.parentNode;
  393. }
  394. if (!target) return;
  395.  
  396. var url = target.getAttribute('style') || '';
  397. var id = target.getAttribute('data-id');
  398.  
  399. if (url) {
  400. url = url.match(/url\((.*?)\)/)[1].replace(/"/g, '');
  401. }
  402. var gallery = _weui2.default.gallery(url, {
  403. className: 'custom-name',
  404. onDelete: function onDelete() {
  405. _weui2.default.confirm('确定删除该图片?', function () {
  406. --uploadCount;
  407. uploadCountDom.innerHTML = uploadCount;
  408.  
  409. for (var i = 0, len = uploadList.length; i < len; ++i) {
  410. var file = uploadList[i];
  411. if (file.id == id) {
  412. file.stop();
  413. break;
  414. }
  415. }
  416. target.remove();
  417. gallery.hide();
  418. });
  419. }
  420. });
  421. });
  422.  
  423. /* 图片手动上传 */
  424. var uploadCustomFileList = [];
  425.  
  426. // 这里是简单的调用,其余api请参考文档
  427. _weui2.default.uploader('#uploaderCustom', {
  428. url: 'http://localhost:8002/upload',
  429. auto: false,
  430. onQueued: function onQueued() {
  431. uploadCustomFileList.push(this);
  432. }
  433. });
  434.  
  435. // 手动上传按钮
  436. document.getElementById("uploaderCustomBtn").addEventListener('click', function () {
  437. uploadCustomFileList.forEach(function (file) {
  438. file.upload();
  439. });
  440. });
  441.  
  442. // 缩略图预览
  443. document.querySelector('#uploaderCustomFiles').addEventListener('click', function (e) {
  444. var target = e.target;
  445.  
  446. while (!target.classList.contains('weui-uploader__file') && target) {
  447. target = target.parentNode;
  448. }
  449. if (!target) return;
  450.  
  451. var url = target.getAttribute('style') || '';
  452. var id = target.getAttribute('data-id');
  453.  
  454. if (url) {
  455. url = url.match(/url\((.*?)\)/)[1].replace(/"/g, '');
  456. }
  457. var gallery = _weui2.default.gallery(url, {
  458. onDelete: function onDelete() {
  459. _weui2.default.confirm('确定删除该图片?', function () {
  460. var index;
  461. for (var i = 0, len = uploadCustomFileList.length; i < len; ++i) {
  462. var file = uploadCustomFileList[i];
  463. if (file.id == id) {
  464. index = i;
  465. break;
  466. }
  467. }
  468. if (index) uploadCustomFileList.splice(index, 1);
  469.  
  470. target.remove();
  471. gallery.hide();
  472. });
  473. }
  474. });
  475. });

WEUI控件JS用法的更多相关文章

  1. ASP.NET-----Repeater数据控件的用法总结(转)

    一.Repeater控件的用法流程及实例: 1.首先建立一个网站,新建一个网页index.aspx. 2.添加或者建立APP_Data数据文件,然后将用到的数据库文件放到APP_Data文件夹中. 3 ...

  2. ListView控件的用法

    listView是一个可以用来显示视图列表的控件. 它使用适配器来为之提供数据和资源. ListView使用的基本步骤 得到ListView类型的对象mListView 生成适配器对象mListVie ...

  3. WPF从我炫系列4---装饰控件的用法

    这一节的讲解中,我将为大家介绍WPF装饰控件的用法,主要为大家讲解一下几个控件的用法. ScrollViewer滚动条控件 Border边框控件 ViewBox自由缩放控件 1. ScrollView ...

  4. Java Me-List控件的用法案例

    /** * Java Me-List控件的用法案例 */package com.xushouwei.cn; import java.io.IOException;import javax.microe ...

  5. [转载]ASP.NET-----Repeater数据控件的用法总结

    一.Repeater控件的用法流程及实例: 1.首先建立一个网站,新建一个网页index.aspx. 2.添加或者建立APP_Data数据文件,然后将用到的数据库文件放到APP_Data文件夹中. 3 ...

  6. {Repeater控件} Repeater控件的用法流程及实例

    一.Repeater控件的用法流程及实例: 1.首先建立一个网站,新建一个网页index.aspx. 2.添加或者建立APP_Data数据文件,然后将用到的数据库文件放到APP_Data文件夹中. 3 ...

  7. 选择控件js插件和使用方法

    记录一下 选择控件js插件 /* * 滚动控件,包含地址选择.时间选择.自定义单选 */ //js_inputbox input 输入框 //js_pickviewselect 下拉单项选择 //js ...

  8. UI各种小控件的用法

    今天给大家列举出来UI中的一些小控件的用法.方便大的学习与使用 一些方法和属性我们能够查看API文档.不必将每一个控件的功能都记住, 由于在使用的过程中,我们能够查看API文档.方便使用,我们仅仅要记 ...

  9. WPF之Treeview控件简单用法

    TreeView:表示显示在树结构中分层数据具有项目可展开和折叠的控件 TreeView 的内容是可以包含丰富内容的 TreeViewItem 控件,如 Button 和 Image 控件.TreeV ...

随机推荐

  1. 【转】Ubuntu 64位系统安装交叉编译环境一直提醒 没有那个文件或目录

    安装交叉编译环境搞了一个晚上 一直提示 root@zqs-pc:~# arm-linux-gcc/usr/local/arm/4.3.2/bin/arm-linux-gcc: 行 3: /usr/lo ...

  2. django从零开始-模板

    1.应用中添加模板 INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contentt ...

  3. 152. Maximum Product Subarray 以及 讨论【最大连续子序列】

    题目大意: 连续最大子段积 题目思路: 最大值只能产生在一个正数x一个正数,一个负数乘一个负数,所以维护两个值,一个区间最大值,一个最小值 其他的话: 在讨论这个问题之前,我先来说一说大一刚开学就学了 ...

  4. PHP日志切割shell

    #!/bin/bash#此脚本用于自动分割php日志,error.log#每天00:01执行此脚本 将前一天的errors.log重命名为errors-xxxx-xx-xx.log格式,并重新打开日志 ...

  5. JSON字符串 与 JSON对象 互转

    一,JSON字符串与JSON对象的区别 JSON对象是符合JSON格式的对象,可以用"对象.属性"进行存取值; JSON字符串是符合JSON格式的字符串; 二,JSON字符串-&g ...

  6. TCHAR和CHAR类型的互转,string 转lpcwstr

    https://www.cnblogs.com/yuguangyuan/p/5955959.html 没有定义UNICODE,所以它里面的字符串就是简单用" "就行了,创建工程的时 ...

  7. react-native实现电影列表

    页面运行效果 代码: import React, { Component } from "react"; import { Image, FlatList, StyleSheet, ...

  8. python测试断言

    这几天看了一下python的测试,基于函数方法和基于类的测试,主要使用的模块是unittest模块,为特定的方法和类,建立测试模块,测试函数功能是否满足预期.下面是模仿书里面的一个例子. City.p ...

  9. C内存分配

    calloc和realloc与malloc的区别 calloc和realloc的原型如下: void *calloc ( size_t num_elements, size_t element_siz ...

  10. 推荐几个Mac插件帮你提升工作效率

    下面这篇文章是小编看到的很好的文章,分享给大家,小编前几天也整理了很多mac专题文章.更多专题,可关注[磨人的小妖精],查看我的文章,也可上[风云社区 SCOEE],查找和下载相关软件资源. (一)综 ...