最近一直在使用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));
}
}

1:时间戳转换成年月日函数,2:url截取参数方法,3:弹窗自定义方法 4:点击按钮加入购物车的更多相关文章

  1. js angular 时间戳转换成日期格式 年月日 yyyy-MM-dd

    昨天写项目,要把时间戳转换成日期格式发给后端 我就去网上找 看到的一些都不是我想要的 索性自己就写了一个如图 下面是angular 模式 $scope.getMyDate = function(str ...

  2. vue element-ui表格里时间戳转换成时间显示

    工作中遇到后台给的表格数据里时间是一个13位的时间戳,需要转换成时间显示在表格里, 可以用element-ui表格自带的:formatter函数,来格式化表格内容: // 时间戳转换成时间 // 使用 ...

  3. 将日期转换为指定的格式:比如转换成 年月日时分秒 这种格式:yyyy-MM-dd hh:mm:ss 或者 yyyy-MM-dd。总结下。

    可以为Date原型添加如下的方法: Date.prototype.format = function(fmt) { var o = { "M+" : this.getMonth() ...

  4. 时间戳转换成日期的js

    在项目开发过程中,我们常常需要把时间戳转换成日期.下面这个是我一直使用的js方法,希望能帮助到有需要的朋友.大家如果有更好的方法,请多多指教! js代码如下: //时间戳转换成日期 function ...

  5. unix时间戳转换成标准时间(c#)

    //---unix时间戳转换成标准时间(c#)---//     /*     string timeStamp = "1144821796";     DateTime dtSt ...

  6. C#将unix时间戳转换成.net的DateTime类型的代码

    下面的内容是关于C#将unix时间戳转换成.net的DateTime类型的内容. DateTime epoch = new DateTime(1970,1,1,0,0,0,0, DateTimeKin ...

  7. js中时间戳转换成时间格式

    js中时间戳转换成时间格式, // 时间戳转换成时间格式 var formatDate = function(date){ date = new Date(date); var y=date.getF ...

  8. Java-Runoob-高级教程-实例-时间处理:04. Java 实例 - 时间戳转换成时间

    ylbtech-Java-Runoob-高级教程-实例-时间处理:04. Java 实例 - 时间戳转换成时间 1.返回顶部 1. Java 实例 - 时间戳转换成时间  Java 实例 以下实例演示 ...

  9. C# 13位时间戳转换成标准时间C#代码

    原地址:https://www.cnblogs.com/yixuehan/p/5559244.html /// <summary> /// 时间戳转换成标准时间 /// </summ ...

随机推荐

  1. 使用Html5+C#+微信 开发移动端游戏详细教程 :(三)使用html5引擎搭建游戏框架

    教程里的案例我们是通过H5游戏引擎开发,目前H5的游戏引擎比较好用的是白鹭,不过对于新手来说白鹭的开发环境和工具使用过于复杂,这里推荐一个国内大神编写的游戏引擎:lufylegend. 直接在页面引入 ...

  2. svn冲突问题详解

    开发人员都知道代码管理工具是开发中一个必不可少的工具,这里也不废话详细介绍了.不管你个人喜欢git还是svn还是其他,但还有一大部分公司在使用svn做代码管理工具.这里详细介绍下SVN提交文件时冲突问 ...

  3. [C/C++]函数指针和函数分发表

    // console.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> using nam ...

  4. Elasticsearch聚合 之 Date Histogram聚合

    Elasticsearch的聚合主要分成两大类:metric和bucket,2.0中新增了pipeline还没有研究.本篇还是来介绍Bucket聚合中的常用聚合--date histogram.参考: ...

  5. 基于HTML5的WebGL电信网管3D机房监控应用

    先上段视频,不是在玩游戏哦,是规规矩矩的电信网管企业应用,嗯,全键盘的漫游3D机房: http://www.hightopo.com/guide/guide/core/3d/examples/exam ...

  6. Java魔法堂:类加载机制入了个门

    一.前言 当在CMD/SHELL中输入 $ java Main<CR><LF> 后,Main程序就开始运行了,但在运行之前总得先把Main.class及其所依赖的类加载到JVM ...

  7. SQL Server时间粒度系列----第4节季、年时间粒度详解

    本文目录列表: 1.SQL Server季时间粒度2.SQL Server年时间粒度 3.总结语 4.参考清单列表   SQL Serve季时间粒度       季时间粒度也即是季度时间粒度.一年每3 ...

  8. SQL2005四个排名函数(row_number、rank、dense_rank和ntile)的比较

    排名函数是SQL Server2005新加的功能.在SQL Server2005中有如下四个排名函数: .row_number .rank .dense_rank .ntile 下面分别介绍一下这四个 ...

  9. 30天C#基础巩固------读写流(StreamWrite/StreamReader)

    一:读写流的一些案例. --->关于StreamWrite       这里的一些常用的方法和我们之前的那个FileStream是一样的,参数很多都是一样的用法. Console.WriteLi ...

  10. 理解TCP/IP三次握手与四次挥手的正确姿势

    背景 注:以下情节纯属虚构,我并没有女朋友==. 和女朋友异地恋一年多,为了保持感情我提议每天晚上视频聊天一次. 从好上开始,到现在,一年多也算坚持下来了. 问题 有时候聊天的过程中,我的网络或者她的 ...