首页
时间轴
留言
壁纸
统计
个人导航
友情链接
订阅&采集
执念图床
Search
1
本站同款主题全量文件----持续更新
16,924 阅读
2
Typecho博客Joe主题实现友链自动检测
4,226 阅读
3
Typecho博客Joe主题实现打赏设置
4,193 阅读
4
执念采集系统使用教程——为网站添加采集功能
4,043 阅读
5
执念订阅系统使用教程---为自己网站加上订阅功能
3,416 阅读
个人感想
编程相关
网站优化
技术分享
精品源码
文章推广
登录
/
注册
Search
标签搜索
执念博客
原创
执念
zhinianblog
zhinianboke
zhinian
Typecho
Joe
资源
js
源码
插件
wordpress
java
宝塔面板
Typecho插件
青龙面板
主题
宝塔
技巧
执念博客
累计撰写
148
篇文章
累计收到
9,568
条评论
今日撰写
0
篇文章
首页
栏目
个人感想
编程相关
网站优化
技术分享
精品源码
文章推广
页面
时间轴
留言
壁纸
统计
个人导航
友情链接
用户登录
登录
注册
搜索到
144
篇与
的结果
2017-12-10
关于最近未更新的说明
首先,需要感谢大家的支持,我也不会辜负大家的支持,后续会持续更新。 最近这一个月之所以未有文章更新,主要是因为在为了找工作忙碌着。 临近毕业,找工作也就提上日程了。不过功夫不负有心人,现在已经找到了一份工作了,也基本稳定了下来,后续会为大家继续更新文章。在这里欢迎大家持续关注。谢谢
2017年12月10日
126 阅读
2 评论
3 点赞
2017-10-27
canvas绘制时钟
不知大家是否看见有的网站会有一个时钟,今天给大家分享一个自己用canvas绘制的时钟,只要系统的时间正确,该时钟的时间就不会错。废话不多说了,下面就是时钟的整个html代码,只需要将代码复制之后保存为html文件就可以运行了,至于怎么加在自己的网站上就需要你们自己琢磨了。 运行结果如下图所示: [code lang="js"] <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="keywords" content="时钟"> <meta name="description" content=""> <title>clock</title> <style type="text/css"> *{ margin: 0; padding: 0; } </style> </head> <body bgcolor="black"> <canvas id="canvas" width="800" height="600">您的浏览器不支持canvas</canvas> <script type="text/javascript"> (function(){ /** *站点:执念博客 *作者:执念 *网址:http://zhinianboke.com */ var canvas = document.getElementById("canvas"); var ctx = canvas.getContext("2d"); var x = window.innerWidth/2; var y = window.innerHeight/2; var r = 80; var now=new Date(); var hours=now.getHours(); var minutes=now.getMinutes(); var seconds=now.getSeconds(); drawClock(); move(hours,minutes,seconds); function drawClock(){ //画时钟 ctx.strokeStyle = "gray"; ctx.lineWidth = "3"; ctx.beginPath(); var sr = 5; ctx.arc(x,y,r,0,2*Math.PI); ctx.stroke(); ctx.beginPath(); ctx.arc(x,y,2,0,2*Math.PI); ctx.fill(); ctx.font = "13px Arial"; ctx.fillStyle = "gray"; var time = -1; for(var i=0;i<60;i++){ var q = i*2*Math.PI/60; var x1 = 0;//刻度终点 var y1 = 0; var x2 = 0;//刻度起点 var y2 = 0; var x3 = 0;//刻度值位置 var y3 = 0; sr = 5; if(i%5 == 0){ sr = 10; time++; } if(i%15 == 0){ sr = 15; } if(q>=0 && q<Math.PI/2){ x1 = x + r*Math.sin(q); y1 = y - r*Math.cos(q); x2 = x + (r-sr)*Math.sin(q); y2 = y - (r-sr)*Math.cos(q); x3 = x + (r-sr-14)*Math.sin(q); y3 = y - (r-sr-13)*Math.cos(q); } if(q>=Math.PI/2 && q<Math.PI){ x1 = x + r*Math.sin(Math.PI-q); y1 = y + r*Math.cos(Math.PI-q); x2 = x + (r-sr)*Math.sin(Math.PI-q); y2 = y + (r-sr)*Math.cos(Math.PI-q); x3 = x + (r-sr-12)*Math.sin(Math.PI-q); y3 = y + (r-sr-5)*Math.cos(Math.PI-q); } if(q>=Math.PI && q<3*Math.PI/2){ x1 = x - r*Math.cos(3*Math.PI/2-q); y1 = y + r*Math.sin(3*Math.PI/2-q); x2 = x - (r-sr)*Math.cos(3*Math.PI/2-q); y2 = y + (r-sr)*Math.sin(3*Math.PI/2-q); x3 = x - (r-sr-6)*Math.cos(3*Math.PI/2-q); y3 = y + (r-sr-5)*Math.sin(3*Math.PI/2-q); } if(q>=3*Math.PI/2 && q<2*Math.PI){ x1 = x - r*Math.sin(2*Math.PI-q); y1 = y - r*Math.cos(2*Math.PI-q); x2 = x - (r-sr)*Math.sin(2*Math.PI-q); y2 = y - (r-sr)*Math.cos(2*Math.PI-q); x3 = x - (r-sr-0)*Math.sin(2*Math.PI-q); y3 = y - (r-sr-15)*Math.cos(2*Math.PI-q); } ctx.lineWidth = "1"; ctx.moveTo(x2,y2); ctx.lineTo(x1,y1); ctx.stroke(); if(i%5 == 0){ if(time == 0){ ctx.fillText("12",x3-8,y3); }else if(time == 3){ ctx.fillText(time,x3+3,y3+5); }else if(time == 6){ ctx.fillText(time,x3-3,y3+2); }else if(time == 9){ ctx.fillText(time,x3+3,y3+5); }else{ ctx.fillText(time,x3,y3); } } } } function move(hour,min,sec){ //指针移动 if(hour >= 12){ hour -= 12; } hour+= min/60; var arrSec = calculate(sec,30); var arrMin = calculate(min,40); var arrHour = calculate(hour*5+0.2,50); var time;//定时器 ctx.lineWidth = "1"; ctx.moveTo(x,y); ctx.lineTo(arrSec[0],arrSec[1]); ctx.stroke(); ctx.moveTo(x,y); ctx.lineTo(arrMin[0],arrMin[1]); ctx.stroke(); ctx.moveTo(x,y); ctx.lineTo(arrHour[0],arrHour[1]); ctx.stroke(); drawClock(); time = setInterval(function(){ var now=new Date(); var hours=now.getHours(); var minutes=now.getMinutes(); var seconds=now.getSeconds(); hour = hours;min = minutes;sec = seconds; if(hour >= 12){ hour -= 12; } hour+= min/60; var arrSec = calculate(sec,30); var arrMin = calculate(min,40); var arrHour = calculate(hour*5+0.2,50); ctx.clearRect(0,0,800,600); ctx.moveTo(x,y); ctx.lineTo(arrSec[0],arrSec[1]); ctx.stroke(); ctx.moveTo(x,y); ctx.lineTo(arrMin[0],arrMin[1]); ctx.stroke(); ctx.moveTo(x,y); ctx.lineTo(arrHour[0],arrHour[1]); ctx.stroke(); drawClock(); drawClock(); },1000); } function calculate(i,sr){ //计算指针的位置 var q = i*2*Math.PI/60; var m = new Array(); if(q>=0 && q<Math.PI/2){ m[0] =x + (r-sr)*Math.sin(q); m[1] = y - (r-sr)*Math.cos(q); } if(q>=Math.PI/2 && q<Math.PI){ m[0] = x + (r-sr)*Math.sin(Math.PI-q); m[1] = y + (r-sr)*Math.cos(Math.PI-q); } if(q>=Math.PI && q<3*Math.PI/2){ m[0] = x - (r-sr)*Math.cos(3*Math.PI/2-q); m[1] = y + (r-sr)*Math.sin(3*Math.PI/2-q); } if(q>=3*Math.PI/2 && q<2*Math.PI){ m[0] = x - (r-sr)*Math.sin(2*Math.PI-q); m[1] = y - (r-sr)*Math.cos(2*Math.PI-q); } return m; } function resize(){ //监听浏览器大小改变 var w = window.innerWidth; x = window.innerWidth/2; y = window.innerHeight/2; if(w >= 750){ r = 80; }else if(w < 750){ r = 60; } console.log(w); var now=new Date(); var hours=now.getHours(); var minutes=now.getMinutes(); var seconds=now.getSeconds(); drawClock(); move(hours,minutes,seconds); } window.addEventListener("resize", resize); })(); </script> </body> </html> [/code]
2017年10月27日
86 阅读
11 评论
0 点赞
2017-10-22
在线文件管理源码
今天给大家分享一套网站源码,可以实现在线文件管理,跟操作系统有的一拼。可以整体上传文件夹或者单个文件,可以对文件进行在线编辑,如果是网页文件,还可以进行在线预览。真的好用。 演示地址:http://pan.zhinianboke.com 账号:temp 密码:temp 以下是界面的截图: 跟电脑的桌面及其相似,还有开始菜单。 文件管理界面可以自己设置样式,而且整套系统的主题也可以自由切换的。 编辑器可以对很多文件进行编辑,而且支持基本所有语言,编辑器的风格也可以切换,网页的文件还可以进行预览,方便的不得了。 使用方法:压缩包下载解压之后,将源码通过ftp直接上传到空间即可使用。方便快捷。 下载地址:链接: https://pan.baidu.com/s/1SCijnjgjIawebHKhVl9U2Q 提取码: cjg3
2017年10月22日
215 阅读
7 评论
3 点赞
2017-10-18
网站访客统计
不知大家是否需要在自己的网站添加一个访客统计呢,下面就教大家怎么弄吧。 我这种方法首先要有数据库才行,在数据库中新建count表,只需要设置一列就可以了,列名也叫count 效果如下图所示: 下面是php代码,根据其中的注释修改成你的参数 [code lang="php"] <?php /** *站点:执念博客 *作者:执念 *网址:http://zhinianboke.com */ try{ $pdo = new PDO("mysql:host=localhost;dbname=count","root","123"); //其中localhost是数据库连接地址,count是数据库名,root是用户名,123是密码 }catch(PDOException $e){ die("连接失败"+$e->getMessage()); } $pdo->exec("set names utf8"); $sql = "select * from count;"; //count是表名 $list = $pdo->query($sql)->fetchAll(PDO::FETCH_ASSOC); $count = $list[0][count] + 1; $sql = "update count set count='$count';"; $pdo->exec($sql); echo "您是第 ".$count." 位访客。"; ?> [/code] 将此段代码放在你需要显示的地方(注意是php文件),我的博客采用的是wordpress,因此放在了footer.php文件中,显示在底部。 如果有什么疑问,可以在下方留言。
2017年10月18日
234 阅读
2 评论
0 点赞
2017-10-16
网页分享按钮
前段时间想将自己的博客弄个可以分享的地方,可是采用百度分享的代码,不知道怎么弄的一直不能运行,于是自己就写了一个。 首先先展示一下效果图: 图中的分享按钮是一直悬浮在网页的右中的位置,方便选择。从图中可以看出,有几个常用的平台分享,当然自己也可以修改代码,做成自己需要的样子。 这是css代码: [code lang="css"] <style type="text/css"> .share{ position: fixed; top: 50%; right: -75px; width: 100px; height: 150px; margin-top: -75px; transition: 1s; float: left; } .share .share_btn{ width: 25px; height: 50px; background: #5b4a9b; color: white; text-align: center; margin-top: 50px; border-radius: 5px; cursor: pointer; float: left; line-height: 25px; } .share .share_content{ margin-top: 0px; width: 75px; height: 100%; background: #5b4a9b; margin-left: 25px; border: 1px solid transparent; box-sizing: border-box; } .share .share_content ul{ width: 100%; margin-bottom: 0; margin-left: 0px; margin-top: 15px; } .share .share_content ul li{ list-style: none; width: 32px; height: 32px; float: left; margin-left: 3px; margin-top: 5px; background: white; cursor: pointer; } .share .share_content li a{ display: block; width: 100%; height: 100%; } .share .share_content li a i{ display: block; width: 100%; height: 100%; text-align: center; } .share .share_content li a .share1{ margin-left: -10px; margin-top: -10px; } .share .share_content li a .share2{ margin-left: -10px; margin-top: 0px; } </style> [/code] 这里是html代码,放在body里面: [code lang="html"] <div class="share"> <div class="share_btn"> <span>分享</span> </div> <div class="share_content"> <ul> <li><a class="icon" target="_blank"><img src="http://zhinianboke.com/wp-content/uploads/2017/10/qzone.png" class="share2"/></i></a></li> <li><a class="icon" target="_blank"><img src="http://zhinianboke.com/wp-content/uploads/2017/10/douban.png" class="share2"/></i></a></li> <li><a class="icon" target="_blank"><i class="fa fa-qq share1"></i></a></li> <li><a class="icon" target="_blank"><i class="fa fa-weibo share1"></i></a></li> <li><a class="icon" target="_blank"><i class="fa fa-renren share1"></i></a></li> <li><a class="icon" target="_blank"><i class="fa fa-long-arrow-right share1"></i></a></li> </ul> </div> </div> [/code] 当然最重要的还是js代码了: [code lang="js"] <script type="text/javascript"> (function(){ /** *站点:执念博客 *作者:执念 *网址:http://zhinianboke.com */ var share = document.getElementsByClassName("share")[0]; var share_btn = document.getElementsByClassName("share_btn")[0]; var share_content = document.getElementsByClassName("share_content")[0]; var oli = share_content.getElementsByTagName("li"); var url = ""; var url1 = window.location.href; var url2 = url1.split("="); if(url1){ url = url2[0]+"%3D"+url2[1]; } var title = document.title; share_btn.onmouseover = function(){ share.style.right = 0; } share.onmouseleave = function(){ share.style.right = -75+"px"; } for(var i=0;i<oli.length;i++){ oli[i].index = i; oli[i].onclick = function(){ switch(this.index){ case 0: var a = this.getElementsByTagName("a")[0]; a.href = "https://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?summary=执念博客&url="+url+"&title="+title; break; case 1: var a = this.getElementsByTagName("a")[0]; a.href = "http://www.douban.com/recommend/?url="+url+"&title="+title; break; case 2: var a = this.getElementsByTagName("a")[0]; a.href = "http://connect.qq.com/widget/shareqq/index.html?url="+url+"&title="+title; break; case 3: var a = this.getElementsByTagName("a")[0]; a.href = "http://service.weibo.com/share/share.php?title="+title+"&url="+url; break; case 4: var a = this.getElementsByTagName("a")[0]; a.href = "http://widget.renren.com/dialog/share?resourceUrl="+url+"&title="+title+"&description=执念博客"; break; case 5: share.style.right = -75+"px"; break; } } } })(); </script> [/code] 代码全都给大家,我想做网站的大概都简单的知道这些代码该放在哪里的,因此我也就不在这里赘述了。如果有不会的可以在下方留言,我会回复的。
2017年10月16日
203 阅读
0 评论
0 点赞
2017-10-08
压缩包破解软件
不知道大家是不是遇到过好不容易找到的资源,下载下来之后的压缩包却需要解压密码。不用担心,今天给大家分享一款软件,这款软件可以破解多种格式的压缩文件。 从软件界面可以看出,点击“打开”按钮,选择需要破解的压缩包,然后设置一些配置参数,这些我就不教了,自己琢磨吧。 接下来,实际例子来破解一下,我压缩了一个文件。当然为了测试需要,密码有点简单,配置好参数之后点击“开始”按钮,不一会密码就被破解出来了。 感兴趣的朋友可以下载下来试试,不感兴趣的也可以下载一下,万一以后用的上呢。 链接:链接: https://pan.baidu.com/s/1vHaDWYbLOzk2O1FJIXaVbA 提取码: dr32
2017年10月08日
167 阅读
1 评论
0 点赞
2017-10-06
ajax的具体步骤
今天给大家介绍的是ajax的具体步骤,数据的提交最常用的就是“get”方式和“post”方式,因此下面介绍的就是ajax的这两种方式 第一种就是“get”方式:[code lang="js"] function creatXhr(){ var xhr = null; if(window.XMLHttpRequest){ xhr = new XMLHttpRequest(); }else{ //ie5,ie6不支持XMLHttpRequest xhr = new ActiveXObject("Microsoft.XMLHTTP"); } return xhr; } var xhr = creatXhr(); if(xhr != null){ xhr.open("get","server.php?name=guo",true); xhr.onreadystatechange = function(){ if(xhr.readyState === 4){ if(xhr.status === 200){ doResponse(xhr); }else{ alert("请求出错!"); } } } xhr.send(null); } function doResponse(xhr){ var str = xhr.responseText;//其中xhr.responseText就是后天传送过来的数据 alert(str); } [/code]需要注意的是“get”方式中的xhr.send(null);代表发送的意思,里面必须是null,发送的数据在xhr.open中的url拼接而成。第二种的“post”方式:[code lang="js"] function creatXhr(){ var xhr = null; if(window.XMLHttpRequest){ xhr = new XMLHttpRequest(); }else{ //ie5,ie6不支持XMLHttpRequest xhr = new ActiveXObject("Microsoft.XMLHTTP"); } return xhr; } var xhr = creatXhr(); if(xhr != null){ xhr.open("post","server.php",true); xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded"); xhr.onreadystatechange = function(){ if(xhr.readyState === 4){ if(xhr.status === 200){ doResponse(xhr); }else{ alert("请求出错!"); } } } xhr.send("name=li"); } function doResponse(xhr){ var str = xhr.responseText; alert(str); } [/code]ajax的“post”方式比“get”方式多了一句xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");,这一句是必不可少的,要不然数据是发送不过去的。发送的数据在xhr.send()中拼接而成。其中两种方式用的php文件中的代码也给大家,[code lang="php"] <?php $name = $_REQUEST['name']; if($name){ echo $name; }else{ echo "error"; } ?> [/code]大家可以自行尝试,如果有什么疑问,可以在下方留言。
2017年10月06日
68 阅读
0 评论
0 点赞
2017-10-01
CSS——display:none与visibility:hidden的区别
1.display:none与visibility:hidden的区别 display:none隐藏对应的元素并且其他元素会挤占该元素原来的空间,即不为被隐藏的对象保留其物理空间,使用该属性后,HTML元素(对象)的宽度、高度等各种属性值都将“丢失”; visibility:hidden隐藏对应的元素但其他元素不会挤占该元素原来的空间,即为被隐藏的对象保留其物理空间,使用该属性后,HTML元素(对象)仅仅是在视觉上看不见(完全透明),而它所占据的空间位置仍然存在,也即是说它仍具有高度、宽度等属性值。 记住这两点之后也就不难区分这两者了,如果可以理解为“none”就是没有的意思,“hidden”只是单纯的隐藏之意,这样就可以更好的记住了。
2017年10月01日
114 阅读
2 评论
0 点赞
1
...
14
15
16
...
18