基礎行為 | 鼠標滾動 | Cookie 筆記
阻止默認行為
return false: 1、適用於obj.on[xxx] = fn所觸發的行為 2、attachEvent綁定;
e.preventDefault():適用於addEventListener綁定的事件。
function (ev) {
ev = ev || event
if (ev.preventDefault) {
ev.preventDefault();
}
else {
ev.returnValue = false;
return false;
}
}
鼠標滾動
ie/chrome : e.onmousewheel
底下 e.wheelDelta 數字類型:上 : 120 , 下 : -120
ff : DOMMouseScroll 必須用addEventListener綁定 [ ff認為給obj添加一個onmousewheel屬性 ]
底下 e.detail 數字類型:上 : -3,下 : 3
box.onmousewheel = fn
if (box.addEventListener) { //做判斷,否則ie8報錯
box.addEventListener('DOMMouseScroll', fn, false)
}
function fn(e) { //updown為true滾上,為false滾下
var updown = true;
var e = e || event;
if (e.wheelDelta) {
updown = e.wheelDelta > 0 ? true : false;
}
else {
updown = e.detail < 0 ? true : false
}
if (updown) {
// do something
} else {
// do something
}
return false
if (e.preventDefault) {
e.preventDefault()
}
}
Cookie
1、不同瀏覽器位置不同;
2、cookie以域名形式存;
3、cookie數據可設置名字,j.name = elmok;
4、通過document.cookie 來獲取當前網站下的cookie,得到字符串形式值;
5、域名下存放多個cookie ,不同瀏覽器不同;
6、每個cookie存放內容大小也是有限制,不同瀏覽器不同;
7、長時間存放cookie需要設置時間;document.cookie = '名稱 = 值;expires='+時間【必須是字符串格式】;toGMTString
8、cookie默認臨時存儲,當瀏覽器關閉進程時自動銷毀;
9、有特殊如n,使用encodeURI/decodeURI;
//設置一個cookie
var _Date = new Date();
_Date.setDate(_Date.getDate() + 7) //7天以後
document.cookie = 'username = elmok;expires=' + _Date.toGMTString();
console.log(_Date);// Date {Fri Aug 21 2015 22:24:41 GMT+0800};
console.log(encodeURI('你好'))
console.log(decodeURI('%E4%BD%A0%E5%A5%BD'))
//方法封裝
function getCookie(key) {
var arr = document.cookie.split('; ')
for (var i = 0; i < arr.length; i++) {
var arrN = arr[i].split('=')
if (arrN[0] == key) {
return decodeURI(arrN[1]);
}
}
}
function setCookie(key, value, t) {
var _Date = new Date();
_Date.setDate(_Date.getDate() + t)
document.cookie = key + '=' + value + ';expires=' + _Date.toGMTString()
}
function removeCookie(key) {
setCookie(key, '', - 1);
}
getCookie('username');
setCookie('sex', '男', 10);
removeCookie('sex')
//ex
var _uname = document.getElementById('username')
var _login = document.getElementById('login')
var _del = document.getElementById('del')
if (getCookie('username')) {
_uname.value = getCookie('username')
}
_login.onclick = function () {
alert('ok')
setCookie('username', _uname.value, 5)
}
_del.onclick = function () {
removeCookie('username')
_uname.value = '';
}