03 2014 档案

摘要:jQuery对事件系统的抽象与优化也是它的一大特色。本文仅从事件系统入手,简要分析一下jQuery为什么提供mouseenter和mouseleave事件,它们与标准的mouseover、mouseout事件有什么区别。事件模型说到事件,就要追溯到网景与微软的“浏览器大战”了。当时,事件模型还没有标准,两家公司的实现就是事实标准。网景在Navigator中实现了 “事件捕获”的事件系统,而微软则在IE中实现了一个基本上相反的事件系统,叫做“事件冒泡”。这两种系统的区别在于当事件发生时,相关元素处理(响应) 事件的优先权不同。下面举例说明这两种事件机制的区别。假设文档中有如下结构:12345.. 阅读全文
posted @ 2014-03-29 14:00 Ranran 阅读(419) 评论(0) 推荐(0) 编辑
摘要:简介 单元测试关注的是验证一个模块或一段代码的执行效果是否和设计或预期一样。有些开发人员认为,编写测试用例浪费时间而宁愿去编写新的模块。然而,在处理大型应用程序时,单元测试实际上会节省时间;它能帮助您跟踪问题并安全地更新代码。 常用缩略语 DOM:文档对象模型 HTML:超文本标记语言 JSTD:JSTestDriver YUI:Yahoo! User Interface 在过去,只对服务器端语言进行单元测试。但前端组件越来越复杂,使得编写 JavaScript 代码测试用例的需求日益提高。如果您不经常编写客户端脚本的测试,学习进度可能非常难。测试用户界面可能需要在思路上做一些... 阅读全文
posted @ 2014-03-28 11:28 Ranran 阅读(787) 评论(0) 推荐(1) 编辑
摘要:1 jQuery UI 有时你仅仅是为了实现一个渐变的动画效果而不得不把javascrip 重新学习一遍然后书写大量代码。直到jQuery的出现,让开发人员从一大堆繁琐的js代码中解脱,取而代之几行jQuery代码。现今,jQuery无疑已成为最为流行没有之一的JavaScript类库。 而jQuery UI 则是在jQuery 基础上开发的一套界面工具,几乎包括了网页上你所能想到和用到的插件以及动画特效,让一个毫无艺术感只知道码字的码农不费吹灰之力就可以做出令人炫目的界面。让你在做界面的时候随便‘拿来’就用,还有一点就是,它是免费开源的,用户可根据需要自定义甚至重新设计。2 为我所用 ... 阅读全文
posted @ 2014-03-28 06:33 Ranran 阅读(552) 评论(0) 推荐(0) 编辑
摘要:JavaScript是一种描述型脚本语言,它不同于java或C#等编译性语言,它不需要进行编译成中间语言,而是由浏览器进行动态地解析与执行。如果你不能理解javaScript语言的运行机制,或者简单地说,你不能掌握javascript的执行顺序,那你就犹如伯乐驾驭不了千里马,让千里马脱缰而出,四处乱窜。 那么JavaScript是怎么来进行解析的吗?它的执行顺序又是如何的呢?在了解这些之前,我们先来认识几个重要的术语: 1、代码块 JavaScript中的代码块是指由 JS是按照代码块来进行编译和执行的,代码块间相互独立,但变量和方法共享。什么意思呢? 举个例子,你就明白了:1234... 阅读全文
posted @ 2014-03-27 08:53 Ranran 阅读(530) 评论(2) 推荐(1) 编辑
摘要:说明:普通行列转换(version 1.0)仅针对sql server 2000提供静态和动态写法,version 2.0增加sql server 2005的有关写法。问题:假设有张学生成绩表(tb)如下:姓名 课程 分数张三 语文 74张三 数学 83张三 物理 93李四 语文 74李四 数学 84李四 物理 94想变成(得到如下结果):姓名 语文 数学 物理---- ---- ---- ----李四 74 84 94张三 74 83 93-------------------*/createtabletb(姓名varchar(10) , 课程varchar(10) , 分数int)inse 阅读全文
posted @ 2014-03-25 16:42 Ranran 阅读(634) 评论(0) 推荐(2) 编辑
摘要:今天分享一下如何通过Javascript来判断Chrome浏览器,这里是通过userAgent判断的,检测一下userAgent返回的字符串里面是否包含“Chrome”, 具体怎么检测是通过indexOf方法进行的。下面是代码:123456789关于indexOf方法:indexOf方法返回一个整数值,指出String对象内子字符串的开始位置。即indexOf()括号内所包含的字符在该字符串内的位置,在第几位就返回几,从0开始记数。如果有重复的字符出现,以第一个字符为准。如果没有找到子字符串,则返回 -1。 阅读全文
posted @ 2014-03-25 08:42 Ranran 阅读(539) 评论(0) 推荐(0) 编辑
摘要:12.FireFox下如何使连续长字段自动换行众所周知IE中直接使用word-wrap:break-word就可以了,FF中我们使用JS插入
的方法来解决aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 阅读全文
posted @ 2014-03-24 08:44 Ranran 阅读(449) 评论(0) 推荐(0) 编辑
摘要:Js冒泡机制是指如果某元素定义了事件A,如click事件,如果触发了事件之后,没有阻止冒泡事件,那么事件将向父级元素传播,触发父类的click函数。如下例所示: without middle inner innerdouble innerthree innerfour 当你点击inner的时候,会依次弹出‘inner’,‘middle’和‘without’。这就是事件冒泡。从直观上来看,也是这样的,因为最里层的区域是在父级节点中的,点击了子级节点的区域,其实也是点击了父级节点的区域,所以事件会传播起来。其实,很多的时候,我们并不想事件冒泡,因为这样会同时触发几个事件。接下来:我们点击... 阅读全文
posted @ 2014-03-22 13:44 Ranran 阅读(543) 评论(0) 推荐(0) 编辑
摘要:FF与IE1.Div居中问题div设置margin-left,margin-right为auto时已经居中,IE不行,IE需要设定body居中,首先在父级元素定义text-algin:center;这个的意思就是在父级元素内的内容居中。2.链接(a标签)的边框与背景a链接加边框和背景色,需设置display:block,同时设置float:left保证不换行。参照menubar,给a和menubar设置高度是为了避免底边显示错位,若不设height,可以在menubar中插入一个空格。3.超链接访问过后hover样式就不出现的问题被点击访问过的超链接样式不在具有hover和active了,很多 阅读全文
posted @ 2014-03-21 13:17 Ranran 阅读(304) 评论(0) 推荐(0) 编辑
摘要:11.高度不适应高度不适应是当内层对象的高度发生变化时外层高度不能自动进行调节,特别是当内层对象使用margin或paddign时。例:#box{background-color:#eee;}#boxp{margin-top:20px;margin-bottom:20px;text-align:center;}p对象中的内容解决方法:在P对象上下各加2个空的div对象CSS代码:.1{height:0px;overflow:hidden;}或者为DIV加上border属性。12.IE6下为什么图片下有空隙产生解决这个BUG的方法也有很多,可以是改变html的排版,或者设置img为display 阅读全文
posted @ 2014-03-21 08:59 Ranran 阅读(423) 评论(0) 推荐(0) 编辑
摘要:今天踩着前辈们的肩膀,再次把这篇文章翻译整理下。一来让自己对web缓存的理解更深刻些,二来让大家注意力稍稍转移下,不要整天HTML5, 面试题啊叨啊叨的~~ 什么是Web缓存,为什么要使用它? Web缓存游走于服务器和客户端之间。这个服务器可能是源服务器(资源所驻留的服务器Add),数量可能是1个或多个;这个客户端也可能是1个或多个。Web缓存就在服务器-客户端之间搞监控,监控请求,并且把请求输出的内容(例如html页面、 图片和文件)(统称为副本)另存一份;然后,如果下一个请求是相同的URL,则直接请求保存的副本,而不是再次麻烦源服务器。 使用缓存的2个主要原因:降低延迟:缓存离客户端... 阅读全文
posted @ 2014-03-20 11:38 Ranran 阅读(775) 评论(0) 推荐(1) 编辑
摘要:CSS对浏览器的兼容性有时让人很头疼,或许当你了解当中的技巧跟原理,就会觉得也不是难事,从网上收集了IE7,6与Fireofx的兼容性处理方法并整理了一下.对于web2.0的过度,请尽量用xhtml格式写代码,而且DOCTYPE影响CSS处理,作为W3C的标准,一定要加DOCTYPE声名.CSS技巧1.div的垂直居中问题vertical-align:middle;将行距增加到和整个DIV一样高line-height:200px;然后插入文字,就垂直居中了。缺点是要控制内容不要换行2.margin加倍的问题设置为float的div在ie下设置的margin会加倍。这是一个ie6都存在的bu.. 阅读全文
posted @ 2014-03-19 11:06 Ranran 阅读(388) 评论(0) 推荐(1) 编辑
摘要:有时候,做为一个程序员,我觉得我的职业生涯会被我开发软件使用的开发工具和技术架构明显的分割成几个阶段。一部分是因为使用的编程语言——在大学时是Smalltalk,在Gog Creek公司是C#和Python,而另一方面是开发工具。我在Fog Creek公司里工作了8年,在那里,我们有一个非常固定的技术架构:bug管理、客户支持和文档管理用FogBugz;开发管理用Trello;代码审查用Kiln;版本控制用Mercurial;编码用Vim和 Visual Studio ;持续集成用我们的内部工具Mortar;随着时间的流逝,这些工具在慢慢的变化,但变化从来都是缓慢逐步的,一个组件一个组件的。. 阅读全文
posted @ 2014-03-18 11:48 Ranran 阅读(436) 评论(1) 推荐(0) 编辑
摘要:是否曾对Mootools的魔力感到惊奇?是否有想知道Dojo如何做到那样的?是否对jQuery感到好奇?在这个教程中,我们将了解它们背后的东西并且动手创建一个超级简单的你最喜欢的库。 我们其乎每天都在使用JavaScript库。当你刚入门时,利用jQuery是一件非常奇妙的事,主要是因为它的DOM操作。首先,DOM对于入门者来说可能是相对困难的事情;其次用它我们几乎可以不用考虑跨浏览器兼容的问题。 在这个教程中,我们将试着从头开始实现一个很简单的库。是的,它非常有意思,但是在你高兴之前让我申明几点:这不会是全功能的库。我们有很多方法要写,但是它不是jQuery。我们将会做足工作来让你感... 阅读全文
posted @ 2014-03-17 11:13 Ranran 阅读(478) 评论(1) 推荐(4) 编辑
摘要:Web应用程序开发是倾向于在客户端运行所有用户逻辑和交互代码,让服务器暴露REST或者RPC接口。编译器是针对JS作为一个平台,第二版ECMAScript正是考虑到这一点在设计。客户端框架例如Backbone, Ember和Require鼓励创建功能丰富的应用程序,不仅有丰富的代码,而且各个组件,组件与数据之间有很多相互作用。 这真的很好,或许还能产生一些优秀的用户体验,但是毫无疑问的是,这是很难开发web应用程序和web页面。 根本原因是在互联网上服务你的代码和数据,运行在一些随机的浏览器上,在javascript中,这是一种你需要特别小心的语言,它是一个完全缺乏代码部署的平台。而且... 阅读全文
posted @ 2014-03-15 22:08 Ranran 阅读(362) 评论(0) 推荐(0) 编辑
摘要:这里介绍的其实本质上是两种方法,通过创建DOM或通过JavaScript计算: 1)通过新创建的Image, 经测试会发送一个Aborted的请求,并且IE6不支持, 将new Image改成document.createElement('IMG')也是一样的;测试应该不喜欢这个方案;123456789function getAbsoluteUrl(url){var img = new Image();img.src = url; // 设置相对路径给Image, 此时会发送出请求url = img.src; // 此时相对路径已经变成绝对路径img.src = null; / 阅读全文
posted @ 2014-03-14 16:19 Ranran 阅读(1617) 评论(1) 推荐(0) 编辑
摘要:使用事件自然少不了事件对象. 因为不同浏览器之间事件对象的获取, 以及事件对象的属性都有差异, 导致我们很难跨浏览器使用事件对象.jQuery中统一了事件对象, 当绑定事件处理函数时, 会将jQuery格式化后的事件对象作为唯一参数传入:$("#testDiv").bind("click", function(event) { });关于event对象的详细说明, 可以参考jQuery官方文档:http://docs.jquery.com/Events/jQuery.EventjQuery事件对象将不同浏览器的差异进行了合并, 比如可以在所有浏览器中通过 阅读全文
posted @ 2014-03-14 08:54 Ranran 阅读(553) 评论(0) 推荐(0) 编辑
摘要:下面列出了一些Jquery使用技巧。比如有禁止右键点击、隐藏搜索文本框文字、在新窗口中打开链接、检测浏览器、预加载图片、页面样式切换、所有列等高、动态控制页面字体大小、获得鼠标指针的X值Y值、验证元素是否为空、替换元素、延迟加载、验证元素是否存在于Jquery集合中、使DIV可点击、克隆对象、使元素居中、计算元素个数、使用Google主机上的Jquery类库、禁用Jquery效果、解决Jquery类库与其他Javascript类库冲突问题。1. 禁止右键点击12345$(document).ready(function(){$(document).bind("contextmenu& 阅读全文
posted @ 2014-03-13 17:27 Ranran 阅读(616) 评论(2) 推荐(1) 编辑
摘要:当考虑到网页设计时,导航被认为是使网页以用户友好方式展现的一个重要部分。在现代的交互网站中,导航起着至关重要的作用,如果没有正确地处理会影响你网站的访问。适当的导航工具能够帮助用户在网站的不同页面内容间进行交互并执行动作。这在电子商务网站及注册网站等案例中是非常重要的。 请务必记住——设计网站时简约实现的简洁、优雅、干净的设计总能赢得用户的心。调查还指出,现代网络用户没有那么多耐心,它们不会在混乱的网站中苦苦寻找而是直接选择切换到另一个站点。这就是为什么开发者需要非常注意采用适当的导航类型。 在网站中实现导航栏的时候,使用jQuery导航插件是十分简单和快速的一个方式。插件各式各样,在... 阅读全文
posted @ 2014-03-13 08:50 Ranran 阅读(606) 评论(0) 推荐(0) 编辑
摘要:介绍 当用户双击DOM对象(例如按钮和链接等)时,对于用户交互一直是个麻烦的问题。 幸运的是, jQuery 提供了一个相当棒的解决方法。 那就是.one()。 .one()这个方法是做什么的? 它附加了一个元素事件的处理程序并且每个元素只能运行一次事件处理器函数。 参数 .one( events [, selector ] [, data ], handler(eventObject) ) events 类型: String规定添加到元素的一个或多个事件。由空格分隔多个事件。必须是有效的事件。就像“click”和“keydown.myPlugin”一样。 选择器参数 参数类... 阅读全文
posted @ 2014-03-12 17:17 Ranran 阅读(585) 评论(0) 推荐(0) 编辑
摘要:各种浏览器之间的竞争的白热化意味着越来越多的人现在开始使用那些支持最新、最先进的W3C Web标准的设备,以一种更具交互性的方式来访问互联网。这意味着我们终于能够利用更强大更灵活的CSS来创造更简洁,更好维护的浏览器前端代码。现在让我们来看一看一些也许你还不知道的让人兴奋的CSS 功能。 在CSS中用attr()显示HTML属性值 attr()功能早在CSS 2.1标准中就已经出现,但现在才开始普遍流行。它提供了一个巧妙的方法在CSS中使用HTML标签上的属性,在很多情况下都能帮你省去了以往需要Javascript处理的过程。 要想使用这个功能,你需要用到三种元素:一个:before ... 阅读全文
posted @ 2014-03-12 13:02 Ranran 阅读(514) 评论(0) 推荐(0) 编辑
摘要:优化SQL查询:如何写出高性能SQL语句1、首先要搞明白什么叫执行计划? 执行计划是数据库根据SQL语句和相关表的统计信息作出的一个查询方案,这个方案是由查询优化器自动分析产生欀如一条SQL语句如果用来从一个10万条记录的表中查1条记录,那查询优化器会选择“索引查找”方式,如果该表进行了归档,当前只剩下5000条记录了,那查询优化器就会改变方案,采用 “全表扫描”方式。 可见,执行计划并不是固定的,它是“个性化的”。产生一个正确的“执行计划”有两点很重要: (1)SQL语句是否清晰地告诉查询优化器它想干什么? (2)查询优化器得到的数据库统计信息是否是最新的、正确的?2、统一SQL... 阅读全文
posted @ 2014-03-11 13:15 Ranran 阅读(927) 评论(1) 推荐(2) 编辑
摘要:今天有个朋友在weibo上问我可不可以用JS和CSS让页面每次刷新随机产生一张背景图,当然我的回答是可以的。具体可以这样做:1、用JS定义一个图片数组,里面存放你想要随机展示的图片12345var imgArr=["http://www.google.com.hk/intl/zh-CN/images/logo_cn.png","http://www.baidu.com/img/baidu_sylogo1.gif","http://www.open-open.com/news/uploadImg/20120111/20120111081906_7 阅读全文
posted @ 2014-03-11 09:31 Ranran 阅读(1231) 评论(0) 推荐(0) 编辑
摘要:这篇文章目的是让初学者利用SQL注入技术来解决他们面临的问题, 成功的使用它们,并在这种攻击中保护自己。 1.0 介绍 当一台机器只打开了80端口, 你最依赖的漏洞扫描器也不能返回任何有用的内容, 并且你知道管理员经常为机器打补丁, 我们就不得不使用web攻击方式了. SQL注入是web攻击的一种类型 ,这种方式只需要开放80端口就够了并且即使管理员打了全部的补丁也能工作. 它攻击的目标是web程序(像ASP,JSP,PHP,CGI等)本身而不是web服务器或系统上运行的服务. 本文不介绍任何新的东西, SQL注入已经被广泛的讨论和使用. 我们写这篇文章目的是因为我们想要使用SQL注入... 阅读全文
posted @ 2014-03-10 14:20 Ranran 阅读(1632) 评论(1) 推荐(0) 编辑
摘要:DIV+CSS 斜线效果很简单,只需设置一下CSS Border 的边框就能有斜线效果。代码分享给大家,你可以自己变通。 提示要注意两点:1、DIV宽高的定义。2、DIV在 IE6 中默认是有高度的。 上图右边是我们要实现的效果,代码如下:123456789101112 在FF IE7 IE8 都显示正常,但在IE6中,却如上图左边所示,中间有差距,因此,需要加一行: line-height:0px; 最终代码如下:123456789101112131415 阅读全文
posted @ 2014-03-09 17:57 Ranran 阅读(1883) 评论(0) 推荐(0) 编辑
摘要:写Web页面就像我们建设房子一样,地基牢固,房子才不会倒。同样的,我们制作Web页面也一样,一个良好的HTML结构是制作一个美丽的网站的开始,同样的,良好的CSS只存在同样良好的HTML中,所以一个干净的,语义的HTML的优点很多,那么平时制作中,我们做到了这一点吗?我们一起来看一张图片: 上图展示了两段代码,我想大家都只会喜欢第一种,我们先不说其语义,至少他的结构让我们看上去清爽,而第二种呢?一看就是糟糕的代码的代码,让人讨厌的代码。那么要怎么样才能写出一个好的代码,整洁的代码呢?下面我们就从以下十二个方面一起来学习,只要大家以后在写代码的时候能坚持下面的十二个原则,保准你的代码质量能... 阅读全文
posted @ 2014-03-07 15:36 Ranran 阅读(495) 评论(0) 推荐(0) 编辑
摘要:大多数网站的内容都存在数据库里,用户通过请求来访问内容。数据库非常的快,有许多技巧能让你优化数据库的速度,使你不浪费服务器的资源。在这篇文章中,我收录了十个优化数据库速度的技巧。 1、小心设计数据库 第一个技巧也许看来理所当然,但事实上大部分数据库的问题都来自于设计不好的数据库结构。 譬如我曾经遇见过将客户端信息和支付信息储存在同一个数据库列中的例子。对于系统和用数据库的开发者来说,这很糟糕。 新建数据库时,应当将信息储存在不同的表里,采用标准的命名方式,并采用主键。 来源:http://www.simple-talk.com/sql/database-administratio... 阅读全文
posted @ 2014-03-07 09:06 Ranran 阅读(886) 评论(2) 推荐(1) 编辑
摘要:我已经在很多演讲里说过,改进你的系统的最好的方法是先避免做“蠢事”。我并不是说你或你开发的东西“蠢”,只是有些决定很容易被人们忽略掉其暗含的牵连,认识不到这样做对系统维护尤其是系统升级带来多大的麻烦。作为一个顾问,像这样的事情我到处都能见到,我还从来没有见过做出这样的决定的人有过好的结果的。 图片,文件,二进制数据 既然数据库支持BLOB类型的数据,把文件塞进BLOB字段里一定没有错了!?错,不是这样的!别的先不提,在很多数据库语言里,处理大字段都不是很容易。 把文件存放在数据库里有很多问题:对数据库的读/写的速度永远都赶不上文件系统处理的速度数据库备份变的巨大,越来越耗时间对文件的... 阅读全文
posted @ 2014-03-05 14:50 Ranran 阅读(1047) 评论(3) 推荐(0) 编辑
摘要:Cookie是一个伟大的发明,它允许Web开发者保留他们的用户的登录状态。但是当你的站点有一个以上的域名时就会出现问题了。在Cookie规范上说,一个cookie只能用于一个域名,不能够发给其它的域名。因此,如果在浏览器中对一个域名设置了一个cookie,这个cookie对于其它的域名将无效。如果你想让你的用户从你的站点中的其中一个进行登录,同时也可以在其它域名上进行登录,这可真是一个大难题。跨二级域名 我们知道cookie是可以跨二级域名来访问,这个很好理解,例如你 www.test1.com在的web应用程序创建了一个cookie,要想在bbs.test1.com这样的二级域名对应的... 阅读全文
posted @ 2014-03-05 11:57 Ranran 阅读(689) 评论(1) 推荐(0) 编辑
摘要:如何防止Access数据库下载是一个很老的话题了,网上的讨论也比较多。这里我们给出几种在ASP.NET下防止Access数据库被下载的方法。我们这里假设Access数据库名字为 test.mdb。1、把数据库放在WEB目录外如你的网站目录是D:\www,你可以把数据库放到D:\data 这个文件夹里,然后修改网站程序中的数据库连接字串地址部分为:"D:\data\test.mdb" ,这样数据库可以正常调用,但是无法下载的,因为它不在网站目录里。假设在web.config中配置数据库连接字符串。例如: 2、把数据库放在App_Data系统文件夹下从.Net2.0开... 阅读全文
posted @ 2014-03-05 06:21 Ranran 阅读(586) 评论(0) 推荐(0) 编辑
摘要:随着数据库的发展,如今的数据库可以储存大量的数据,内存也是越来越大,但是无论您的内存多大,内存总是显得不够用,这时就要涉及到分页,下文中将为大家带来详细的数据库分页操作。 1.Oracle:12select * from ( select row_.*, rownum rownum_ from ( query_SQL ) row_ where rownum == min 2.SQL Server:12select top @pagesize * from tablename where id not in(select top @pagesize*(@page-1) id from tab.. 阅读全文
posted @ 2014-03-04 09:00 Ranran 阅读(571) 评论(0) 推荐(0) 编辑
摘要:《parctical common lisp》的作者曾说,如果你需要一种模式,那一定是哪里出了问题。他所说的问题是指因为语言的天生缺陷,不得不去寻求和总结一种通用的解决方案。 不管是弱类型或强类型,静态或动态语言,命令式或说明式语言、每种语言都有天生的优缺点。一个牙买加运动员, 在短跑甚至拳击方面有一些优势,在练瑜伽上就欠缺一些。 术士和暗影牧师很容易成为一个出色的辅助,而一个背着梅肯满地图飞的敌法就会略显尴尬。 换到程序中, 静态语言里可能需要花很多功夫来实现装饰者,而js由于能随时往对象上面扔方法,以至于装饰者模式在js里成了鸡肋。 讲javascript设计模式的书还比较少. ... 阅读全文
posted @ 2014-03-02 17:28 Ranran 阅读(877) 评论(3) 推荐(5) 编辑

点击右上角即可分享
微信分享提示