/* dialog */
document.querySelector('#alertBtn').addEventListener('click', function () {
_weui2.default.alert('自定义标题的alert', function () {
console.log('ok');
}, {
title: '自定义标题'
});
}); /* confirm */
document.querySelector('#confirmBtn').addEventListener('click', function () {
_weui2.default.confirm('自定义标题的confirm', function () {
console.log('yes');
}, function () {
console.log('no');
}, {
title: '自定义标题'
});
}); /* toast */
document.querySelector('#toastBtn').addEventListener('click', function () {
_weui2.default.toast('操作成功', {
duration: 3000,
className: "bears"
});
}); /* loading */
document.querySelector('#loadingBtn').addEventListener('click', function () {
var loading = _weui2.default.loading('loading');
setTimeout(function () {
loading.hide();
}, 3000);
}); /* actionSheet */
document.querySelector('#actionSheetBtn').addEventListener('click', function () {
_weui2.default.actionSheet([{
label: '拍照',
onClick: function onClick() {
console.log('拍照');
}
}, {
label: '从相册选择',
onClick: function onClick() {
console.log('从相册选择');
}
}, {
label: '其他',
onClick: function onClick() {
console.log('其他');
}
}], [{
label: '取消',
onClick: function onClick() {
console.log('取消');
}
}], {
className: "custom-classname"
});
}); /* topTips */
document.querySelector('#topTipsBtn').addEventListener('click', function () {
_weui2.default.topTips('请填写正确的字段', {
duration: 3000,
className: "custom-classname",
callback: function callback() {
console.log('close');
}
});
}); /* picker */
// 普通选择器
document.querySelector('#pickerBtn').addEventListener('click', function () {
_weui2.default.picker([{
label: '飞机票',
value: 0
}, {
label: '火车票(disabled)',
disabled: true,
value: 1
}, {
label: '的士票(disabled)',
disabled: true,
value: 2
}, {
label: '住宿费',
value: 3
}, {
label: '礼品费',
value: 11
}, {
label: '活动费',
value: 5
}, {
label: '通讯费',
value: 6
}, {
label: '补助',
value: 7
}, {
label: '通讯费',
value: 8
}, {
label: '其他',
value: 9
}], {
defaultValue: [11],
className: 'custom-classname',
onChange: function onChange(result) {
//console.log(item, index);
console.log(result);
},
onConfirm: function onConfirm(result) {
console.log(result);
},
id: 'picker'
});
}); // 时间选择器
document.querySelector('#datePickerBtn').addEventListener('click', function () {
_weui2.default.datePicker({
start: '2016-12-29',
end: '2030-12-29',
/**
* https://zh.wikipedia.org/wiki/Cron
* cron 表达式后三位
* 示例:
* * * * 每天
* 5 * * 每个月的5日
* 1-10 * * 每个月的前10日
* 1,5,10 * * 每个月的1号、5号、10号
* *\/2 * * 每个月的 1、3、5、7...日,注意写的时候斜杠“/”前面没有反斜杠“\”,这是因为是注释所以需要转义
* * 2 0 2月的每个周日
* * * 0,6 每个周末
* * * 3 每周三
*/
cron: '* */2 0',
defaultValue: [2017, 7, 9],
onChange: function onChange(result) {
console.log(result);
},
onConfirm: function onConfirm(result) {
console.log(result);
},
id: 'datePicker'
});
}); // 多列选择器
document.querySelector('#multiPickerBtn').addEventListener('click', function () {
_weui2.default.picker([{
label: '1',
value: '1'
}, {
label: '2',
value: '2'
}, {
label: '3',
value: '3'
}], [{
label: 'A',
value: 'A'
}, {
label: 'B',
value: 'B'
}, {
label: 'C',
value: 'C'
}], {
defaultValue: ['3', 'A'],
onChange: function onChange(result) {
console.log(result);
},
onConfirm: function onConfirm(result) {
console.log(result);
},
id: 'multiPickerBtn'
});
}); // 级联选择器
document.querySelector('#cascadePickerBtn').addEventListener('click', function () {
_weui2.default.picker([{
label: '广东',
value: 0,
children: [{
label: '广州',
value: 0,
children: [{
label: '海珠',
value: 0
}, {
label: '番禺',
value: 1
}]
}, {
label: '佛山',
value: 1,
children: [{
label: '禅城',
value: 0
}, {
label: '南海',
value: 1
}]
}]
}, {
label: '广西',
value: 1,
children: [{
label: '南宁',
value: 0,
children: [{
label: '青秀',
value: 0
}, {
label: '兴宁',
value: 1
}]
}, {
label: '桂林',
value: 1,
children: [{
label: '象山',
value: 0
}, {
label: '秀峰',
value: 1
}]
}]
}], {
depth: 3,
defaultValue: [0, 1, 1],
onChange: function onChange(result) {
console.log(result);
},
onConfirm: function onConfirm(result) {
console.log(result);
},
id: 'cascadePicker'
});
}); /* searchbar */
_weui2.default.searchBar('#searchBar'); /* slider 因为需要获取长度,所以必须要在slider显示的时候才调用weui.slider*/
var isSetSlider = false;
function setSlider() {
if (isSetSlider) return;
isSetSlider = true; // 普通slider
var sliderValue = document.getElementById("sliderValue");
_weui2.default.slider('#slider', {
defaultValue: 50,
onChange: function onChange(percent) {
sliderValue.innerHTML = Math.round(percent);
console.log(percent);
}
}); // 带step的slider
var sliderStepValue = document.getElementById("sliderStepValue");
_weui2.default.slider('#sliderStep', {
step: 10,
defaultValue: 40,
onChange: function onChange(percent) {
sliderStepValue.innerHTML = Math.round(percent);
console.log(percent);
}
}); // 分块的slider
var sliderBlockValue = document.getElementById("sliderBlockValue");
_weui2.default.slider('#sliderBlock', {
step: 100 / 3,
defaultValue: 33.333,
onChange: function onChange(percent) {
sliderBlockValue.innerHTML = Math.round(percent);
console.log(percent);
}
});
} /* tab */
_weui2.default.tab('#tab', {
defaultIndex: 0,
onChange: function onChange(index) {
console.log(index); if (index == 3) {
setSlider(); // 设置slider
}
}
}); /* form */
// 约定正则
var regexp = {
regexp: {
IDNUM: /(?:^\d{15}$)|(?:^\d{18}$)|^\d{17}[\dXx]$/,
VCODE: /^.{4}$/
}
}; // 失去焦点时检测
_weui2.default.form.checkIfBlur('#form', regexp); // 表单提交
document.querySelector('#formSubmitBtn').addEventListener('click', function () {
_weui2.default.form.validate('#form', function (error) {
console.log(error);
if (!error) {
var loading = _weui2.default.loading('提交中...');
setTimeout(function () {
loading.hide();
_weui2.default.toast('提交成功', 3000);
}, 1500);
}
}, regexp);
}); /* 图片自动上传 */
var uploadCount = 0,
uploadList = [];
var uploadCountDom = document.getElementById("uploadCount");
_weui2.default.uploader('#uploader', {
url: 'http://' + location.hostname + ':8002/upload',
auto: true,
type: 'file',
fileVal: 'fileVal',
compress: {
width: 1600,
height: 1600,
quality: .8
},
onBeforeQueued: function onBeforeQueued(files) {
if (["image/jpg", "image/jpeg", "image/png", "image/gif"].indexOf(this.type) < 0) {
_weui2.default.alert('请上传图片');
return false;
}
if (this.size > 10 * 1024 * 1024) {
_weui2.default.alert('请上传不超过10M的图片');
return false;
}
if (files.length > 5) {
// 防止一下子选中过多文件
_weui2.default.alert('最多只能上传5张图片,请重新选择');
return false;
}
if (uploadCount + 1 > 5) {
_weui2.default.alert('最多只能上传5张图片');
return false;
} ++uploadCount;
uploadCountDom.innerHTML = uploadCount;
},
onQueued: function onQueued() {
uploadList.push(this);
console.log(this);
},
onBeforeSend: function onBeforeSend(data, headers) {
console.log(this, data, headers);
// $.extend(data, { test: 1 }); // 可以扩展此对象来控制上传参数
// $.extend(headers, { Origin: 'http://127.0.0.1' }); // 可以扩展此对象来控制上传头部 // return false; // 阻止文件上传
},
onProgress: function onProgress(procent) {
console.log(this, procent);
},
onSuccess: function onSuccess(ret) {
console.log(this, ret);
},
onError: function onError(err) {
console.log(this, err);
}
}); // 缩略图预览
document.querySelector('#uploaderFiles').addEventListener('click', function (e) {
var target = e.target; while (!target.classList.contains('weui-uploader__file') && target) {
target = target.parentNode;
}
if (!target) return; var url = target.getAttribute('style') || '';
var id = target.getAttribute('data-id'); if (url) {
url = url.match(/url\((.*?)\)/)[1].replace(/"/g, '');
}
var gallery = _weui2.default.gallery(url, {
className: 'custom-name',
onDelete: function onDelete() {
_weui2.default.confirm('确定删除该图片?', function () {
--uploadCount;
uploadCountDom.innerHTML = uploadCount; for (var i = 0, len = uploadList.length; i < len; ++i) {
var file = uploadList[i];
if (file.id == id) {
file.stop();
break;
}
}
target.remove();
gallery.hide();
});
}
});
}); /* 图片手动上传 */
var uploadCustomFileList = []; // 这里是简单的调用,其余api请参考文档
_weui2.default.uploader('#uploaderCustom', {
url: 'http://localhost:8002/upload',
auto: false,
onQueued: function onQueued() {
uploadCustomFileList.push(this);
}
}); // 手动上传按钮
document.getElementById("uploaderCustomBtn").addEventListener('click', function () {
uploadCustomFileList.forEach(function (file) {
file.upload();
});
}); // 缩略图预览
document.querySelector('#uploaderCustomFiles').addEventListener('click', function (e) {
var target = e.target; while (!target.classList.contains('weui-uploader__file') && target) {
target = target.parentNode;
}
if (!target) return; var url = target.getAttribute('style') || '';
var id = target.getAttribute('data-id'); if (url) {
url = url.match(/url\((.*?)\)/)[1].replace(/"/g, '');
}
var gallery = _weui2.default.gallery(url, {
onDelete: function onDelete() {
_weui2.default.confirm('确定删除该图片?', function () {
var index;
for (var i = 0, len = uploadCustomFileList.length; i < len; ++i) {
var file = uploadCustomFileList[i];
if (file.id == id) {
index = i;
break;
}
}
if (index) uploadCustomFileList.splice(index, 1); target.remove();
gallery.hide();
});
}
});
});

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. 【BZOJ5211】[ZJOI2018]线图(树哈希,动态规划)

    [BZOJ5211][ZJOI2018]线图(树哈希,动态规划) 题面 BZOJ 洛谷 题解 吉老师的题目是真的神仙啊. 去年去现场这题似乎骗了\(20\)分就滚粗了? 首先\(k=2\)直接算\(k ...

  2. python 获取当前文件夹下所有文件名

    os 模块下有两个函数: os.walk() os.listdir() 1 # -*- coding: utf-8 -*- 2 3 import os 4 5 def file_name(file_d ...

  3. NOIP2008双栈排序(贪心)

    题目描述 Tom最近在研究一个有趣的排序问题.如图所示,通过2个栈S1和S2,Tom希望借助以下4种操作实现将输入序列升序排序. 操作a 如果输入序列不为空,将第一个元素压入栈S1 操作b 如果栈S1 ...

  4. A1139. First Contact

    Unlike in nowadays, the way that boys and girls expressing their feelings of love was quite subtle i ...

  5. 【Asia Yokohama Regional Contest 2018】Arithmetic Progressions

    题目大意:给定 N(1<N<=5000) 个不同元素组成的集合,求从中选出若干数字组成的等差数列最长是多少. 题解:直接暴力有 \(O(n^3)\) 的算法,即:枚举等差数列的前两个值,再 ...

  6. Nginx概述及安装配置

    1.概述 Nginx是一款开源的,高性能的Http和反向代理服务器,同时也是一个IMAP.POP3.SMTP代理服务器:Nginx可以作为一个HTTP服务器进行网站的发布处理,也可以作为反向代理进行负 ...

  7. 2050 Programming Competition (CCPC)

    Pro&Sol 链接: https://pan.baidu.com/s/17Tt3EPKEQivP2-3OHkYD2A 提取码: wbnu 复制这段内容后打开百度网盘手机App,操作更方便哦 ...

  8. MySQL信息提示不是英文问题

    安装好MySQL后,运行SQL的提示信息总不是英文mysql> select database; ERROR 1064 (42000): 安装好MySQL后,运行SQL的提示信息总不是英文 my ...

  9. Luogu P4484 [BJWC2018]最长上升子序列

    状压\(DP\)+打表,要命的题目..... 具体思路请参考这位巨佬的博客,本蒟蒻对这道题感到心力交瘁,决定不再作出补充.. 关键的要学习的是:对于排列问题,从左到右处理比较困难的话,考虑从小到大把数 ...

  10. node(基础)_node中的javascript

    一.前言                                                                                                 ...