标签 javascript 下的文章
淘宝如何跨域获取Cookie分析
可以确定的是对于cookie来说肯定是不允许垮域访问的。无论是通过JS还是Server端程序来说都是如此,那么tmall.com是如何访问到taobao.com下的cookie的呢?
最近在发现使用Taobao的时候的一个小细节,于是便萌发起了写这篇文章。
当我们在 www.taobao.com 中进行登录之后,然后直接切换到 www.tmall.com 域名下,发现www.tmall.com首页的最顶部马上显示成了”您好, andyfaces“,于是便对此处的实现机制进行分析。
••••••移动端左右滑动菜单
var a =a ||{}
首先,搞明白||的意思。
1、在js里面,||运算符,比如(A||B)有个很有意思的用处:
2、系统先判断A表达式的布尔值,是真是假。如果为真,直接返回A。如果为假,直接返回B(不会判断B是什么类型)。
所以,var a=a||{},这样写的意图就是,先考虑右侧的表达式 a||{}, 根据规则,先判断a的值是否为真(也就是判断a本身是否存在),如果a本身存在,则返回a。如果a不存在,则返回后面的{}。最后再将值返回给a。这样写,虽然看着比较复杂点,但是效率高,特别是判断一些变量,属性或者是传参是否存在,如果存在就直接用,不存在,就赋予一个空变量。相当于下面的简写:
if (a) {
var a = a;
} else {
var a = {}; // 将一个空对象传给 a
}
if语句的另一种写法
if(a >=5){
alert("你好");
}
可以写成:
a >= 5 && alert("你好");
手机网站移动端图片实现延迟加载
由于国内的电信网络性价比的限制,和手机处理能力的差异,在设计一个无线应用的时候,为用户节省流量是一个非常重要的考虑因素。可以说每一个字节都应该为客户端节省。
••••••倒计时
<div class="time">
<span class="day"></span>
<i>天</i>
<span class="hour"></span>
<i>时</i>
<span class="minute"></span>
<i>分</i>
<span class="second"></span>
<i>秒</i>
</div>
•••••• Js 按钮倒计时
案例一
function countDown(obj,second){
// 如果秒数还是大于0,则表示倒计时还没结束
if(second>=0){
// 获取默认按钮上的文字
if(typeof buttonDefaultValue === 'undefined' ){
buttonDefaultValue = obj.defaultValue;
}
// 按钮置为不可点击状态
obj.disabled = true;
// 按钮里的内容呈现倒计时状态
obj.value = buttonDefaultValue+'('+second+')';
// 时间减一
second--;
// 一秒后重复执行
setTimeout(function(){countDown(obj,second);},1000);
// 否则,按钮重置为初始状态
}else{
// 按钮置未可点击状态
obj.disabled = false;
// 按钮里的内容恢复初始状态
obj.value = buttonDefaultValue;
}
}
<input onclick="countDown(this,30);" type="button" value="发送短信" />
案例二
var secs = 10;
function countDown(ele){
if(secs == 0){
ele.removeAttribute("disabled");
ele.innerHTML="重新获取验证码";
secs = 10;
}else{
ele.setAttribute("disabled", true);
ele.innerHTML="重新发送(" + secs + ")";
secs--;
setTimeout(function(){
countDown(ele);
},1000)
}
}
<button type="button" id="btn3" onClick="countDown(btn3)" class="btn btn-primary">立即注册</button>
Js 判断 div 是否为空
$("#main").each(function(){
var t = $(this).html();
t = t.replace(/[\r\n]/g,"").replace(/[ ]/g,"");
if(t == ''){
// 如果为空
}else{
// 如果不为空
}
});
或
String.prototype.isEmpty = function () {
var s1 = this.replace(/[\r\n]/g, '').replace(/[ ]/g, ''),
s2 = (s1 == '') ? true : false;
return s2;
};
$('.list').html().isEmpty();