- 博客(34)
- 收藏
- 关注
原创 列表设计--自定义字段
B端产品往往涉及多个相关方,随着业务发展页面列表中加入的字段会越来越多,这时“自定义列表”成为了必不可少的一个选择。但“自定义列表”到底是怎么实现的呢?本文主要从实现方式的角度,讲解三个方案区别,帮助大家在产品设计时选用最适合自身业务的方案。
2022-10-11 16:42:57
2327
原创 报表设计--如何让查询更优雅
B端系统产品,在业务流程线上化后,数据的存储都保存在数据库中,报表成为了必不可少的模块。但是当业务发展后,越来越多字段冗余到报表中,怎么样的表单设计才能既能满足业务需求,又能最大化地减少查询压力,提高速度呢?
2022-10-11 16:38:09
1069
原创 B端产品--用户体验实战
谈到B端产品很多人都会说到业务流程,但用户体验基本很少被提到。事实上toB产品也需要重视用户体验,因为这直接影响到了B端人员的工作效率,让工作事半功倍。那么,如何提升这类产品的用户体验呢?本文就此谈谈如何从交互层面提升B端产品的用户体验。
2022-10-11 16:30:41
1664
转载 解决Vue History模式IIS上刷新404
背景简介vue使用vue-router时,默认的地址并不美观,以#进行分割,例如:http://www.xxx.com/#/main。为了访问地址能像正常的url一样,例如:http://www.xxx.com/user/id。按照官网介绍,使用 history 模式。但是却产生了问题。问题因为我们的应用是单页客户端应用,当用户在浏览器直接访问http://www.xxx...
2019-04-19 18:39:07
2434
1
转载 JS函数柯里化
原文链接:https://www.jianshu.com/p/f02148c64bed?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation首先看看柯里化到底是什么?维基百科上说道:柯里化,英语:Currying(果然是满满的英译中的既视感),是...
2019-04-11 10:27:13
263
原创 elementUI 时间控件数据不更新问题
需要添加属性value-format="yyyy-MM-dd"获取时间数据后处理(保存格式为时间戳):res.response.activityBeginTime = new Date(res.response.activityBeginTime).toLocaleDateString().replace(/\//g, "-");res.response.activity...
2019-04-03 16:46:50
3979
原创 native.js上传图片至服务器
大概流程逻辑为:1.拍照或者相册选择图片后,返回图片路径2.利用该路径addFile,传到写好的后台接口3.后台获取文件进行操作4.前端请求上传后的地址路径注意:mui里,图片不能省略http协议。前端上传图片://上传图片至服务器function upload(filePath){ var task = plus.uploader.createUploa...
2019-02-28 11:22:33
687
原创 native.js调用Android拍照并保存至相册
保存至相册:plus.gallery.save( path, successCB, errorCB );参数:path : ( String ) 必选 要保存到系统相册中的文件文件地址succesCB: ( GallerySuccessCallback ) 必选 保存文件到系统相册中成功的回调函数errorCB: ( GalleryErrorCallback ) 可选 保存文...
2019-02-28 11:07:40
1183
1
原创 面试题踩坑1
本人的面试踩坑,持续更新......1.构造函数里定义变量,外部不能访问2.hasOwnProperty()只能检测自身属性,继承的属性跟方法并不能检测。 function Fun(a,b){ this.a = a; this.b = b; var c = 3; //这里定义变量无效 } Fun.prototype.sum = function(){retu...
2019-02-26 11:18:04
210
原创 解决mui.openWindow第二次不刷新
plusReady仅会在每次重新创建webview时触发。若之前关闭了A页面,再次调用mui.openWindow,发现系统中没有A页面,则会新建webview,则此时就会重新触发plusReady; 若未关闭A页面,再次调用mui.openWindow,发现系统中存在A页面,就会直接show出来,不会触发plusReady。 此时,只需要传递createNew:true参数即可解决:...
2019-02-18 18:11:05
2353
原创 mui 传参跳转及获取
跳转:mui.openWindow({ url: './edit_item.html', id:'info', styles: { // 窗口参数 参考5+规范中的WebviewStyle,也就是说WebviewStyle下的参数都可以在此设置 titleNView: { // 窗口的标题栏控件 titleText: "大众点评", // 标题栏文...
2019-02-14 16:10:26
961
原创 mui ajax中post请求后台无法数据
原因:php里面的$_post[]的取值方法只能接收Content-Type: application/x-www-form-urlencoded提交的数据因此解决方法是:1.发送数据dataType改成text2.headers更改为:{'Content-Type':'application/x-www-form-urlencoded'}, 贴一段能获取数据的代码:m...
2019-02-14 13:31:53
2169
原创 mui ajax跨域问题
只需要在后端请求头设置:header("Access-Control-Allow-Origin: *");header("Access-Control-Allow-Methods: GET, POST");header("Access-Control-Allow-Headers: Origin, No-Cache, X-Requested-With, If-Modified-Sinc...
2019-02-13 17:52:40
1286
原创 记各常见手机屏幕尺寸
大部分安卓5.5寸机型: 360 X 656安卓全面屏 : 360 X 770普通iphone : 375 X 667iphone Plus : 414 x 736iphoneX : 375 X 812 微信头部栏高: 88px因此一屏显示时大部分长屏手机的媒体查询:@media screen and (min-height: 670px) {}...
2018-12-20 11:06:50
13814
原创 vue优化之骨架屏
骨架屏可以理解为是当数据还未加载进来前,页面的一个空白版本,一个简单的关键渲染路径。可以看一下下面Facebook的骨架屏实现,可以看到在页面完全渲染完成之前,用户会看到一个样式简单,描绘了当前页面的大致框架的骨架屏页面,然后骨架屏中各个占位部分被实际资源完全替换,这个过程中用户会觉得内容正在逐渐加载即将呈现,降低了用户的焦躁情绪,使得加载过程主观上变得流畅。此处的骨架屏就是用了一张base6...
2018-11-27 15:43:04
2361
原创 JQ常用的元素选择
1.找到当前元素的子级元素$(this).find("p");2.找到当前元素的下一个同辈元素$(this).next("p");3.找到当前元素的上一个同辈元素$(this).prev("p");4.选择下标为几的具体元素$("li").eq(0)5.选择当前元素的父元素$(this).parent("p");6.jQuery对象转成DOM对象: va
2018-01-23 11:33:41
431
原创 JQuery常用函数
公司项目中用到JQ的机会比较多,在这里总结一下比较常用到的JQ函数,方便日后的使用。1.返回顶部按钮$('.top').click(function (e) {e.preventDefault();$('html, body').animate({scrollTop: 0}, 800);});2.预加载图像$.preloadImages = function () {f
2018-01-23 11:31:43
389
原创 JS统计字数
统计字数的函数在日常项目中运用得非常的多,这里分享一下我统计字数的函数。如果有更好的方法,望各位大神指教~function wordCount(data){ var pattern = /[a-zA-Z0-9_\u0392-\u03c9]+|[\u4E00-\u9FFF\u3400-\u4dbf\uf900-\ufaff\u3040-\u309f\uac00-\ud7af]+/g
2018-01-23 11:20:25
4366
3
原创 分页插件jqPaginator
官网:http://jqpaginator.keenwon.com/之前的分页功能一直都是自己写,一天偶然看到网友分享的jqPaginator。看了一下确实非常轻便,就写了一个小demo,在这里分享出来,跟各位一起学习具体步骤:1.引入JQ跟 jqpaginator.js2.html中添加容器3.初始化分页:$.jqPaginator('#idnam
2018-01-23 11:14:49
1617
2
原创 模板引擎artTemplate
artTemplate是一个非常轻量级的模板引擎,用起来也非常简单。数据绑定大致跟vue相似,不过文件大小远比vue小得多,因此很适合在中小型项目中使用步骤:1.html中定义一个id为wraper的容器2.//模板引擎html结构{{title}}3. var html = template("content",data); //data为数据
2018-01-23 11:07:11
313
原创 翻页插件turn.js
老实说翻页turn.js里面的坑非常多,记得那时候项目中踩了几天都踩不完。个人建议谨慎使用下面就介绍一下最简单的入门吧~1.引入文件部分(注意必须要引入jQ,turn.js文件可以上网找,modernizr也是turn.js的一部分):2.注意:必须设置背景颜色或者背景图片,否则透明会看到其他的pagehtml部分: 1 1
2018-01-23 10:53:46
7769
原创 es6的Promise异步函数
简介:在Promise之前,在js中的异步编程都是采用回调函数和事件的方式,但是这种编程方式在处理复杂业务的情况下,很容易出现callback hell(回调地狱),使得代码很难被理解和维护。Promise就是改善这种情形的异步编程的解决方案,它由社区最早提出和实现,es6将其写进了语言标准,统一了用法,并且提供了一个原生的对象Promise。下面是最简单的用法:v
2018-01-23 10:44:40
212
原创 Babel将ES6转化成ES5
之前刚接触babel时踩了不少坑,所以想写一下最简单的入门,以免大家再踩不必要的坑。(在项目中发现转码后移动端async异步函数报错,请教一下各位大神。)具体步骤:1.进入ES6的项目,执行npm init // 初始化package.json2. 在与package.json同一目录下编写配置文件 .babelrc(就新建一个自定义文件){ "prese
2018-01-23 10:39:53
2580
原创 监听css3动画结束
js有一个'animationend'的事件,负责监听css3动画执行后情况,这相当于css3动画的回调函数下面是一个简单的例子:$(".router-left").on("animationend",function(){ $(this).removeClass("animat"); });
2018-01-23 10:30:43
1184
原创 JS获取用户地理位置
获取用户地理位置关键api:navigator.geolocation.getCurrentPosition(showPosition,showError,option)其中三个参数分别表示:showPosition : 必选,执行成功的回调showError : 可选,执行错误的回调option: 可选,设置数据获取的方式showPosition属性coord
2018-01-22 20:49:35
8541
1
原创 JS原生滑动手势判断
虽然滑动手势的插件有很多,zepto是其中最方便的一个。闲来无事,就写了一下原生滑动手势的,发现某些情况下也是挺好用的。// 开始按下手机的起点坐标 var startPoint = null; document.addEventListener("touchstart",function(e){ var e = e||window.event; sta
2018-01-22 20:45:53
5158
1
原创 打印对象
打印对象到页面中的函数:function writeObj(obj){ var description = ""; for(var i in obj){ var property=obj[i]; description += i+" = "+property+"\n"; } $(".test").text
2018-01-22 20:42:46
179
原创 css文本超出部分隐藏
关键代码: text-overflow: ellipsis;但是必须配合overflow: hidden;和white-space: nowrap;一起使用单行文本:p { width: 100px; overflow: hidden; white-space: nowrap; //取消自动换行 text-overflow: e
2018-01-22 20:24:39
527
原创 css卡牌翻转效果
卡牌翻转的步骤:1.最外层wrap设置视图距离perspective:800px;相对定位position: relative2.父级#box设置转换为3d效果transform-style:preserve-3d;3.旋转元素设置:背景不透视 backface-visibility: hidden;rotateY为04.另一个旋转元素:rotateY为180deg代
2018-01-22 20:20:37
1494
原创 监测页面是否切换到后台
做一个视频网站的时候遇到了一个需求,要求当用户切换到其他操作的时候,暂停播放。因为我在网上参考了一下其他大神后,自己写了一个小demo,但是大概功能已经可以实现了。要实现这个功能主要靠两个属性:1.document.hidden(Boolean值,表示当前页面可见还是不可见)2.document.visibilityState(返回当前页面的可见状态。分为"hidden
2018-01-22 20:09:49
7165
原创 不固定高度元素的垂直居中
元素垂直居中的方法有很多,之前偶然发现了一个不需要固定高度即可让元素垂直居中的方法。其实原理就是使用表格模式,1.对元素父级使用display: table;2.对元素使用:display: table-cell;vertical-align: middle;demo如下:css部分:.wrap { display: table;
2018-01-22 18:05:53
1335
原创 修改input中默认字体placeholder样式
修改placeholder样式:::-webkit-input-placeholder { color: red;}:-moz-placeholder {/* Firefox 18- */ color: red;}::-moz-placeholder{/* Firefox 19+ */ color: red;}:-ms-input-placeholder { co
2018-01-22 17:43:40
698
原创 网址中的参数处理
在项目中经常需要在网址用问号?携带参数,像这样:我个人习惯把参数转变为对象,这样处理起来会比较方便。下面就是我的处理函数:function search(word){ var obj = {}; var sp_fir = word.split('&'); //分割& for(var i=0;i<sp_fir.length;i++){ var sp_sec = sp_f
2018-01-22 17:24:14
649
原创 图片上传预览功能
最近项目中需要实现一个上传预览功能,于是写了要给小demo,由于并不复杂就直接上代码了。实现图片预览功能的三个重点:1.file标签有一个files的属性,docObj.files[0];(即上传的文件)2.window.URL.createObjectURL(files[0]);3.window.URL.revokeObjectURL(img.src);html结
2018-01-22 17:00:07
258
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人