javascript
panlinglong
这个作者很懒,什么都没留下…
展开
-
require.js的用法
一、为什么要用require.js?最早的时候,所有Javascript代码都写在一个文件里面,只要加载这一个文件就够了。后来,代码越来越多,一个文件不够了,必须分成多个文件,依次加载。下面的网页代码,相信很多人都见过。<script src='3.js'>这段代码依次加载多个js文件。这样的写法有很大的缺点。首先,加载的时候,浏览器原创 2014-05-28 15:40:00 · 1002 阅读 · 0 评论 -
字符串是否在DOM中重复
判断字符串是否重复 baidu0.com baidu1.com baidu2.comvar fl=0;//判断是否有重复值,0表示没有,1表示有var valurl=$("[name='addlink_txt']").val().replace(/\s/g,"");$("[name='addlink_btn']").bi原创 2014-09-29 10:02:37 · 522 阅读 · 0 评论 -
JS光标定位到文本框字符串末尾
在开发网站表单的时候,为了给用户良好的体验度,在验证表单数据的时候,我们会先使用JavaScript来进行表单数据的验证,如果用户输入的数据不对,我们就可以马上给出提示信息。为了更进一步给用户良好的体验感,比如用户在几个文本框内输入了数据,提交的时候,某个文本框内的数据不对,我们在提示哪项数据不符的情况下,再把光标定位到该项文本框内。我们在这么做的时候,会发现一个问题,就是光标位置的问题,光标虽然原创 2014-10-20 14:00:31 · 8268 阅读 · 0 评论 -
字符串转换成json对象
1,eval方式解析,恐怕这是最早的解析方式了,如下:function strToJson(str){var json = eval('(' + str + ')');return json;} 记得别忘了str两旁的小括号。(一定要加上)2,new Function形式,比较怪异哦。如下function strToJson(str){var json = (new Funct原创 2015-05-08 14:12:24 · 660 阅读 · 0 评论 -
用JS创建json数据,并且可以动态往json数据里面添加新值,也可以修改值。
函数不需要 return,因为 json 对象会被函数直接修改。var str1 = {"name": "apple", "sex": "21"}; // 参数:prop = 属性,val = 值function createJson(prop, val) { // 如果 val 被忽略 if(typeof val === "undefin原创 2015-05-07 16:26:18 · 28271 阅读 · 0 评论 -
js鼠标禁止右键,复制,黏贴等功能
禁止鼠标右键:oncontextmenu="return false"; 禁止选择:onselectstart="return false"; 禁止拖放:ondragstart="return false"; 禁止拷贝:oncopy=document.selection.empty() 。 禁止保存:,放在head里面。 禁止粘贴: 关闭输入法: 使用方法:原创 2015-05-27 18:15:22 · 1143 阅读 · 0 评论 -
阻止事件冒泡,阻止默认事件的代码
阻止事件冒泡到上级function stopBubble(e){ // 如果传入了事件对象,那么就是非ie浏览器 if(e&&e.stopPropagation){ //因此它支持W3C的stopPropagation()方法 e.stopPropagation(); }else{ //否则我们使用ie的方法来取消事件冒泡 window.eve原创 2015-06-02 15:32:06 · 688 阅读 · 0 评论 -
前端web开发的MVC模式 - 从一个简单实例讲起
前端web开发的MVC模式 - 从一个简单实例讲起MVC概论起初来之桌面应用开发。其实java的structs框架最能体现MVC框架:model模型是理解成服务器端的模块程序;view为发送给客服端的内容;control为servlet程序控制跳转和工作流。随着前端Ajax兴起、前端开发工作进一步划分:js程序员和ue页面制作、另外从整个前端项目的清晰明朗以可扩展性转载 2015-03-18 17:31:25 · 2168 阅读 · 0 评论 -
AJAX 跨域请求 - JSONP获取JSON数据
Asynchronous JavaScript and XML (Ajax) 是驱动新一代 Web 站点(流行术语为 Web 2.0 站点)的关键技术。Ajax 允许在不干扰 Web 应用程序的显示和行为的情况下在后台进行数据检索。使用XMLHttpRequest 函数获取数据,它是一种 API,允许客户端 JavaScript 通过 HTTP 连接到远程服务器。Ajax 也是许多 mashu原创 2015-08-31 13:49:42 · 1350 阅读 · 0 评论 -
如何检测 JavaScript 中的自定义全局变量
译者注: 全局变量的滥用是一种很糟糕的程序设计。很容易造成依赖和状态混乱。 而在 Java 和 JavaScript 这种自动垃圾回收的语言里面,全局(可见的)变量一直是内存泄露的隐藏杀手。本文提供了一种靠谱的检测全局变量实现方式.在 JavaScript中随意设置全局变量并不是个好习惯。原文作者参与了 MooTools 项目, 据他所说, 已经有十年时间天天听到与此相关的谈论。 Mo原创 2015-09-17 14:08:33 · 836 阅读 · 0 评论 -
实现jQuery扩展总结
开发自己需要的jQuery插件,看个示例说明"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> new document /*jQuery插件的开发包括两种:一种是类级别的插件开发,即给jQuery添加新的全局函数,相当于给jQuery类本身添加方法。jQuery的全局函数原创 2015-11-23 17:24:48 · 501 阅读 · 0 评论 -
禁止鼠标选中,禁用鼠标右键的代码
document.body.onselectstart=function(){return false;};禁止用户选中网页上的内容,IE及Chrome下的方法一样。使用onselectstart,例如 IE: Firefox下,控制css: body { -moz-user-select: none; }注:Firefox/Opera不支持onselectstart事件,所以用css方原创 2015-06-02 15:25:18 · 2177 阅读 · 0 评论 -
二位数组排序
var ar=[['a',75,86,95,64],['b',66,88,77,99],['c',86,45,76,85],['d',94,65,86,70]] function cmp(a,b){ return a[1]-b[1]; } function mysort(){ ar=ar.sort(cmp原创 2014-09-17 17:17:06 · 550 阅读 · 0 评论 -
window.location后面的属性
hash 设置或返回从井号 (#) 开始的 URL(锚)host 设置或返回主机名和当前 URL 的端口号hostname 设置或返回当前 URL 的主机名href 设置或返回完整的 URLpathname 设置或返回当前 URL 的路径部分port 设置或返回当前 URL 的端口号protocol 设置或返回当前 URL 的协议search 设置或返回从问号 (?) 开始的 URL原创 2014-08-12 11:30:13 · 744 阅读 · 0 评论 -
Seajs的用法
新建一个HTML文件index.html,在index.html文件页尾,通过引入原创 2014-06-03 10:10:14 · 943 阅读 · 0 评论 -
js中获取窗口高度的方法
在IE中:document.body.clientWidth ==> BODY对象宽度document.body.clientHeight ==> BODY对象高度document.documentElement.clientWidth ==> 可见区域宽度document.documentElement.clientHeight ==> 可见区域高度document.docu原创 2014-06-23 16:32:20 · 812 阅读 · 0 评论 -
js判断浏览器类型
function getOs() { var OsObject = ""; if(navigator.userAgent.indexOf("MSIE")>0) { return "MSIE"; } if(isFirefox=navigator.userAgent.indexOf("Firefox")>0){原创 2014-07-18 15:03:49 · 592 阅读 · 0 评论 -
jquery.easing.js缓动函数插件的用法
jQuery 提供了一些诸如 show、hide、slideUp、fadeIn 等等动画方法,可以方便的切换元素的显隐。更有强大的自定义动画方法 animate ,可以实现很多动画效果。为了让动画有好的过渡变化过程,官方为这些方法设置 easing 属性,但是官方没有给出很多过渡效果。jquery.easing.js 这个插件,增加了很多过渡效果,引入之后可以让动画过渡过程更加多样化。原创 2014-06-30 16:22:13 · 2711 阅读 · 0 评论 -
jQuery 操作复选框(checkbox) attr checked不起作用
这天用到jQuery功能,想实现一个简单的复选框动态全选或全不选,结果测试发现attr(‘checked’,'checked’);与attr(‘checked’,true); 都不好使,要么第一次成功了,第二次调用就没反应,完全不起作用了。那到底是什么原因呢?害得‘跑客教授’到处到网上搜 jQuery checkbox的操作,动态选择的相关文章,都写着是这样的实现代码原创 2014-07-25 11:13:56 · 808 阅读 · 0 评论 -
RequireJS、SeaJS、 LABjs的区别
LABjs 的核心是 LAB(Loading and Blocking):Loading 指异步并行加载,Blocking 是指同步等待执行。LABjs 通过优雅的语法(script 和 wait)实现了这两大特性,核心价值是性能优化。LABjs 是一个文件加载器。RequireJS 和 SeaJS 则是模块加载器,倡导的是一种模块化开发理念,核心价值是让 JavaScript 的模块原创 2014-06-03 09:32:10 · 816 阅读 · 0 评论 -
AMD 和 CMD 的区别有哪些
AMD 规范在这里:https://github.com/amdjs/amdjs-api/wiki/AMDCMD 规范在这里:https://github.com/seajs/seajs/issues/242AMD 是 RequireJS 在推广过程中对模块定义的规范化产出。CMD 是 SeaJS 在推广过程中对模块定义的规范化产出。类似的还有 CommonJS Modules原创 2014-06-03 09:40:35 · 899 阅读 · 0 评论 -
正则表达式
验证数字的正则表达式集 验证数字:^[0-9]*$验证n位的数字:^\d{n}$验证至少n位数字:^\d{n,}$验证m-n位的数字:^\d{m,n}$验证零和非零开头的数字:^(0|[1-9][0-9]*)$验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$验证有1-3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$验证非零的正整数:^\+?[1-9][原创 2014-07-17 10:03:06 · 405 阅读 · 0 评论 -
转换特殊符号,防止用户在文本域中输入html标签
String.prototype.htmlEncode=function(){ return this.replace(/&/g,"&").replace(//g,">").replace(/\"/g,""").replace(/\'/g,"'");} String.prototype.htmlDecode=function(){ return this.replace(/\&原创 2014-07-30 13:59:23 · 1380 阅读 · 0 评论 -
iframe页面和父页面之间元素查找的方法
从父页面中查找iframe子页面中对象的方法:JS:jQuery:$('#iframe').contents() //查找iframe加载的页面的document对象 $('#iframe').contents().find('body') //查找iframe加载的页面的body对象 $('#iframe').contents().find('body').find('#ic原创 2014-08-05 11:30:16 · 770 阅读 · 0 评论 -
$(this).attr(‘checked’)返回dundefined问题
最近在对一个项目的前端进行调整时,发现项目原来用的低版本的jQuery存在一些问题,于是就把jQuery换成了比较新的v1.72,但是发现原来$(this).attr(‘checked’)返回的不再是true or false,选中的情况下返回checked,未选中的情况返回undefined,看了jQuery文档后原来v1.6以后$(this).attr(‘checked’)就返回check原创 2014-07-14 11:13:39 · 559 阅读 · 0 评论 -
手机端拖拽事件,获取pageX和pageY坐标方式
手机端拖拽事件:touchstart事件:当手指触摸屏幕时候触发,即使已经有一个手指放在屏幕上也会触发。touchmove事件:当手指在屏幕上滑动的时候连续地触发。在这个事件发生期间,调用preventDefault()事件可以阻止滚动。touchend事件:当手指从屏幕上离开的时候触发。touchcancel事件:当系统停止跟踪触摸的时候触发。原创 2016-10-10 15:44:37 · 10966 阅读 · 1 评论