GVKun编程网logo

HTML5实现签到 功能(html签到页面)

10

在本文中,我们将为您详细介绍HTML5实现签到功能的相关知识,并且为您解答关于html签到页面的疑问,此外,我们还会提供一些关于html5实现canvas阴影效果示例_html5教程技巧、HTML5实

在本文中,我们将为您详细介绍HTML5实现签到 功能的相关知识,并且为您解答关于html签到页面的疑问,此外,我们还会提供一些关于html5实现canvas阴影效果示例_html5教程技巧、HTML5实现input框下拉功能,模糊匹配功能、Html5实现iPhone开机界面示例代码_html5教程技巧、HTML5实现Notification API桌面通知功能 _html5教程技巧的有用信息。

本文目录一览:

HTML5实现签到 功能(html签到页面)

HTML5实现签到 功能(html签到页面)

Introduce(介绍) 用户签到的H5例子(css+jquery,无图片),由于网上找的的用户签到例子都不好,要不就是好多图片组成的,要不就大量冗余代码,所以特意做了个签到界面(移动端)。 User sign sample page for mobile using h5 which only use css + jquery + html. Demo https://fallstar0.github.io/SignSample/ Shot(截图) 一些关键的地方 这个功能的编写思路是,先构建日期和签到相关数据,然后从服务端获取数据,并对原有数据进行更改,最后进行渲染。 这样子很好的摆脱了逻辑比较凌乱的问题,并且可以直接将这些数据用 vue.js 来挂载(本文没有这样做)。 生成日期数据 //生成日期数据 function buildData() { var da = { dates: [],//日期数据,从1号开始 current: '',//当前日期 monthFirst: 1,//获取当月的1日等于星期几 month: 0,//当前月份 days: 30,//当前月份共有多少天 day: 0,//今天几号了 isSigned: false,//今天是否已经签到 signLastDays:3,//连续签到日子 signToday: function () { this.isSigned = true; this.dates[this.day].isSigned = true; },}; var ds = []; //初始化日期数据 var dt = new Date(); da.current = dt.ToString('yyyy年M月d日'); da.monthFirst = new Date(dt.getFullYear(),dt.getMonth(),1).getDay(); da.month = dt.getMonth() + 1; da.days = new Date(dt.getFullYear(),parseInt(da.month),0).getDate();//获取当前月的天数 da.day = dt.getDate(); for (var i = 1; i < da.days + 1; i++) { var o = { isSigned: false,//是否签到了 num: i,//日期 isToday: i == da.day,//是否今天 isPass: i < da.day,//时间已过去 }; ds[i] = o; } da.dates = ds; return da; }

html5实现canvas阴影效果示例_html5教程技巧

html5实现canvas阴影效果示例_html5教程技巧

在html5中实现canvas阴影效果


复制代码
代码如下:






Canvas Clip Demo

<script><br /> var ctx = null; // global variable 2d context<br /> var imageTexture = null;<br /> window.onload = function() {<br /> var canvas = document.getElementById("text_canvas");<br /> console.log(canvas.parentNode.clientWidth);<br /> canvas.width = canvas.parentNode.clientWidth;<br /> canvas.height = canvas.parentNode.clientHeight;<br /> <br /> if (!canvas.getContext) {<br /> console.log("Canvas not supported. Please install a HTML5 compatible browser.");<br /> return;<br /> }<br /> var context = canvas.getContext(''2d'');<br /> <br /> // section one - shadow and blur<br /> context.fill;<br /> context.fillRect(0, 0, canvas.width, canvas.height/4);<br /> context.font = ''60pt Calibri'';<br /> <br /> context.shadowColor = "white";<br /> context.shadowOffsetX = 0;<br /> context.shadowOffsetY = 0;<br /> context.shadowBlur = 20;<br /> context.fillText("Blur Canvas", 40, 80);<br /> context.stroke;<br /> context.lineWidth = 2;<br /> context.strokeText("Blur Canvas", 40, 80);<br /> <br /> // section two - shadow font<br /> var hh = canvas.height/4;<br /> context.fill;<br /> context.fillRect(0, hh, canvas.width, canvas.height/4);<br /> context.font = ''60pt Calibri'';<br /> <br /> context.shadowColor = "RGBA(127,127,127,1)";<br /> context.shadowOffsetX = 3;<br /> context.shadowOffsetY = 3;<br /> context.shadowBlur = 0;<br /> context.fill;<br /> context.fillText("Blur Canvas", 40, 80+hh);<br /> <br /> // section three - down shadow effect<br /> var hh = canvas.height/4 + hh;<br /> context.fill;<br /> context.fillRect(0, hh, canvas.width, canvas.height/4);<br /> for(var i = 0; i < 10; i++)<br /> {<br /> context.shadowColor = "RGBA(255, 255, 255," + ((10-i)/10) + ")";<br /> context.shadowOffsetX = i*2;<br /> context.shadowOffsetY = i*2;<br /> context.shadowBlur = i*2;<br /> context.fill;<br /> context.fillText("Blur Canvas", 40, 80+hh);<br /> }<br /> <br /> // section four - fade effect<br /> var hh = canvas.height/4 + hh;<br /> context.fill;<br /> context.fillRect(0, hh, canvas.width, canvas.height/4);<br /> for(var i = 0; i < 10; i++)<br /> {<br /> context.shadowColor = "RGBA(255, 255, 255," + ((10-i)/10) + ")";<br /> context.shadowOffsetX = 0;<br /> context.shadowOffsetY = -i*2;<br /> context.shadowBlur = i*2;<br /> context.fill;<br /> context.fillText("Blur Canvas", 40, 80+hh);<br /> }<br /> for(var i = 0; i < 10; i++)<br /> {<br /> context.shadowColor = "RGBA(255, 255, 255," + ((10-i)/10) + ")";<br /> context.shadowOffsetX = 0;<br /> context.shadowOffsetY = i*2;<br /> context.shadowBlur = i*2;<br /> context.fill;<br /> context.fillText("Blur Canvas", 40, 80+hh);<br /> }<br /> for(var i = 0; i < 10; i++)<br /> {<br /> context.shadowColor = "RGBA(255, 255, 255," + ((10-i)/10) + ")";<br /> context.shadowOffsetX = i*2;<br /> context.shadowOffsetY = 0;<br /> context.shadowBlur = i*2;<br /> context.fill;<br /> context.fillText("Blur Canvas", 40, 80+hh);<br /> }<br /> for(var i = 0; i < 10; i++)<br /> {<br /> context.shadowColor = "RGBA(255, 255, 255," + ((10-i)/10) + ")";<br /> context.shadowOffsetX = -i*2;<br /> context.shadowOffsetY = 0;<br /> context.shadowBlur = i*2;<br /> context.fill;<br /> context.fillText("Blur Canvas", 40, 80+hh);<br /> }<br /> }<br /> <br /> </script>


HTML5 Canvas


Fill And Stroke Clip
登录后复制






HTML5实现input框下拉功能,模糊匹配功能

HTML5实现input框下拉功能,模糊匹配功能


在做一个功能,一个输入框,查询之前的数据库记录,如果有记录,则从下拉列表里取,如果没有,则输入框自己输入。
本来以为需要插件,结果没看到合适的插件,倒是找到了一个好用的demo:
不需要引用插件,h5下,所有代码就这么多:
<!DOCTYPE html>
<html>
<head>
<Meta charset="utf-8" />
<title></title>
</head>
<body>
<input list="source" id="ipt">
<datalist id="source">
    <option value="html5">
    <option value="css3">
    <option value="js">
    <option value="jquery">
    <option value="node">
</datalist>
</body>
</html>

Html5实现iPhone开机界面示例代码_html5教程技巧

Html5实现iPhone开机界面示例代码_html5教程技巧

今天我突发其想,想到可以用Html5来仿照苹果操作系统做一个能在Web平台运行的ios。
当然,要开发出一个操作系统,等我再归山修练一百年再说吧。今天就先娱乐一下,先搞一个开机界面。
完工后的图片:
 
担心图片是被我PS后的同学可以直接进入下面的地址测试:
http://www.cnblogs.com/yorhom/articles/3163078.html
由于lufylegend封装得的确不错,本次开发还是用该引擎做的。代码不多,感兴趣的朋友可以直接看一下。
index.html中的代码:

复制代码
代码如下:





<ahref="https://www.php.cn/zt/16413.html" target="_blank">iphone</a>




loading......




Main.js中的代码:

复制代码
代码如下:

init(50,"mylegend",450,640,main);
LGlobal.setDebug(true);
var loadData = [
{path:"./js/Shape.js",type:"js"},
{path:"./js/BootPage.js",type:"js"},
{name:"wallpaper",path:"./images/wall_paper.jpg"}
];
var datalist = {};
var backLayer,iphoneLayer,screenLayer,buttonLayer;
var iosShape;
var bootPage;
function main(){
LLoadManage.load(loadData,null,gameInit);
}
function gameInit(result){
datalist = result;
//初始化层
initLayer();
//加入iphone外壳
addShape();
//加入开机界面
addBack();
}
function initLayer(){
//背景层
backLayer = new LSprite();
addChild(backLayer);
}
function addShape(){
iosShape = new Shape("IPHONE",400,600);
iosShape.x = 15;
iosShape.y = 5;
backLayer.addChild(iosShape);
}
function addBack(){
bootPage = new BootPage();
bootPage.x = 40;
bootPage.y = 40;
var wallPaperWidth = iosShape.getScreenWidth();
var wallPaperHeight = iosShape.getScreenHeight();
bootPage.addWallPaper(new LBitmapData(datalist["wallpaper"],200,480,wallPaperWidth,wallPaperHeight));
bootPage.addTime();
bootPage.addSlider();
iosShape.addChild(bootPage);
}

Shape.js里的代码:

复制代码
代码如下:

/*
* Shape.js
**/
function Shape(type,width,height){
var s = this;
base(s,LSprite,[]);
s.x = 0;
s.y = 0;
s.deviceWidth = width;
s.deviceHeight = height;
s.type = type;
//外壳层
s.shapeLayer = new LSprite();
s.addChild(s.shapeLayer);
//Home按钮层
s.homeButtonLayer = new LSprite();
s.addChild(s.homeButtonLayer);
//屏幕层
s.screenLayer = new LSprite();
s.addChild(s.screenLayer);
//显示自身
s._showSelf();
}
Shape.prototype._showSelf = function(){
var s = this;
switch(s.type){
case "IPHONE":
//画外壳
var shadow = new LDropShadowFilter(15,45,"black",20);
s.shapeLayer.graphics.drawRoundRect(10,"black",[0,0,s.deviceWidth,s.deviceHeight,15],true,"black");
s.shapeLayer.filters = [shadow];
//画屏幕
s.screenLayer.graphics.drawRect(0,"black",[s.deviceWidth/10,s.deviceWidth/10,s.deviceWidth*0.8,s.deviceHeight*0.8],true,"white");
//画Home按钮
s.homeButtonLayer.graphics.drawArc(1,"black",[s.deviceWidth/2,s.deviceHeight*0.87 + s.deviceWidth/10,s.deviceWidth/16,0,2*Math.PI],true,"#191818");
s.homeButtonLayer.graphics.drawRoundRect(3,"white",[s.deviceWidth/2-10,s.deviceHeight*0.87 + s.deviceWidth/10 - 10,20,20,5]);
break;
}
};
Shape.prototype.getScreenWidth = function(){
var s = this;
return s.deviceWidth*0.8;
};
Shape.prototype.getScreenHeight = function(){
var s = this;
return s.deviceHeight*0.8
};

最后是BootPage.js里的代码:

复制代码
代码如下:

/*
* BootPage.js
**/
function BootPage(){
var s = this;
base(s,LSprite,[]);
s.x = 0;
s.y = 0;
s.timeLayer = new LSprite();
s.sliderLayer = new LSprite();
}
BootPage.prototype.addWallPaper = function(bitmapdata){
var s = this;
//加入背景图片
s.wallPaper = new LBitmap(bitmapdata);
s.addChild(s.wallPaper);
};
BootPage.prototype.addTime = function(){
var s = this;
var shadow = new LDropShadowFilter(1,1,"black",8);
s.addChild(s.timeLayer);
s.timeLayer.graphics.drawRect(0,"",[0,0,iosShape.getScreenWidth(),150],true,"black");
//加入时间文本区
s.timeLayer.alpha = 0.3;
s.timeText = new LTextField();
s.timeText.x = 70;
s.timeText.y = 20;
s.timeText.size = 50;
s.timeText.color = "white";
s.timeText.weight = "bold";
s.timeText.filters = [shadow];
//加入日期文本区
s.dateText = new LTextField();
s.dateText.size = 20;
s.dateText.x = 110;
s.dateText.y = 100;
s.dateText.color = "white";
s.dateText.weight = "bold";
s.dateText.filters = [shadow];
s.addChild(s.timeText);
s.addChild(s.dateText);
//通过时间轴事件更新日期
s.addEventListener(LEvent.ENTER_FRAME,function(s){
var date = new Date();
if(date.getMinutes() if(date.getHours() s.timeText.text = "0" + date.getHours() + ":0" + date.getMinutes();
}else{
s.timeText.text = date.getHours() + ":0" + date.getMinutes();
}
}else{
if(date.getHours() s.timeText.text = "0" + date.getHours() + ":" + date.getMinutes();
}else{
s.timeText.text = date.getHours() + ":" + date.getMinutes();
}
}
s.dateText.text = date.getMonth() + 1 + "月" + date.getDate() + "日";
})
};
BootPage.prototype.addSlider = function(bitmapdata){
var s = this;
s.addChild(s.sliderLayer);
s.sliderLayer.graphics.drawRect(0,"",[0,iosShape.getScreenHeight()-100,iosShape.getScreenWidth(),100],true,"black");
s.sliderLayer.alpha = 0.3;
//加入滑块框层
var barBorder = new LSprite();
barBorder.x = 35;
barBorder.y = iosShape.getScreenHeight()-70;
s.addChild(barBorder);
//加入滑块说明文字
var moveBarCommont = new LTextField();
moveBarCommont.size = 12;
moveBarCommont.x = 80;
moveBarCommont.y = 10;
moveBarCommont.color = "white";
moveBarCommont.text = "Slide to unlock.";
barBorder.addChild(moveBarCommont);
//加入滑块层
var bar = new LSprite();
bar.x = 35;
bar.y = iosShape.getScreenHeight()-70;
bar.canMoveBar = false;
//加入鼠标点击和鼠标移动事件
bar.addEventListener(LMouseEvent.MOUSE_DOWN,function(event,s){
s.canMoveBar = true;
});
bar.addEventListener(LMouseEvent.MOUSE_UP,function(event,s){
LTweenLite.to(bar,0.5,{
x:35,
onComplete:function(s){
s.canMoveBar = false;
}
});
s.canMoveBar = false;
});
s.addChild(bar);
bar.addEventListener(LMouseEvent.MOUSE_OUT,function(event,s){
LTweenLite.to(bar,0.5,{
x:35,
onComplete:function(s){
s.canMoveBar = false;
}
});
s.canMoveBar = false;
});
s.addEventListener(LMouseEvent.MOUSE_MOVE,function(event){
if(bar.canMoveBar == true){
bar.x = event.offsetX - 70;
if(bar.x > 215){bar.x = 215;}
if(bar.x }
});
s.addChild(bar);
//画出滑块框
barBorder.graphics.drawRoundRect(2,"#191818",[0,0,250,40,5],true,"black");
barBorder.alpha = 0.7;
//画出滑块
bar.graphics.drawRoundRect(2,"dimgray",[0,0,70,40,5],true,"lightgray");
bar.alpha = 0.7;
};

由于本次是偶自娱自乐,所以代码就不多讲了,只讲一下Shape.js和BootPage.js的用途。Shape.js是用来绘画我们iphone手机外壳用的类,而BootPage.js是开机界面的类。两者的功能不同,相当于Shape.js用来处理硬件外观,BootPage.js用来处理显示。
其他的就留个大家自己看吧。虽然代码有点长,但是都不带逻辑性。慢慢读就Ok!当然,读不懂的同学可能是没有了解过lufylegend,以下是引擎官方的网站:
http://lufylegend.com/lufylegend
引擎API文档:
http://lufylegend.com/lufylegend/api
觉得用CSDN博客阅读代码有些困难的同学,不仿用你的编辑器打开源代码看看,源代码下载地址如下:
http://files.cnblogs.com/yorhom/iphone01.rar

HTML5实现Notification API桌面通知功能 _html5教程技巧

HTML5实现Notification API桌面通知功能 _html5教程技巧

为什么需要HTML5的桌面通知
传统的桌面通知可以写一个div放到页面右下角自动弹出来,并通过轮询等等其他方式去获取消息并推送给用户。这种方式有个弊端就是:当我在使用京东 进行购物的时候,我是不知道人人网有消息推送过来给我的,而必须要等我把当前页面切到人人网才知道有消息推送了。这种方式的消息推送它是基于页面存活的, 但是我们需要这么一种策略:无论你在看哪个页面,只要有消息都应该能推送给我看到,这就是webkitNotification要解决的问题。 Notification生成的消息不依附于某个页面,仅仅依附于浏览器。
一个桌面通知生成的正常流程
我们先来看看一个桌面通知是如何生成的:
1.检查浏览器是否支持Notification
2.检查浏览器的通知权限(是否允许通知)
3.若权限不够则获取浏览器的通知权限
4.创建消息通知
5.展示消息通知
NOTE:关于第一点的说明需要做一些说明,Notification目前还没有标准化,所以目前只支持chrome19+和safari6+;网上有资料显示Firefox26+也支持,但是我拿我的Firefox27检测的结果是无法支持。
html5的桌面通知我相信大家并不陌生。常见的有网页版的微信等应用,需要设置桌面通知功能才可以使用。
用客户端程序实现这样的功能并不难。而传统的网页版的桌面通知可以写一个div放到页面右下角自动弹出来,并通过轮询等等其他方式去获取消息并推送给用户。这种方式有个弊端就是:当我在使用淘宝进行购物的时候,我是不知道微博有消息推送过来给我的,而必须要等我把当前页面切到新浪微博才知道有消息推送了。这种方式的消息推送它是基于页面存活的, 但是我们需要这么一种策略:无论你在看哪个页面,只要有消息都应该能推送给我看到,这就是webkitNotification要解决的问题。
Notification目前还没有标准化,所以你在w3cschool等网站上是学习不到的。但是目前主流浏览器大部分都支持Notification。关于html5的桌面通知效果图如下:

 
代码如下:
XML/HTML Code复制内容到剪贴板
  1. nbsp;html>    
  2. html>    
  3. head>    
  4. meta charset="utf-8">    
  5. title>html5桌面通知title>    
  6. head>    
  7. body>    
  8. input type="button" value="开启桌面通知" onclick="showNotice();">    
  9. script>    
  10. function showNotice(){    
  11. Notification.requestPermission(function(status){    
  12. //status默认值''default''等同于拒绝 ''denied'' 意味着用户不想要通知 ''granted'' 意味着用户同意启用通知    
  13. if("granted" != status)    
  14. return;    
  15. var notify = new Notification("消息",{    
  16. dir:''auto'',    
  17. lang:''zh-CN'',    
  18. tag:''sds'',//实例化的notification的id    
  19. //icon 支持ico、png、jpg、jpeg格式    
  20. icon:''http://www.xttblog.com/icons/favicon.ico'',//通知的缩略图    
  21. body:''html5桌面通知'' //通知的具体内容    
  22. });    
  23. notify.onclick=function(){    
  24. //如果通知消息被点击,通知窗口将被激活    
  25. window.focus();    
  26. }    
  27. });    
  28. }    
  29. script>    
  30. body>    
  31. html> 

以上内容是小编给大家分享的HTML5实现Notification API桌面通知功能,希望对大家有所帮助!
原文:http://www.xttblog.com/?p=249

关于HTML5实现签到 功能html签到页面的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于html5实现canvas阴影效果示例_html5教程技巧、HTML5实现input框下拉功能,模糊匹配功能、Html5实现iPhone开机界面示例代码_html5教程技巧、HTML5实现Notification API桌面通知功能 _html5教程技巧等相关内容,可以在本站寻找。

本文标签:

上一篇详解HTML5将footer置于页面最底部的方法(CSS+JS)(html怎么让footer在最底部)

下一篇HTML5 视频播放(video),JavaScript控制视频的实例代码(html5中用于播放视频的代码)