自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

大白的博客

把工作中遇到的问题总结起来一起学习

  • 博客(34)
  • 收藏
  • 关注

原创 列表设计--自定义字段

B端产品往往涉及多个相关方,随着业务发展页面列表中加入的字段会越来越多,这时“自定义列表”成为了必不可少的一个选择。但“自定义列表”到底是怎么实现的呢?本文主要从实现方式的角度,讲解三个方案区别,帮助大家在产品设计时选用最适合自身业务的方案。

2022-10-11 16:42:57 2124 1

原创 报表设计--如何让查询更优雅

B端系统产品,在业务流程线上化后,数据的存储都保存在数据库中,报表成为了必不可少的模块。但是当业务发展后,越来越多字段冗余到报表中,怎么样的表单设计才能既能满足业务需求,又能最大化地减少查询压力,提高速度呢?

2022-10-11 16:38:09 1003

原创 B端产品--用户体验实战

谈到B端产品很多人都会说到业务流程,但用户体验基本很少被提到。事实上toB产品也需要重视用户体验,因为这直接影响到了B端人员的工作效率,让工作事半功倍。那么,如何提升这类产品的用户体验呢?本文就此谈谈如何从交互层面提升B端产品的用户体验。

2022-10-11 16:30:41 1505

转载 解决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 2342 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 239

原创 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 3939

原创 native.js上传图片至服务器

大概流程逻辑为:1.拍照或者相册选择图片后,返回图片路径2.利用该路径addFile,传到写好的后台接口3.后台获取文件进行操作4.前端请求上传后的地址路径注意:mui里,图片不能省略http协议。前端上传图片://上传图片至服务器function upload(filePath){ var task = plus.uploader.createUploa...

2019-02-28 11:22:33 652

原创 native.js调用Android拍照并保存至相册

保存至相册:plus.gallery.save( path, successCB, errorCB );参数:path : ( String ) 必选 要保存到系统相册中的文件文件地址succesCB: ( GallerySuccessCallback ) 必选 保存文件到系统相册中成功的回调函数errorCB: ( GalleryErrorCallback ) 可选 保存文...

2019-02-28 11:07:40 1140 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 191

原创 解决mui.openWindow第二次不刷新

plusReady仅会在每次重新创建webview时触发。若之前关闭了A页面,再次调用mui.openWindow,发现系统中没有A页面,则会新建webview,则此时就会重新触发plusReady; 若未关闭A页面,再次调用mui.openWindow,发现系统中存在A页面,就会直接show出来,不会触发plusReady。 此时,只需要传递createNew:true参数即可解决:...

2019-02-18 18:11:05 2294

原创 mui 传参跳转及获取

跳转:mui.openWindow({ url: './edit_item.html', id:'info', styles: { // 窗口参数 参考5+规范中的WebviewStyle,也就是说WebviewStyle下的参数都可以在此设置 titleNView: { // 窗口的标题栏控件 titleText: "大众点评", // 标题栏文...

2019-02-14 16:10:26 914

原创 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 2130

原创 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 1246

原创 记各常见手机屏幕尺寸

大部分安卓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 13533

原创 vue优化之骨架屏

骨架屏可以理解为是当数据还未加载进来前,页面的一个空白版本,一个简单的关键渲染路径。可以看一下下面Facebook的骨架屏实现,可以看到在页面完全渲染完成之前,用户会看到一个样式简单,描绘了当前页面的大致框架的骨架屏页面,然后骨架屏中各个占位部分被实际资源完全替换,这个过程中用户会觉得内容正在逐渐加载即将呈现,降低了用户的焦躁情绪,使得加载过程主观上变得流畅。此处的骨架屏就是用了一张base6...

2018-11-27 15:43:04 2301

原创 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 398

原创 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 361

原创 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 4306 3

原创 分页插件jqPaginator

官网:http://jqpaginator.keenwon.com/之前的分页功能一直都是自己写,一天偶然看到网友分享的jqPaginator。看了一下确实非常轻便,就写了一个小demo,在这里分享出来,跟各位一起学习具体步骤:1.引入JQ跟 jqpaginator.js2.html中添加容器3.初始化分页:$.jqPaginator('#idnam

2018-01-23 11:14:49 1572 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 294

原创 翻页插件turn.js

老实说翻页turn.js里面的坑非常多,记得那时候项目中踩了几天都踩不完。个人建议谨慎使用下面就介绍一下最简单的入门吧~1.引入文件部分(注意必须要引入jQ,turn.js文件可以上网找,modernizr也是turn.js的一部分):2.注意:必须设置背景颜色或者背景图片,否则透明会看到其他的pagehtml部分: 1 1

2018-01-23 10:53:46 7614 2

原创 es6的Promise异步函数

简介:在Promise之前,在js中的异步编程都是采用回调函数和事件的方式,但是这种编程方式在处理复杂业务的情况下,很容易出现callback hell(回调地狱),使得代码很难被理解和维护。Promise就是改善这种情形的异步编程的解决方案,它由社区最早提出和实现,es6将其写进了语言标准,统一了用法,并且提供了一个原生的对象Promise。下面是最简单的用法:v

2018-01-23 10:44:40 198

原创 Babel将ES6转化成ES5

之前刚接触babel时踩了不少坑,所以想写一下最简单的入门,以免大家再踩不必要的坑。(在项目中发现转码后移动端async异步函数报错,请教一下各位大神。)具体步骤:1.进入ES6的项目,执行npm init  // 初始化package.json2. 在与package.json同一目录下编写配置文件 .babelrc(就新建一个自定义文件){ "prese

2018-01-23 10:39:53 2549

原创 监听css3动画结束

js有一个'animationend'的事件,负责监听css3动画执行后情况,这相当于css3动画的回调函数下面是一个简单的例子:$(".router-left").on("animationend",function(){ $(this).removeClass("animat"); });

2018-01-23 10:30:43 1153

原创 JS获取用户地理位置

获取用户地理位置关键api:navigator.geolocation.getCurrentPosition(showPosition,showError,option)其中三个参数分别表示:showPosition : 必选,执行成功的回调showError : 可选,执行错误的回调option: 可选,设置数据获取的方式showPosition属性coord

2018-01-22 20:49:35 8463 2

原创 JS原生滑动手势判断

虽然滑动手势的插件有很多,zepto是其中最方便的一个。闲来无事,就写了一下原生滑动手势的,发现某些情况下也是挺好用的。// 开始按下手机的起点坐标 var startPoint = null; document.addEventListener("touchstart",function(e){ var e = e||window.event; sta

2018-01-22 20:45:53 5118 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 165

原创 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 489

原创 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 1450

原创 监测页面是否切换到后台

做一个视频网站的时候遇到了一个需求,要求当用户切换到其他操作的时候,暂停播放。因为我在网上参考了一下其他大神后,自己写了一个小demo,但是大概功能已经可以实现了。要实现这个功能主要靠两个属性:1.document.hidden(Boolean值,表示当前页面可见还是不可见)2.document.visibilityState(返回当前页面的可见状态。分为"hidden

2018-01-22 20:09:49 7090

原创 不固定高度元素的垂直居中

元素垂直居中的方法有很多,之前偶然发现了一个不需要固定高度即可让元素垂直居中的方法。其实原理就是使用表格模式,1.对元素父级使用display: table;2.对元素使用:display: table-cell;vertical-align: middle;demo如下:css部分:.wrap { display: table;

2018-01-22 18:05:53 1316

原创 修改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 680

原创 网址中的参数处理

在项目中经常需要在网址用问号?携带参数,像这样:我个人习惯把参数转变为对象,这样处理起来会比较方便。下面就是我的处理函数: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 614

原创 图片上传预览功能

最近项目中需要实现一个上传预览功能,于是写了要给小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 237

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除