自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

liwenhui的博客

希望我的博客文章能够对您有所帮助~

  • 博客(40)
  • 资源 (1)
  • 收藏
  • 关注

原创 Node版本管理和Npm包问题处理

Npm 包的版本低问题不大,项目还是可以运行的,安装失败有可能是网络延迟高,换个时间试试看,其它的系统软件缺少等问题可以按照提示尝试解决,不过最重要的是要确认 Node 的版本。

2022-12-26 16:41:32 556 1

原创 小游戏开发微信平台

在开发微信小游戏《六彩跳棋》后,发现 微信平台 提供的能力真的很方便和强大。之前已经介绍了跳棋游戏的 开发逻辑 ,以及使用 CocosCreator 游戏开发引擎和框架的开发经历,这次就轮到微信开发平台的 开发经历 了。使用微信扫码,进入微信小游戏《六彩跳棋》系统信息微信框架下,提供了获取用户设备和系统信息的接口。设备型号 不同,小游戏的运行效果可能不同,可以通过这个信息调整小游戏的兼容效果。屏幕尺寸 不同,小游戏的显示效果也不同,一般都会采用自适应,适应屏幕宽度,高度按照比例调节,还要注意屏幕的

2022-05-06 23:46:16 2230

原创 小游戏开发引擎CocosCreator

在微信游戏里搜索 六彩跳棋 ,点击 立即玩 吧!进去游戏后,需要点击 获取头像昵称 才能得到玩家数据,然后 划动屏幕 选择游戏模式,单击确定划动操作就可以了。

2022-04-17 23:06:28 3876

原创 小游戏开发初衷

我做的小游戏是跳棋,充满了童年回忆的游戏,现在棋盘找不到了,只能在小游戏上玩。

2022-04-12 00:44:54 3263

原创 定制版日历可以点击日期获取日期

A small calendar using jQuery. It can show the month you gave, show the active dates you set, get the month users selected, get the date users selected.var huicalendar = function(element, options){ this.element = element; this.enabledDay = option

2021-06-30 18:32:33 339

原创 threejs计算两条线段的交点和距离点最近的线段

在 threejs 创建的三维空间中,可以计算两条线段是否有交点,或者线段的延长线是否有交点,使用其中一条线段创建射线,使用另一条线段创建平面,获取射线和平面的交点就可以了。还可以在三维空间的某个点上计算最近的线段,分别计算点到线段的距离就可以了。下面是参考代码:// 获取两条线的交点var getPublicDot = function ( line1Dot, line1Direction, line2Dot, line2Direction ) { var dotPublic = ne

2021-06-30 17:05:54 2162

原创 使用threejs和canvas创建中文文字精灵

在 threejs 和 jquery 的支持下,可以在三维空间里创建文字精灵,精灵模型始终面向用户,支持中文。参考代码如下:// 创建文字精灵var getTextCanvas = function ( text, opt ) { var option = { fontFamily: 'Microsoft Yahei', fontSize: 40, fontWeight: 'normal', lineHeight: 1.4,

2021-06-30 16:38:13 1717

原创 threejs合并模型的几何体提高渲染速度

对 dae 格式的三维模型进行合并,第一个函数对模型类型分类后合并,第二个函数对同一类的模型合并,第三个函数对模型的几何体合并;使用了 threejs 类库和 jQuery 类库的方法。合并后的模型由于数据没有共用,模型体积比合并之前的多个模型体积总和大;合并后的模型在渲染时比合并之前的多个模型减少了渲染的计算和处理次数,渲染速度比较快。下面是参考的代码:// 模型操作类var ObjectHelper = function () { this.objectTag = 'ObjectHelp

2021-06-30 16:17:03 1388

原创 倒计时按钮用于发送短信等功能

在发送短信的功能操作时,需要在点击发送后等待一段时间,之后才能再次尝试发送短信功能,参考的代码如下: // 计时器,倒计时 function setTimer(target, contain, time){ $('.'+target).removeClass(target).addClass('timer_running').html(time+'秒后获取'); var timer = setInterval(function(){ time--; if(time < 0)

2021-06-30 11:10:39 183

原创 字符串超出截断加省略号和中文字符占两个字符

在网页显示时,字符串可能会太长,超出我们的预期,一般可以截断加省略号,中文字符一般占用两个字符,用代码控制可以达到更好的效果,以下是参考的代码: // 字符串超出截断加省略号 function cutStr(str, len){ if(str.length*2 <= len) { return str; } var strlen = 0; var newstr = ''; for(var i = 0;i < str.length; i

2021-06-30 11:10:27 283

原创 统计字符串的长度和汉字占两个字符

统计字符串时,要考虑的是,一个中文字符占两个字符长度,以下是统计的代码参考: // 统计字符串长度,一个汉字2个字节 function countStr(str){ var len = 0; if(str){ for (var i = 0; i < str.length; i++) { if (str.charCodeAt(i) > 128) { len += 2; } else { len += 1; } }; }

2021-06-30 11:10:15 369

原创 点击小图查看大图的定位功能

用户点击小图一般是要查看小图放大后的大图,或者鼠标移到小图后想要查看详细的信息的大图,这时候要考虑大图的定位问题,以下代码可以参考(需要引入 jq ): // 小图 大图 定位 $(document).on('mouseover', '.smallimg', function(e){ var src = $(this).attr('src'); $('body').append('<img src="'+src+'" style="display:none;position:abso

2021-06-30 11:09:58 462

原创 JS判断页面是否在PC端打开以及系统种类或者苹果端或者微信端和浏览器种类版本

网页是否在 PC 端打开,可以帮助我们对页面进行调整,判断系统种类方便我们统计信息,判断浏览器种类版本,方便我们处理兼容问题,参考代码如下:// 页面在pc端打开时,返回true;否则返回falsefunction checkPC(){ var agentstr = navigator.userAgent.toLowerCase(); // var agentstr = req.headers['user-agent'].toLowerCase(); // nodejs var a

2021-06-30 11:09:41 511

原创 JS检查账号格式是否包含数字和大小写字母以及图片是否成功加载

用户注册账号时,我们应该检查格式是否符合要求,字数是否符合要求,网页图片也应该检查是否成功加载,加载失败应该显示默认图片,代码参考如下:// 检查账号格式function checkUsername(name){ var reg = /^[a-zA-Z]+[0-9a-zA-Z]{5,19}$/g; if(reg.test(name)){ return true; } else { return false; }}// 检查是否包含数字function hasNu

2021-06-30 11:09:17 403

原创 JS设置拖动功能

设置拖动功能可以提高用户的操作体验,如果使用 bootstrap 框架可以参考以下代码: // modal 拖动 $(document).on('mousedown', '.modal-dialog', function(e){ var x = e.pageX; var y = e.pageY; var $modal = $(this); var top = parseInt($modal.css('top')); var left = parseInt($modal.css('

2021-06-29 18:32:11 232

原创 浏览器cookie的写入获取和删除

浏览器cookie的处理可以记录用户的操作数据,在用户下次打开时可以使用,从而提高用户体验,以下是参考代码: // 原生cookie function addCookie(name,value,expiresHours){ var cookieString=name+"="+escape(value); if(expiresHours>0){ var date=new Date(); date.setT

2021-06-29 18:25:05 495

原创 获取网址链接的参数

获取网址链接的参数,可以方便我们进行调整页面的显示,或者发送数据给后端进行相关处理,以下是获取参数的代码参考:// 获取链接的参数 function getParameter(name) { var reg = new RegExp(name +"=.*",'g'); var str = window.location.href.match(reg); if (str) { str = str[0].split('&');

2021-06-29 18:20:27 1191

原创 验证手机号和验证邮箱和验证网址

用户填写表单时,需要我们检查格式是否正确,提高用户体验,以下是常用的验证代码: // 验证手机号 function checkPhone(phone){ var reg = /^1(3[0-9]|4[57]|5[0-35-9]|7[01678]|8[0-9])\d{8}$/; if(reg.test(phone)){ return true; } else { return false; } } // 验证邮箱 function checkM

2021-06-29 18:17:17 934

原创 滚动函数包含向上滚和向左滚

页面中的信息比较多时,需要让信息滚动起来,有的是向上滚有的是向左滚,以下是参考代码:// 滚动函数 往上滚和往左滚 // opts = {go: 'left', obj: $('.scroll_left'), cons: 5, goTime: 1000, stopTime: 2000, dots: $('.con-dots span')} // go:滚动方向top/left obj:滚动的容器,有超出隐藏的 cons:容器看到的个数 goTime:滚动的时间,毫秒 stopTime:停止的

2021-06-29 18:10:12 478

原创 日期时间转换秒数或者秒数转换日期和时间

日期时间转换秒数或者秒数转换日期和时间,在前端页面需要的是日期和时间,而后端保存一般需要秒数,在比较时间前后时,也需要秒数的比较,以下是参考代码: // 把秒数转换为日期和时间 function changeTime(time){ var date = new Date(time*1000); var hour = date.getHours(); var minute = date.getMinutes(); var second = date.getSeconds();

2021-06-29 18:05:23 3896 1

原创 原生ajax发送POST和GET请求

在写简单几个活动页面时可能不想引入其它文件,这时候发送请求消息给后端,可以自己写原生方法,以下是参考代码:// 原生ajax var ajax = function() {}; ajax.prototype = { request: function(method, url, callback, postVars) { var xhr = this.createXhrObject(); xhr.onreadystatec

2021-06-29 18:01:02 173

原创 给数字添加千分位和金额的表示方法

在显示金额等类似的数据时,需要给千分位加个逗号分割,以下是参考代码和运行结果:// 千分位var regThousands = /(\d)(?=(\d{3})+\.)/g;var num = 1234567.6699;num = num + '';num = num.replace(regThousands, '$1,');// 结果:"1,234,567.6699"...

2021-06-29 17:49:39 760

原创 字符串分割成数组元素和去掉重复元素

处理买家姓名,需要对姓名去前后空格,需要去掉重复姓名,还要计算重复姓名的次数,把买家姓名保存为数组元素,以下是参考代码:/* * 功能:把字符串转换为数组,字符串用换行隔开,数组元素去掉空的、前后空格的、有重复的 * 参数:str,用换行符隔开的字符串;json,可不传,传入true时返回对象{'arr':[1,2],'same':2} * 示例:strToArr(buyer_str,true); strToArr(buyer_str,1); strToArr(buyer_str); * 备注:

2021-06-29 17:41:51 301

原创 CSS重置样式和公共样式

有时候需要写几个简单的活动页面,但是浏览器的默认样式并不是我们想要的,各个浏览器的样式还都不一样;这时候就需要对样式进行重置,写一些公共的样式,来兼容各个浏览器的默认样式了。以下是一些参考:@charset 'utf-8';html{color:#333;background:#eee;font-family:Arial,'Microsoft Yahei';}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,le

2021-06-29 17:21:20 254

原创 写好代码和保护眼睛

自我介绍在学生时代,特别是高考冲刺阶段,我们努力在题海中艰苦作战,我们勤奋我们刻苦,在高考结束后我们解放了,在考完估分和查分时,似乎又有一点不甘…正所谓 “书山有路勤为径,学海无涯苦作舟”。想起学生时代,我就感到很充实,毕竟付出了努力和汗水,还记得那时的想法是,好好读书,以后要实现这样那样的理想;疲惫的时候是,赶紧读完书赶紧解放啊!我想谈的是保护眼睛的话题,那时候好多同学都近视了,戴上眼镜挺麻烦的吧?有些同学近视了却经常不戴眼镜,上课时候才拿出来。所以那时候,我特别听老师的话,认真做眼保健操,下课经常

2021-06-25 22:59:08 208

原创 PS 创造新字体

说起字体都不陌生,我们中国上下五千年文化的文字博大精深,优美的字体历来都被津津乐道,就算在互联网时代里,我们的文字还是一样美不胜收。在我们电脑里有很多字体,还可以在网络上下载很多好看的字体,虽然选择的范围很广,但是大部分字体商用是要收费的,所以大家要留心,之前听说有个实习生没注意这个问题,在印刷出版的书本使用了收费字体,被告侵权。这里介绍的是使用PS软件在字体上作修改,这样即使商用也不会侵权,还能展现自己的创造能力。但是,这个方法适合在图片上的少量字体使用。首先,选择合适的字体,在图片上输入想要的文字

2021-06-22 00:23:07 464

原创 SUI Mobile 开发总结

框架介绍自适应功能 rem ,默认在 375px 的宽度上设置了 font-size: 20px ,所以1rem=20px;在小于这个宽度时,不会缩放;在大于这个宽度时,设置了媒体查询宽度,适当的放大了一点。可替换的自适应功能rem,通过脚本控制font-size,实现动态的缩放,建议缩放的范围控制在屏幕宽度为320px-750px之间,因为手机的屏幕最小宽度为320px,而设计图一般以75...

2019-07-26 11:21:34 1029

原创 uni-app 开发总结

框架介绍uni-app 的框架是基于 vue 的单文件组件来开发的,自带 ui 框架,可以完成 h5 的开发;使用了 weex 的原生渲染引擎,可以开发安卓和苹果 app ;还可以发布到各类小程序平台,举个栗子:微信小程序、支付宝小程序、百度小程序、头条小程序等等等。其实还有一个跨多平台开发的框架,那就是 taro ,这是基于 react native 来开发的,不过学习成本可能会比较高。项...

2019-07-25 11:58:16 4598

翻译 Bash 常用命令

1、目录和文件命令目录或路径的操作cd .././ mkdir mv rmdir 文件的操作新建 touch 写内容 cat file12 > file3 echo a > file 编辑 sed -i ‘s/a/b/’file 复制 cp file dir查看文件 more/less/head -3 file...

2019-04-23 22:18:26 825

原创 Flutter 项目开发之项目日志和错误捕获

使用框架的功能开发错误的捕获,可以写项目日志,代码如下:import 'dart:io';import 'dart:async';import 'package:flutter/foundation.dart';import 'package:path_provider/path_provider.dart';/// ### 记录项目日志、捕获项目错误、缓存所有记录、写入文件、上传服...

2019-04-19 14:01:02 3195

翻译 Flutter 项目开发

第三方包1、路由可以使用 Fluro

2019-03-28 17:28:28 771

翻译 JavaScript 代码规范

JavaScript 代码规范本文翻译了 Mr.doob 提出的 JavaScript 代码规范,他是 Threejs 的作者,在他的开源项目中都是按照这个规范来要求的。按照这个规范书写代码时,要做到能使用空格的就要使用,用空行来分隔代码块的不同部分,整体感觉代码比较松散,缩放之后还能看得清楚。原文地址1、基本要求代码使用 UTF-8 字符集;代码换行使用换行符 \n ;缩进必须用 ...

2019-03-14 14:30:19 304

原创 Git 介绍

1、配置全局配置的方式如下:git config --global user.name &amp;quot;runoob&amp;quot;git config --global user.email test@runoob.comgit config --global core.editor emacs // 使用的代码编辑器git config --global merge.tool vimdiff // 合并时的...

2019-03-13 16:34:46 149

原创 threejs 绘制多段虚线

threejs绘制多段虚线在三维的webgl类库threejs下,绘制多段实线没有问题;使用同样的方式绘制多段虚线却出现了问题。简单说明一下,虚线绘制时,类库的方法是计算相邻两个端点的距离,然后生成虚线段,所以在绘制多段虚线时,需要重复端点一次。下面是参考的代码: var getDashedLine = function ( points, opt ) { if ( !p...

2019-03-11 15:08:15 3367

原创 JSON.parse 和 JSON.stringify 使用

JSON.parse 和 JSON.stringify 解析下面的代码是说明的例子,可以粘贴到浏览器控制台查看结果,第一行是不规范的写法。var a = {a:1, b:2, c: {a:2,b:3,},}var b = JSON.stringify(a, ['b','c'], ' ');var c = JSON.parse(b, function(k,v){if (k=='a') ret...

2019-03-11 11:44:17 187

转载 VUE 一个前端的框架

VUE 一个前端的框架框架简介一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。发展现状当下最有人气的开发框架,框架的人气达到 13万,框架的入门容易、使用方便,开发体验...

2019-03-07 14:22:01 1196

原创 IE 浏览器的 hack 技术

IE浏览器的hack技术在进行网页开发的时候,要兼容各种浏览器,但是IE浏览器的兼容问题似乎不是那么容易就能解决,所以IE浏览器的hack技术就很重要了。hack技术就是针对单独的浏览器起作用,对其它浏览器不影响,所以对于解决兼容问题很有用,但是最好还是查找出问题,解决好兼容问题比较好。代码说明_height: 800px;ie6+height: 800px;ie...

2019-03-07 14:16:03 1088

原创 JQ 的 AJAX 方法

JQ 的 AJAX 方法JQ是一个强大的JS引用类库,在AJAX方面同样是功能强大,处理了兼容,简化了请求方法,有益于快速开发。一、原生的AJAXvar xhr = new XMLHttpRequest();var xhr.open("get", url, "true");var xhr.send();var xhr.onload = function(){ consloe.log(x...

2019-03-07 14:10:52 1584

原创 Math 对象和 Date 对象

Math对象和Date对象Math对象是关于数学方面的一系列属性和方法,常见的属性有:圆周率、自然对数的底e……常见的方法有:取整函数、随机数的函数、幂函数、指数函数、对数函数、三角函数、反三角函数……Date对象是关于时间方面的方法,分为两类:获取和设置,每一类都涉及到年月日时分秒……一、Math对象1 常见的函数ceil 它将向上舍入为最接近的整数floor 比较均等 它将向下...

2019-03-07 14:05:41 223

原创 原生 JS 方法操作 DOM

原生JS方法的文档标签及属性操作一、节点介绍1、节点的类型和nodeType标签节点的nodeType为1、文本节点的nodeType为3、注释节点的nodeType为8、文档碎片节点的nodeType为11。例子用到的html代码如下:&amp;amp;lt;div class=&amp;quot;test_class test_class1&amp;quot; id=&amp;quot;test_id&amp;quot; value=&amp;q

2019-03-07 13:50:27 600

sui-mobile-1.1.0.rar

测试框架的小例子,可以用于参考和使用,内容是博客文档附加代码。

2019-07-26

空空如也

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

TA关注的人

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