- 浏览: 101446 次
- 性别:
- 来自: 上海
最新评论
文章列表
计算window窗口大小
- 博客分类:
- JavaScript
var width = window.innerWidth;
var height = window.innerHeight;
if(typeof width != 'number'){//IE 5/6/7/8
if(document.compatMode == 'CSS1Compat'){
width = document.documentElement.clientWidth;
height = document.docuementElement.clientHeight;
}else{
width = document.body.clientWid ...
计算滚动条宽度
- 博客分类:
- JavaScript
看bootstrap源码,看到计算滚动条宽度问题,mark一下
.modal-scrollbar-measure {
height: 50px;
overflow: scroll;
position: absolute;
top: -9999px;
width: 50px;
}
function measureScrollbar () { var $body=$(document.body); var scrollDiv = document.createElement('di ...
这几天研究ehcache jgroup同步缓存,照着官方例子做了做,一直出错,,原来官方例子有点错误
http://www.ehcache.org/generated/2.9.0/html/ehc-all/#page/Ehcache_Documentation_Set%2Fco-jgrp_common_issues_with_jgroup_replication.html%23
首先,包依赖如下:
<dependency>
<groupId>net.sf.ehcache</groupId>
<artifactI ...
jquery tabs
- 博客分类:
- jQuery
记录一下tabs插件。
/* tab box */
.x-tabs {
}
.x-tab-menu-box {
position: relative;
border-bottom: 1px solid #e8e8e8;
}
.x-tab-menu {
position: relative;
top: 1px;
width: 100%;
overflow: hidden;
list-style: none;
z-index: 3;
}
.x-tab-item {
float: left;
position: relati ...
JS变量对象delete
- 博客分类:
- JavaScript
转载:http://www.nowamagic.net/librarys/veda/detail/1673
关于变量,有一个重要的知识点。变量相对于简单属性来说,变量有一个特性(attribute):{DontDelete},这个特性的含义就是不能用delete操作符直接删除变量属性。
1
a = 10;
2
alert(window.a); // 10
3
alert(delete a); // true
4
alert(window.a); // undefined
5
6 ...
函数表达式
- 博客分类:
- JavaScript
按照标准,表达式语句不能以一个大括号{开始是因为他很难与代码块区分,同样,他也不能以函数关键字开始,因为很难与函数声明进行区分,故而一下方式错误:
1.{}.constructor;
2.function(){}();
分组()处理:
1.
({}).constructor;
2.
(function(){})();
或修改成赋值表达式:
1.
var x={}.constructor;
2.
var x=function(){}();
function test(){}()错误,因为分组操作符()内为空,
function test(){}(1) ...
JavaScript的大括号的语义
- 博客分类:
- JavaScript
转载:http://www.nowamagic.net/librarys/veda/detail/1016
Javascript中大括号"{}"有四种语义作用:
语义1. 组织复合语句,这是最常见的:
1
if( condition ) {
2
//...
3
}else {
4
//...
5
}
6
for() { ...
几个字面量转换
- 博客分类:
- JavaScript
var myVar = "3.14159",
str = ""+ myVar,// to string
int = ~~myVar, // to integer
float = 1*myVar, // to float
bool = !!myVar, /* to boolean - any string with length
...
函数表达式解惑
- 博客分类:
- JavaScript
转载:http://www.nowamagic.net/librarys/veda/detail/1663
函数表达式(缩写为FE)是这样一种函数:
在源码中须出现在表达式的位置
有可选的名称
不会影响变量对象
在代码执行阶段创建
这种函数类型的主要特点在于它在源码中总是处在表达式的位置。最简单的一个例子就是一个赋值声明:
1
var foo = function () {
2
...
3
};
该例演示是让一个匿名函数表达式赋值给变量foo,然后该函数可以用foo这个名称进行访问——foo()。
...
var全局变量声明方式区别
- 博客分类:
- JavaScript
转载:http://www.nowamagic.net/librarys/veda/detail/1623
隐式全局变量和明确定义的全局变量间有些小的差异,就是通过delete操作符让变量未定义的能力。
通过var创建的全局变量(任何函数之外的程序中创建)是不能被删除的。
无var创建的隐式全局变量(无视是否在函数中创建)是能被删除的。
这表明,在技术上,隐式全局变量并不是真正的全局变量,但它们是全局对象的属性。属性是可以通过delete操作符删除的,而变量是不能的:
01
// 定义三个全局变量
02
var global_var = 1;
...
转载:http://www.nowamagic.net/librarys/veda/detail/953
JavaScript 倾向于阻塞浏览器某些处理过程,如HTTP 请求和界面刷新,这是开发者面临的最显著的性能问题。保持JavaScript文件短小,并限制HTTP请求的数量,只是创建反应迅速的网页应用的第一 步。一个应用程序所包含的功能越多,所需要的JavaScript 代码就越大,保持源码短小并不总是一种选择。尽管下载一个大JavaScript 文件只产生一次HTTP 请求,却会锁定浏览器一大段时间。为避开这种情况,你需要向页面中逐步添加JavaScript,某种程度上说不会阻塞浏览器 ...
字符串+还是数据push
- 博客分类:
- JavaScript
在早期的浏览器中,没有创建和销毁中间字符串,在大量字符串连接情况下,数组push技术已被证明远快于使用加法方式。
如今浏览器对字符串的优化已经改变了字符串相连的局面。Safari、Opera、Chrome、Firefox和IE8都在使用加法运算 符上表现出了更好的性能。但是,IE8之前的版本没有优化,因此数组方法依然有效。这并不意味着字符串相连时我们要进行浏览器检测。在决定如何连接时要考 虑的是字符串的大小和数量。
当字符串相对较小(小于20字符)且连接数量也较小时(小于1000个),所有的浏览器使用加法运算符都能在不到1毫秒内轻松完成连接。增 加字符串数量或大小时,IE7中性能会明显下降 ...
转载:http://www.nowamagic.net/librarys/veda/detail/452
尽管那需要用长串的、沉闷的不同分支代码来应付不同浏览器的日子已经过去,偶尔还是有必要做一些简单的区分和目标检测来确保某块代码能在用户的机器上正常运行。下面介绍一些在IE和Firefox中不同的JavaScript句法。
CSS "float" 值
访问一个给定CSS 值的最基本句法是:object.style.property,使用驼峰写法来替换有连接符的值,例如,访问某个ID为"header"的<div>的 backgr ...
转载:http://www.nowamagic.net/librarys/veda/detail/1698
实现模拟trigger click方法,实现方式判断浏览器,判断nodeName
依据是Safari/Chrome不支持非input/button元素的click方法。
function triggerClick( el ) {
var nodeName = el.nodeName,
safari_chrome = /webkit/.test(navigator.userAgent.toLowerCase());
if(safa ...
jquery datefield
- 博客分类:
- jQuery
支持年月日、年月、年月日时分秒、年月日时分、时分秒、时分六种下拉选择
注意,需要moment.js插件作为前提
;
(function($) {
/** 国际化 **/
$.i18n = $.i18n || {};
$.i18n.week = '周';
$.i18n.days = [ '日', '一', '二', '三', '四', '五', '六' ];
$.i18n.shortDays = [ '日', '一', '二', '三', '四', '五', '六' ];
$.i18n.months = [ "一月", "二月&quo ...