自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

原创 简单拖放

1.将待拖的元素的draggable属性设置为true。2.触发待拖元素的ondragstart属性,即拖动开始时触发事件。3.ev.dataTransfer.setData("type", data);设置拖动数据的类型和值。4.ondragove事件规定被拖动数据能放置到何处。由于元素默认不能拖放进其他元素中,需要在ondragove事件中设置.preventDefault();阻止默认

2017-07-06 15:31:11 200

原创 音视频

html中插入多媒体的标签有H5支持的:audio 音频video 视频-source; 为audio和video定义媒介资源,浏览器加载自己支持的那份embed 嵌入内容ps:W3C强调embed是H5的新标签,但是在以往的页面中都会使用embed标签,查了下资源,object最早是由MS引入用以支持ActiveX,但其他浏览器使用的是embed嵌入多媒体。embed以往虽然不是W3

2017-07-06 15:31:05 313

原创 复习一下canvas(一)

讲真一般企业其实用到canvas的场合应该不是很多,基本的api也不难。今天复习一下:绘制矩形的api:fillstyle="";fillRect(x, y, width, height) 填充strokeRect(x, y, width, height) 边框clearRect(x, y, width, height) 清除绘制路径的api:beginPath()ctx.mo

2017-07-06 15:31:00 234

原创 简单的水平滚动面板

.wrap:{   width:100%;overflow-x:auto;over-flow-y:hidden;white-space:no-wrap;}.item{display:inline-block/flex;}

2017-07-06 15:30:55 383

原创 vue中使用sass

在.vue组件中使用sass,安装了sass-loader后,运行webpack报错说找不到python。一说sass编译需要python2。查询后明白了,vue中使用sass要安装sass-loader和node-sass,sass的编译需要用到node-sass。用淘宝镜像解决方法如下:npm install -g cnpm --registry=https://registry.n

2017-07-06 15:30:50 467

原创 npm run webpack 和直接webpack

好多新手会问一个问题,直接webpack可以运行,npm runwebpack却出错。首先webpack的话是直接运行webpack.config.js里的配置。配置正确的话一般是没问题的。而npm run是运行package.json下scripts标签里的命令,如果scripts里没有添加webpack这个选项,比如:"webpack": "webpack --config webp

2017-07-06 15:30:45 1097

原创 关于设计模式,简记

这几天看《Javascript设计模式》。第一个感受是翻译真不怎样。其次受益良多。这里先记下初步的理解,以后慢慢补充、深入。      设计模式本质上是针对某一类特定问题的解决方案,并且这些解决方案经过社区的广泛试验被认为是行之有效的。作者将javascript设计模式划分为三大类:创建型、结构型、行为型。当然书中只是介绍了最常见的那些。      创建型有:Constructor、F

2017-07-06 15:30:40 228

原创 sass简记

虽然内容不多,还是留个笔记吧。css预处理器本身只是添加了编程的特性(就sass而言,主要是变量、嵌套、语句和函数)让写css的过程更像编程,同时大幅提高了样式代码的复用。1.使用sass要先安装ruby,上官网安装。2.gem install sass安装sass。3.写sass文件。主要知识点:1.可以使用变量,$a:xxx,变量名前加$符号.变量有作用域,局部变量于优先于外部的同

2017-07-06 15:30:33 319

原创 vuex笔记

vue本身是组件化开发应用的,但是组件化开发自然会遇到一个问题,组件间有些共享的变量/数据(即state),组件要怎样简练快捷地响应state的更新。vuex本身的意义就是解决这个问题。vuex的方案是,在vue中构建一个用于存储state、定义操作state方法的仓库(即store)。通过在多个(不一定是全部)组件中引用需要的state、调用“操作state的方法”来实现对给共享变量的处理。且由

2017-07-06 15:30:28 469

原创 div自动换行及截断文本

之前在vue上模拟对话框,动态生成的div里内容没有自动换行,找到一个解决办法是css加word-wrap样式:word-wrap:break-word;行末会把单词作为整体切换到下一行;另外还有一个word-break:break-all;把单词截断到下一行。怕忘记,先记在这里。.truncate{width:100px;overflow:hidden;text-overflow

2017-07-06 15:30:23 1739

原创 《将博客搬至CSDN》

将博客搬至CSDN

2017-07-06 15:30:17 183

原创 生成html模板

做个笔记吧。动态生成html是很常见的需求,无论是单纯web页面或app都会有根据给定条件生成DOM结构来表述信息的情况,比如勾选了航线和日期后展示符合条件的邮轮列表。大多数情况下开发者都是直接拿个插件来弄。1.原生dom方法有createElemen t()和createDocumentFragment()方法,生成tag和fragment(存储DOM的容器),由于页面反复渲染会明显影响性

2017-07-06 15:30:13 685

原创 vue+webpack实现异步组件加载

本来很简单的事情折腾好久。1.vue文档只给出了Vue.component('comp_name',function(resolve,reject){})在回调里ajax加载组件定义内容的例子,但现在习惯.vue文件写组件,在点击路由获取.vue的时候怎么弄呢?2.webpack的coding-split支持commonjs/amd语法,即有不同的实现。网上查了n多案例乱七八糟的,最后终于弄

2017-07-06 15:30:09 14331 1

原创 填坑

前段时间过完ES6回来vue的进阶部分,真nima多坑。主要关注router、vuex、vue组件vue-cli手脚架+webpack-simple搭建项目:npm install vue-cli -gvue init webpack-simple hello-vue(项目名)cd hello-vuenpm installnpm install vue-router vue-resou

2017-07-06 15:30:00 187

原创 正则

以前听同学说,他正则只学了一些基础,用到复杂的都是网上copy下来用,后来参加工作了发现确实一个项目中用到的复杂正则其实不多,因为自己写一个正则必须理解这个模式的规则,像匹配身份证的regexp,估计没多少人会真的去研究每一位是代表什么/能匹配到哪个数字。今天稍微复习一下。一.创建:直接量创建: var a=/s$/;RegExp构造函数创建:var a= new RegExp("s$")

2017-07-06 15:29:55 204

原创 git 默认文件名大小写不敏感

刚刚用纯js写一个滑动幻灯片,传到github发现一个图片的后缀名大小导致载入URL失败,修改后再上传发现git显示无改动,查了下发现git默认文件名大小写不敏感,可通过git config core.ignorecasefalse修改,由于网友建议不要改动这项,重新上传完成后设置回“true”即可。

2017-07-06 15:29:48 401

原创 关于移动端滑动事件

以前在公司开发webapp的时候,用的是插件swiper,只对touch事件也只是有所了解,今天火狐社区看了下文档,做些笔记。1.touch事件通过手指与屏幕的触点信息为用户与界面的交互提供了便利,根据文档,touch事件的接口是基于一些更底层的支持手势应用的(当然这个就暂时不用管了)。touch事件包含一组touchList,touchList是一组touchpoints(或者称touch

2017-07-06 15:29:44 1852

原创 CMD快速进入某个文件夹--转自CSDNd…

1.cmd /k cdc:\Tornado2.2\host\x86-win32\bin以前没想太多都是用这方法,今天从从机智的网友那里看到另一种方式。2.复制一下文本并保存为reg格式,双击导入注册表。之后右键某个文件夹,就能直接打开该文件路径下的cmd里,赞~Windows Registry Editor Version 5.00  [HKEY_CLASSES_ROOT\folde

2017-07-06 15:29:39 1865

原创 BOM

BOM提供了很多对象来访问浏览器的属性和功能。常用的有window、location、history等;Window:window.moveTo(x,y);window.moveBy(x,y);window.resizeTo(x,y);window.resizeBy(x,y);--------------------以上IE7默认禁用,只对最外层window--------------

2017-07-06 15:29:34 146

原创 模仿块级作用域

块级作用域的意义在于将代码的可访问性限定在某个代码段中,屏蔽对外部的影响。JS中由于没有传统的块级作用域,所以只好用匿名函数来构造闭包来实现。var variable=(function(){})();function(){}外部的括号表明这是一个函数表达式,后面的()表示立即执行。第二个括号的含义不难理解:var Fn=function(){  //定义一个函数   somecod

2017-07-06 15:29:29 255

原创 巩固基础--global对象Math对象

全局的global对象,ECMAScript中没有定义直接访问它的方式,在JS中是作为window对象的一部分实现的。根据规范,所有不从属于其他变量的属性和方法都是global的属性。属性:特殊值undefined、NaN、Infinity,原生引用类型构造函数Object、Array、Function、Date、Error、RegExp、Boolean、String、Number。方法:

2017-07-06 15:29:24 174

原创 简单复习下函数(基于《JS高级程序…

JS中对象总是某种类型的实例。函数是Function类型的实例且和其他对象一样具有属性和方法,今天简要复习一下。1.函数定义,函数声明语法和表达式。但是函数声明语法定义的函数,在JS解析器"在向执行环境加载数据时,会先读取函数声明"(函数声明提升),而表达式定义的函数在执行到该行时才执行函数。2.没有重载。JS中并不允许直接访问内存中的位置,只是操作内存中对象的引用,因而函数名只是存储着对函

2017-07-06 15:29:19 124

原创 JS对象检测

简单复习:typeof检测基本类型(null返回object),instanceof检测对象实例(基于原型链)typeofvariable:操作符:字符串(string)、数字(numbel)、布尔值(boolean)或undefined(undefined),null或其他引用类型(object),函数返回function;variable instanceofconstructor:

2017-07-06 15:29:14 265

原创 复习闭包番外篇

《JS高级程序设计》中特别指明一点,JS中函数参数是按值传递的。对于基本类型参数,函数参数只是简单地复制它的值;对于引用类型参数,函数参数也只是拷贝了一份指向内存中某个位置的副本而已。直接的论据就是当给函数中引用类型参数重新赋值之后,其将不再指向原来的引用类型,对其进行的操作也不不会对原来的引用类型造成影响。     之前提到,闭包给我们提供了访问“受保护数据”的实现。      我

2017-07-06 15:29:09 108

原创 伪元素的妙用(闲着也是闲着)

伪元素其实就是用css基于某个DOM节点创造一个文档中本来没有的元素,它和其他基本元素一样可以有内容和样式并影响到布局,但因为并不真实存在于DOM中,故加了个伪字。记得第一次接触伪元素是学习清除浮动的时候。清除浮动影响最基本的方式是对浮动元素之后的第一个元素加样式:clear:both/left/right;或者看情况在父元素设置overflow:hidden;或者粗暴地在后面加个空元素清除浮

2017-07-06 15:29:02 772

原创 图片垂直居中。。闲着也是闲着

1.:图片加个同级的span(或其他行内元素)并设置span的css:height:100%。display:inline-block;verticle-align:middle;图片自身css:verticle-align:middle;2.利用表格特性:table>table-cell:verticle-align:middle,text-align:center>img。第二种方法也

2017-07-06 15:28:57 123

原创 git常见错误

网友经验:1.fatal: remote origin already exists.删除远程 Git 仓库 $ git remote rm origin重新添加远程 Git 仓库$ git remote add origingit@github.com:Your/Resp.git如果 git remote rm origin 报错,可以手动修改gitconfig文件的内容$ vi.g

2017-07-06 15:28:53 475

原创 微信浏览器取消缓存--调试用

脚本之家看到的,说微信实在上层做的缓存,调试页面加上:<meta http-equiv="Cache-Control" content="no-cache,no-store, must-revalidate" /><meta http-equiv="Pragma" content="no-cache"/><meta http-equiv="Expires" content="0"/>

2017-07-06 15:28:48 216

原创 github阅览方式打开html

第一种:http://htmlpreview.github.io/?+html所在地址(不推荐)第二种:在github的对应repository页面:1.击setting2.找到Github Pages3.把none改为master branch,保存4.复制此时Github Pages标题边的url5.在repository的README里加入下面代码:[demo](url+"in

2017-07-06 15:28:44 745

转载 Meta标签中的apple-mobile-w…

嗯哼原文地址:Meta标签中的apple-mobile-web-app-capable属性及含义作者:最初的你 这meta的作用就是删除默认的苹果工具栏和菜单栏。content有两个值”yes”和”no”,当我们需要显示工具栏和菜单栏时,这个行meta就不用加了,默认就是显示。

2017-07-06 15:28:39 182

原创 复习一下原型链

JS是一门基于原型的语言,JS中的对象,无论是内置的Array、Date、Math、String还是用户自定义的亦或Function,都是对象且究其源基于Ocject。当用构造函数创建一个对象时,对象的实例都有一个指向其原型的prototype,prototype又有一个constructor属性,这个construct属性故名思义(构造器)指向构造函数。prototype--原型可以被添

2017-07-06 15:28:34 211

原创 判断浏览器

function browserRedirect() {    varsUserAgent = navigator.userAgent.toLowerCase();    var bIsIpad= sUserAgent.match(/ipad/i) == "ipad";    varbIsIphoneOs = sUserAgent.match(/iphone os/i) == "iph

2017-07-06 15:28:29 132

原创 复习闭包

本来没打算写这篇东西,关于闭包的文章应该已经很多,阮一峰先生的网络日志里也有浅显的解说。不过昨晚和同学吃饭的时候突然问起这个,所以在这里就当作复习一下吧。    闭包本质上是对js函数作用域链的一种利用。(我们抛开ES6,纯就基于ES5的角度来理解)   假设,函数A中定义了函数B,A和B中都有若干变量。   那么,对于B来说,是有一个作用域链的,B----A----包含A的作用域或

2017-07-06 15:28:24 129

原创 webpack基本使用

1.先确认是否安装了nodejs:npm -v2.安装webpack:npm init,创建package.jsnpm install webpack --save-dev或者(npm i webpack -g)3.导航到项目文件夹js打包:./node_modules/.bin/webpack hello.js hello.bundle.js引入css:./node_modu

2017-07-06 15:28:18 278

原创 常用DOM方法

无滚动条时:element.clientHeight    返回元素的可见高度。(contain+padding)element.offsetHeight    返回元素的高度。(包括border、padding)有滚动条时:element.clientHeight    返回元素的可见高度。(contain+padding 减去滚动条)element.offsetHeight  

2017-07-06 15:28:14 146

原创 获取视口宽度

function(){    varw=windows.innerWidth  //IE9以上现代浏览器|| document.documentElement.clientWidth //兼容IE8||document.body.clientWidth;   IE6严格模式var h=windows.innerHeight|| document.documentElement.

2017-07-06 15:28:09 1408

原创 关于git的简单使用

1.github上注册个账号。2.本地安装了git之后,在项目文件夹(选文件夹右键点击git bash)下:3.$ ssh-keygen -t rsa -C"youremail@example.com"   *****创建自己的gitSSH Key公钥4.将公钥加进自己账户setting中的ssh key5.初始化本地仓库:git init6.$ git remote add ori

2017-07-06 15:28:04 198

原创 vue基础--computed属性

文档中解释说,虽然模板内可以放js表达式,但“过多的逻辑会让模板过重且难以维护”,所以对于任何复杂逻辑都推荐使用computed(计算属性)。computed其实是vue实例中的一个属性,在这个属性里可以创建一系列的计算函数,这些计算函数返回一个既有属性(变量)的操作结果,比如官方的例子:var vm = new Vue({el: '#example',data: {message:

2017-07-06 15:28:00 289

原创 (吐槽新浪插入源码这么麻烦)vue…

模板,顾名思义就是在呈现数据的时候,预先设置一个“模”,让数据按照这个模打印到页面上,这是动态创建页面元素/数据时的做法。vue使用了基于html语法的模板,按文档展示有下列几种:1.文本插值,Mustache语法(双大括号),在标签内{{message}},单向的从vue实例的属性(变量)打印到页面上,变量message改变,{{}}内的值也改变。2.插入html,在父元素中使用指令 

2017-07-06 15:27:52 261

原创 vue基础--表单浅记

最近两天开始学习vue这个框架,虽然本人算是原生主义,比较喜欢纯js写东西,但优秀的框架总有许多值得学习的地方。技术发展的根本意义,在于让人们更轻松地解决难题,借鉴别人的思想很重要。表单说白了就是接收用户的输入,vue在表单中几乎都用了v-model语法糖实现表单和vue实例中数据 的双向绑定,单纯用的话,只需要记住两点:1.v-model绑定的是vue实例中的数据,就像原生表单中每个表单元素

2017-07-06 15:27:48 247

空空如也

空空如也

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

TA关注的人

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