From JS倒计时大全<form name="form1"><div align="center" align="center"> <center>离2012年<span class='wp_keywordlink_affiliate'><a href="http://lxy.me/tag/世界末日" title="查看 世界末日 中的全部文章" target="_blank">世界末日</a></span>还有:<br> <input type="textarea" name="left" size="35" style="text-align: center"> </center> </div> </form> <script LANGUAGE="javascript"> startclock() var timerID = null; var timerRunning = false; function showtime() { Today = new Date(); var NowHour = Today.getHours(); var NowMinute = Today.getMinutes(); var NowMonth = Today.getMonth(); var NowDate = Today.getDate(); var NowYear = Today.getYear(); var NowSecond = Today.getSeconds(); if (NowYear < 2000) NowYear = 1900 + NowYear; Today = null; Hourleft = 00 - NowHour Minuteleft = 00 - NowMinute Secondleft = 00 - NowSecond Yearleft = 2012 - NowYear Monthleft = 12 - NowMonth - 1 Dateleft = 21 - NowDate if (Secondleft < 0) { Secondleft = 60 + Secondleft; Minuteleft = Minuteleft - 1; } if (Minuteleft < 0) { Minuteleft = 60 + Minuteleft; Hourleft = Hourleft - 1; } if (Hourleft < 0) { Hourleft = 24 + Hourleft; Dateleft = Dateleft - 1; } if (Dateleft < 0) { Dateleft = 31 + Dateleft; Monthleft = Monthleft - 1; } if (Monthleft < 0) { Monthleft = 12 + Monthleft; Yearleft = Yearleft - 1; } Temp = Yearleft + '年, ' + Monthleft + '月, ' + Dateleft + '天, ' + Hourleft + '小时, ' + Minuteleft + '分, ' + Secondleft + '秒' document.form1.left.value = Temp; timerID = setTimeout("showtime()", 1000); timerRunning = true; } var timerID = null; var timerRunning = false; function stopclock() { if (timerRunning) clearTimeout(timerID); timerRunning = false; } function startclock() { stopclock(); showtime(); } // --> </script> <SCRIPT LANGUAGE="JavaScript"><!-- var maxtime = 60 * 60 //一个小时,按秒计算,自己调整! function CountDown() { if (maxtime >= 0) { minutes = Math.floor(maxtime / 60); seconds = Math.floor(maxtime % 60); msg = "距离结束还有" + minutes + "分" + seconds + "秒"; document.getElementByIdx_x("timer").innerHTML = msg; if (maxtime == 5 * 60) alert('注意,还有5分钟!'); --maxtime; } else { clearInterval(timer); alert("时间到,结束!"); } } timer = setInterval("CountDown()", 1000); //--> </SCRIPT> <div id="timer" style="color:red"></div> 3.简单倒计时(仅显示天数)<Script Language="JavaScript">var timedate = new Date("January 14,2013"); var times = "研究生<span class='wp_keywordlink_affiliate'><a href="http://lxy.me/tag/考试" title="查看 考试 中的全部文章" target="_blank">考试</a></span>"; var now = new Date(); var date = timedate.getTime() - now.getTime(); var time = Math.floor(date / (1000 * 60 * 60 * 24)); if (time >= 0) ; document.write("<li><font color=#DEDBDE>现在离2013年" + times + "还有: <font color=red><b>" + time + "</b></font> 天</font></li>"); </Script> 4.复杂版倒计时,带毫秒<script language="JavaScript" type="text/javascript">function d<span class='wp_keywordlink_affiliate'><a href="http://lxy.me/tag/js" title="查看 js 中的全部文章" target="_blank">js</a></span>() { var urodz = new Date("11/12/2008"); var now = new Date(); var num var ile = urodz.getTime() - now.getTime(); var dni = Math.floor(ile / (1000 * 60 * 60 * 24)); if (dni > 1) num = dni + 1 else if (dni == 1) num = 2 else if (dni == 0) num = 1 else num = 0 document.write(num) } </script> 距某某开幕式还有 [ <script language="JavaScript" type="text/javascript">d<span class='wp_keywordlink_affiliate'><a href="http://lxy.me/tag/js" title="查看 js 中的全部文章" target="_blank">js</a></span>()</script>] 天 第五个:Javascript倒计时器 - 采用系统时间自校验 这次利用系统时间自校验倒计时, 无需手工调校使得倒计时更为精确, 代码及详细注释如下:<span id="clock">00:01:11:00</span> <input id="startB" type="button" value="start countdown!" onclick="run()"> <input id="endB" type="button" value="stop countdown!" onclick="stop()"> <br> <input id="diff" type="text"> <input id="next" type="text"> <script language="Javascript">var normalelapse = 100; var nextelapse = normalelapse; var counter; var startTime; var start = clock.innerText; var finish = "00:00:00:00"; var timer = null; // 开始运行 function run() { startB.disabled = true; endB.disabled = false; counter = 0; // 初始化开始时间 startTime = new Date().valueOf(); // nextelapse是定时时间, 初始时为100毫秒// 注意setInterval函数: 时间逝去nextelapse(毫秒)后, onTimer才开始执行 timer = window.setInterval("onTimer()", nextelapse); } // 停止运行 function stop() { startB.disabled = false; endB.disabled = true; window.clearTimeout(timer); } window.onload = function () { endB.disabled = true; } // 倒计时函数 function onTimer() { if (start == finish) { window.clearInterval(timer); alert("time is up!"); return; } var hms = new String(start).split(":"); var ms = new Number(hms[3]); var s = new Number(hms[2]); var m = new Number(hms[1]); var h = new Number(hms[0]); ms -= 10; if (ms < 0) { ms = 90; s -= 1; if (s < 0) { s = 59; m -= 1; } if (m < 0) { m = 59; h -= 1; } } var ms = ms < 10 ? ("0" + ms) : ms; var ss = s < 10 ? ("0" + s) : s; var sm = m < 10 ? ("0" + m) : m; var sh = h < 10 ? ("0" + h) : h; start = sh + ":" + sm + ":" + ss + ":" + ms; clock.innerText = start; // 清除上一次的定时器window.clearInterval(timer); // 自校验系统时间得到时间差, 并由此得到下次所启动的新定时器的时间nextelapsecounter++; var counterSecs = counter * 100; var elapseSecs = new Date().valueOf() - startTime; var diffSecs = counterSecs - elapseSecs; nextelapse = normalelapse + diffSecs; diff.value = counterSecs + "-" + elapseSecs + "=" + diffSecs; next.value = "nextelapse = " + nextelapse; if (nextelapse < 0) nextelapse = 0; // 启动新的定时器timer = window.setInterval("onTimer()", nextelapse); } </script>
30 September 2013
JS倒计时大全
01 September 2013
Codeblocks+MinGW+wxWidgets搭建方法
Code::Block、MinGW 和 wxWidgets 分别是三个著名的开源项目,分别是 IDE、编译器和界面库。由这三样搭建起来的全开源纯c++开发环境,功能不逊色于Visual C++,由于是开源的,这样的环境还是免费的,并且是跨平台的。^-^ 下面说一下在 Windows 下的搭建过程:一、编译器 MinGW是指只用自由软件来生成纯粹的Win32可执行文件的编译环境,它是Minimalist GNU on Windows的略称,实际上 MinGW 并不是一个 C/C++ 编译器,而是一套 GNU 工具集合,是 Windows 的一个移植。MinGW 官方网站为 http://www.mingw.org。 到 MinGW 的官方网站上下载如下文件 gcc-core gcc-g++ binutils mingw-runtime mingw-utils w32-api mingw32-make gdb也可以直接下载mingw的安装包安装. 然后将这些文件解压到同一个目录下,本例为C:\MinGW。之后,设置环境变量,以便于操作,两种方法: 1、创建文件SetPath.bat,内容为:“set path=C:\MinGW\bin;%path%”,注意不含引号。创建完成后运行即可; 2、我的电脑-->属性-->高级-->环境变量-->系统变量,直接把 C:\MinGW\bin;添加到 Path,注意不要发动原有值。如此这般编译环境就OK了。二、IDE Code:Blocks 是一个 IDE 平台,本身不含编译,它支持多种编译器,界面近似于 VC。官方网站:http://codeblocks.org。 到其官方网站下载最新的 Nightly Build 版本,注意同时把mingwm10.7z(机器上没有安装 MinGW 编译器时用)和wxmsw26_gcc_cb.7z也下载来,Code::Block 要配合这两个压缩包中的 dll 工作。将这三个文件解压一同一个目录,本例为 C:\CodeBlock。 如此 IDE 平台就OK了。 对于喜欢中文界面的朋友,可以下载中文语言包 codeblocks.mo,(--并复制到 C:\CodeBlock 目录下即可--)并复制到share\CodeBlocks\locale\zh_cn\目录下即可。也可以到https://launchpad.net/codeblocks下载中文语言包,需要先注册才行,免费的。第一次运行 codeblock.exe 时,会要求选择一个编译器作为默认器。 运行C:\CodeBlock\codeblocks.exe,第一次运行时,选MinGW为默认编译器。然后选择[Settings/Compiler and debugging],在弹出的对话框中选择[Programs]标签,在Compiler's installation directory中输入刚才的MinGW目录,这里就是C:\MinGW。然后看看最下面的Make program参数,将其改为mingw32-make.exe(有时候这个值默认是make.exe)。这样,ide和编译器就搭建好了。现在可以新建个Console project编译试试了。如果要在程序中使用win api,直接引用#include <windows.h>就可以。三、wxWidgets 界面库 wxwidgets是一个c++编写的用来提供gui开发的框架。它包含一个可以支持现今几乎所有操作系统(Version 2 currently supports all desktop versions of MS Windows, Unix with GTK+, Unix with Motif, and MacOS. An OS/2 port is in progress.)的GUI库和其他一些很有用的工具,提供了类似MFC的功能。而且,特别要说一下,这个c++lib还的新版本还提供了对掌上电脑的支持。当然,说到这里很多人会想到java队多系统的支持,其实这是不一样的,java的跨平台是建立在“中间代码”的基础上的,就是说需要在目标平台上安装java解释器;但是wxwidgets是c++库,经过编译后,他提供的是native级的机器码,在gui编程方面,这可是意味着很大的不同!官方网址:http://www.wxwidgets.org/。下载地址:wxWidgets 与其它跨平台的gui库相比有如下优点: 1、是免费的,无论对于个人还是商业应用; 2、支持的操作系统相当全面; 3、大量使用宏,也就是说,编译出来的代码尽量使用目标操作系统的 native 的 gui 样式; 4、支持的编译器各类多; 5、应用广泛,目前有很多 gui 项目都是建立在 wxWidgets 之上的。到其官方网站下载最新版本的 wxWidgets,目前最新版本为2.8.0,解压到C:\wxWidgets 2.8.0目录下。打开命令行界面[开始|运行,cmd],进入C:\wxWidgets 2.8.0\build\msw 目录,分别输入如下命令行: 清理: mingw32-make -f makefile.gcc clean Release:mingw32-make -f makefile.gcc MONOLITHIC=0 SHARED=1 UNICODE=1 BUILD=release Debug: mingw32-make -f makefile.gcc MONOLITHIC=0 SHARED=1 UNICODE=1 BUILD=debug分别 build release 和 debug 版本的库。编译时间比较长的哟^_^ 详细参数说明看文件 c:\wxWidgets-2.8.0\build\msw\config.gcc 详细安装说明看文件 c:\wxWidgets-2.8.0\docs\msw\install.txt 如果不想自己编译,可以到http://wxpack.sourceforge.net/Main/HomePage下载已经编译好的库(wxPack)的最新版本,根据需要安装。现在,可以创建一个 wxWidgets 项目应用程序,看看我们的劳动成果了。。。取消选中 “wxWidgets 被生成为单一库(monolithic)”,其它默认,编译,运行,OK,我们的劳动结晶出现了,是不是有点激动?Code:Blocks 汉化说明: 1、到 https://translations.launchpad.net/codeblocks/+translations 下载对应的语言包。需要注册一个账号,然后会把下载链接之类的东西发过去。能下载的包有两种,mo和po格式。(打算把自己的汉化包传给大家,但似乎这里不支持文件上传,所以请大家自己动动手!)2、打开下载的mo包,解压得到里面的文件。找到对应语言的mo文件。3、在CodeBlocks安装目录下的 share\CodeBlocks\建立文件夹locale,然后建立对应语言的文件夹,如 汉语用 zh_CN 作为文件名。复制刚才找到的mo文件到该位置。4、启动CodeBlocks。找到菜单上的settings 〉environment,打开环境设置窗口,点击左边的view选项卡,在第二行internationalization上打钩,在右边选择chinese (simplified),点OK。5、重启软件,界面就汉化了问题:有些菜单项,特别是二级菜单,很多都没有汉化,还是原来的英语。看来工程还在进展中。转自:http://hi.baidu.com/cracksa/blog/item/f93149256cadb76a35a80f13.html其他操作系统的搭建请参看:最近做项目老用到算法,哎,在学校时就没学好算法。所以,决定搭建个环境,练习一下。(虽然我机子上有VS2008 ,但还是想用下其它的编译器。)呵呵。上面文章不错,我照着这个一步步搭建好的,挺好用的。
Subscribe to:
Posts (Atom)