1:時間戳轉換成年月日函數,2:url截取參數方法,3:彈窗自定義方法 4:點擊按鈕加入購物車


最近一直在使用vue.js來構建項目,先分享一下一些簡單可複用的函數。


1:時間戳轉換
Date.prototype.format = function(fmt){ //author: yumeiqiang
var o = {
"M+": this.getMonth() + 1, //月份
"d+": this.getDate(), //日
"w+":'星期'+this.getDay(),
"h+": this.getHours(), //小時
"m+": this.getMinutes(), //分
"s+": this.getSeconds(), //秒
"q+": Math.floor((this.getMonth() + 3) / 3), //季度
"S": this.getMilliseconds() //毫秒
};
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o)
if (new RegExp("(" + k + ")").test(fmt))
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
return fmt;
};
使用方法爲 new Date(時間戳).format("yyyy-MM-dd  w hh:mm:ss")可隨意在format函數中自定義添加


2:URL參數截取函數
var getUrl = {
getUrlParam: function (name) {
return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search)
||[,""])[1].replace(/\+/g, '%20'))||null;
}
};
使用方法:假設URL連接爲http://www.baidu.com?from=yu&id=13456
截取from的參數爲 getUrl.getUrlParam('from')可獲得yu

3:自定義彈窗
var alertFn = function (text) {//1秒倒計時
document.getElementById('alert1').style.display='block';
var time = 1;
document.getElementById('alert1').innerHTML=text;
Showalert(time);
};
var Showalert = function (time) {
setTimeout(function () {
time--;
if (time < 0) {
document.getElementById('alert1').style.display='none'
} else {
Showalert(time);
}
}, 1000);
};
使用方法:在html中標籤例如 <div class='alert1' id='alert1'></div> id名稱與上述中保持一致,而後自定義css彈窗樣式與內容,
而後只需在須要使用彈窗的地方調用 alertFn()便可

4:點擊按鈕加入購物車

var cart = function($event){    var el=$event.currentTarget;    var tkId=el.getAttribute("data-id");    var name=el.getAttribute("data-name");    var price=el.getAttribute("data-price");    var img=el.getAttribute("data-img");    var reserved=el.getAttribute("data-order");    this.message++;    var product = {        'tkId': tkId,        'tkName': name,        'num':1,        'img':img,        'price': parseFloat(price),        'reserved': parseInt(reserved),        'pid': getUrl.getUrlParam('share') ? getUrl.getUrlParam('share') : 0    };    console.log(product.pid);    //添加購物車    var ShoppingCart = localStorage.getItem('ShoppingCart');    if(ShoppingCart==null||ShoppingCart==""){        //第一次加入商品        var jsonStr = {"productlist":[{"img":product.img,"tkId":product.tkId,"tkName":product.tkName,"num":product.num, "price":product.price, "reserved":product.reserved, "pid": product.pid}],            "totalNumber":product.num,"totalAmount":(product.price * product.num)};        localStorage.setItem("ShoppingCart", JSON.stringify(jsonStr));        console.log(JSON.stringify(jsonStr));    } else {        // add goods        var jsonStr = JSON.parse(ShoppingCart);        var productlist = jsonStr.productlist;        var result=false;        //查找購物車中是否有該商品        for(var i in productlist) {            if(productlist[i].tkId == product.tkId){                productlist[i].num++;                productlist[i].pid = product.pid;                jsonStr.totalNumber++;                jsonStr.totalAmount += parseFloat(product.price);                result = true;            }        }        if(!result){            //沒有該商品就直接加進去            productlist.push({"img":product.img, "tkId":product.tkId, "tkName":product.tkName, "num":product.num, "price":product.price, "reserved":product.reserved, "pid": product.pid});            jsonStr.totalNumber++;            jsonStr.totalAmount += parseFloat(product.price);        }        //保存購物車        localStorage.setItem("ShoppingCart", JSON.stringify(jsonStr));    }}
相關文章
相關標籤/搜索