图解JavaScript执行环境、作用域、闭包

摘要: 首先我们要先知道有这三个概念,执行环境、作用域链、变量对象 当开始执行上面这段js代码的时候,全局执行环境进栈,执行环境带有与之关联的变量对象,代码在环境中执行时,会创建变量对象的作用域链 当代码执行到normal();这一行时,normal函数的执行环境被推入环境栈中。 normal函数执行完之后 阅读全文
posted @ 2017-02-23 16:07 zhrj000 阅读(292) 评论(0) 推荐(0) 编辑

fixed在手机端的bug

摘要: 一、带input的fixed在ios下失效 在ios下,一个页面如果有fixed浮层,并且浮层里面有input,那么当input focused的时候,fiexed层的位置就会错乱。 如图: 例子:http://demo.zhangruojun.com/static/page/iframe-fixe 阅读全文
posted @ 2017-02-23 16:00 zhrj000 阅读(313) 评论(0) 推荐(0) 编辑

一些小技巧-重构

摘要: 用box-shadow制造浮雕效果 用box-shadow做简单的背景修饰 长页面背景图不够用 ...... 01 用box-shadow制造浮雕效果 demo示例: 示例的html结构: css: 02 用box-shadow做简单的背景修饰 demo示例: 像上面demo的圆圈圈背景,形状规则, 阅读全文
posted @ 2017-02-23 15:54 zhrj000 阅读(220) 评论(0) 推荐(0) 编辑

用angularjs遇到的坑们

摘要: 最近在用angularjs做一些东西,由于学艺不精,对angularjs了解不够,导致经常会不小心掉进一些自己挖的坑里(⊙_⊙),在这里记下来,谨防又踩。1、angularjs ng-show not working在页面中用到了pagination 分页插件。就想说总的条目数bigTotalItems为0的时候就不显示插件了,ng-show="!!bigTotalItems"。结果ng-show怎么都不起作用。但是如果直接写ng-show="!!0" 、ng-show="!!80"又是有效的。。。。然后我又想换一种写法,在contr 阅读全文
posted @ 2013-10-23 11:50 zhrj000 阅读(26808) 评论(4) 推荐(0) 编辑

关于瀑布流

摘要: 前段时间看到同学的博客,关于工作的技术博文,里面提到了瀑布流。瀑布流这个东西听到很多,也看过一些文章,不过就没自己动手试过。没追求,所以至今不成大器,技术一直这么渣。。。先看一下demo瀑布流的几种常见实现方式:1)传统多列布局(本文采用这种)2)css3定义3)绝对定位写这个demo的时候,最多的是参考张鑫旭大神的文章http://www.zhangxinxu.com/wordpress/?p=2308,所以demo的图片来源也是效仿他的,从迅雷UED取的~~代码:var Waterfall = (function() { var colNum = 3, //列数 ... 阅读全文
posted @ 2013-07-19 16:36 zhrj000 阅读(1514) 评论(7) 推荐(1) 编辑

《Head first 设计模式》读书笔记

摘要: 对扩展开放,对修改关闭。一、策略模式策略模式定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。例子:1)Duck类各类鸭子继承Duck类2)FlyBehavior接口各种不同的飞行行为类实现FlyBehavior接口3)QuackBehavior接口各种不同的叫行为实现该接口---Duck类里有flybehavior对象,鸭子的飞行行为委托给了flybehavior对象来做,performFly方法里面就是flybehavior对象在fly(),setFlyBehavior方法用来设置flybehavior对象。飞行行为不再属于鸭子,而是独立出来的一种 阅读全文
posted @ 2013-05-07 14:39 zhrj000 阅读(203) 评论(0) 推荐(0) 编辑

《精通javascript》笔记

摘要: 一、类型检查类型检查两种常用有用方法:1、typeof2、构造函数 constructor比较:当变量类型为Array事,使用typeof只能返回object ,构造函数检查返回 Array; 当变量为自定应对象,如User,使用typeof只能返回object,构造函数检查返回User。一个严格的函数检查函数:function strict(types, args) { if(types.length != args.length) { throw 'Invalid number of arguments.Expected ' + types.length + ',. 阅读全文
posted @ 2013-05-03 11:01 zhrj000 阅读(203) 评论(0) 推荐(0) 编辑

js 自制滚动条

摘要: 写了个js自制滚动条,首先,先看一下demo(点击这里)先有两个demo,右边那个黑色那个,是我一开始写的比较肤浅的代码:var scrollself=(function(){ var scrollblock, //滚动块 scrollcontent, //被滚动的内容 scrollbar, //滚动条 scrollpanel, //滚动内容的滚动区域 cdistance, //滚动内容要滚动的距离 bdistance, //滚动块要滚动的距离 minuTop, //滚动条头尾剩下的... 阅读全文
posted @ 2013-03-16 16:36 zhrj000 阅读(8998) 评论(0) 推荐(1) 编辑

point

摘要: ——看一些博客和书的一些备忘笔记1)永远不要优化代码,直到你真正需要。2)确保解绑那些不再需要的事件监听器,尤其是那些即将被销毁的DOM对象所绑定的事件监听器。3)用户傻瓜思想||用户自由思想 ??4)前端验证是用来增强用户体验,而不是用来把手安全大门的5)浮动float破坏的了元素的inline boxes6)如果inline-block元素间有空格或是换行产生了间隙,那是正常的,应该的。如果没有空格与间隙才是不正常的(IE6/7 block水平元素)。真正的inline-block元素,就像个图片一样。例如,两个不在一行的img标签,形成的两个图片之间就会有间隙。。。 关于这个——> 阅读全文
posted @ 2012-11-25 16:24 zhrj000 阅读(259) 评论(0) 推荐(0) 编辑

IE6与!important

摘要: 之前一直以为IE6是不能识别!important的,今晚发现这个想法是错误的。IE6是在某种情况下不能识别!important,但某种情况下又能。比如,在样式表里面这样写{ color:red !important; color:blue;}这样在IE6下是无效的,结果会是blue;但是如果在样式表里写{ color:red!important;}然后在其他地方,总之不要在同个{}里面出现的话,那么!important起到了他的作用了,优先级最高。所以,IE6并不是不能识别!important,而是他识别的点有点怪异。 阅读全文
posted @ 2012-11-04 23:25 zhrj000 阅读(405) 评论(0) 推荐(0) 编辑