JS简单时钟的小白问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS简单时钟的小白问题相关的知识,希望对你有一定的参考价值。

<head>
<script>
function tick()
var hours, minutes, seconds, xfile;
var intHours, intMinutes, intSeconds;
var today;
today = new Date();
intHours = today.getHours();
intMinutes = today.getMinutes();
intSeconds = today.getSeconds();
if (intHours == 0)
hours = "12:";
xfile = "午夜";
else if (intHours < 12)
hours = intHours+":";
xfile = "上午";
else if (intHours == 12)
hours = "12:";
xfile = "正午";
else
intHours = intHours - 12
hours = intHours + ":";
xfile = "下午";

if (intMinutes < 10)
minutes = "0"+intMinutes+":";
else
minutes = intMinutes+":";

if (intSeconds < 10)
seconds = "0"+intSeconds+" ";
else
seconds = intSeconds+" ";

timeString = xfile+hours+minutes+seconds;

document.write(timeString);
document.close

window.setTimeout("tick();", 1000);

</script></head>
<body onload="tick()">
</body>

这个时钟为什么不动~~

<script>
function tick()
var hours, minutes, seconds, xfile;
var intHours, intMinutes, intSeconds;
var today;
today = new Date();
intHours = today.getHours();
intMinutes = today.getMinutes();
intSeconds = today.getSeconds();
if (intHours == 0)
hours = "12:";
xfile = "午夜";
else if (intHours < 12)
hours = intHours+":";
xfile = "上午";
else if (intHours == 12)
hours = "12:";
xfile = "正午";
else
intHours = intHours - 12
hours = intHours + ":";
xfile = "下午";

if (intMinutes < 10)
minutes = "0"+intMinutes+":";
else
minutes = intMinutes+":";

if (intSeconds < 10)
seconds = "0"+intSeconds+" ";
else
seconds = intSeconds+" ";

timeString = xfile+hours+minutes+seconds;
Clock.innerhtml = timeString;
window.setTimeout("tick();", 100);

window.onload = tick;
</script>
<div id="Clock" align="center" style="font-size: 20; color:#000000"></div>

Clock.innerHTML = timeString 要怎么理解呐?

为什么一定要有这句,作用是什么

setTimeout定时document.write以后,重新打开输出流,会清空页面内容,包括你以前的代码,简单改了一下:
<script>
function tick()
var hours, minutes, seconds, xfile;
var intHours, intMinutes, intSeconds;
var today;
today = new Date();
intHours = today.getHours();
intMinutes = today.getMinutes();
intSeconds = today.getSeconds();
if (intHours == 0)
hours = "12:";
xfile = "午夜";
else if (intHours < 12)
hours = intHours+":";
xfile = "上午";
else if (intHours == 12)
hours = "12:";
xfile = "正午";
else
intHours = intHours - 12
hours = intHours + ":";
xfile = "下午";

if (intMinutes < 10)
minutes = "0"+intMinutes+":";
else
minutes = intMinutes+":";

if (intSeconds < 10)
seconds = "0"+intSeconds+" ";
else
seconds = intSeconds+" ";

timeString = xfile+hours+minutes+seconds;
document.getElementById("t").innerHTML=timeString
window.setTimeout("tick();", 1000);

window.onload=tick
</script>
<div id="t"></div>
================================
Clock.innerHTML = timeString
定时重写clock的内容,达到时钟效果
参考技术A Clock.innerHTML = timeString; 意思是重写Clock

innerHTML的用法
比如在<body>中写了如下的代码:
<div id=top></div>

现在用top.innerHTML="..........";的方法就可以向这个id的位置写入HTML代码了。
例如top.innerHTML="<input type="button" name="我很帅" value="人人知">";就可以在top对应的位置出现一个button了!
参考技术B 把时间绑定到一个控件上,用setTimeout不段的更新,如果不绑定在控件上,时间得不到更新,所以会不动

Linuxlinux常用几个基本命令 小白专区简单易懂

  • 显示日期的命令 date

技术分享图片

  • 显示日历的命令 cal

技术分享图片

      -s, --hctosys以硬件时钟为准,校正系统时钟

hwclock,clock:显示硬件时钟

      -w, --systohc以系统时钟为准,校正硬件时钟

  • 关机命令   shutdown

      关机:halt, poweroff, init 0

      重启:reboot, init 6

       -f: 强制,不调用shutdown

       -p: 切断电源

  shutdown [OPTION]...  TIME [MESSAGE]

  -r: reboot

  -h: halt

   -c:cancel

   TIME:无指定,默认相当于 +1

   now: 立刻,相当于+0

   +m: 相对时间表示法,几分钟之后;例如 +3

    hh:mm: 绝对时间表示,指明具体时间

  • echo命令

    功能:显示字符 

    语法:echo [-neE][字符串] 

    说明:echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号 

 选项: 

    -E  (默认)不支持 解释功能  

                -n  不自动换行 

                 -e  启用 字符的解释功能 显示变量

  • tab 键----命令补全

      内部命令:

  外部命令:bash根据PATH环境变量定义的路径,自左而右在每个路径搜寻以给定命令名命名的文件,第一次找到的命令即为要执行的命令

  用户给定的字符串只有一条惟一对应的命令,直接补全

  否则,再次Tab会给出列表

     把用户给出的字符串当做路径开头,并在其指定上级目录下搜索以指定的字符串开头的文件名

     如果惟一:则直接补全

     否则:再次Tab给出列表

  • man 命令

    提供命令帮助的文件 

    手册页存放在/usr/share/man 

    几乎每个命令都有man的“页面” 

 man页面分组为不同的“章节” 

    统称为Linux手册 

    man命令的配置文件:/etc/man.config | man_db.conf

           MANPATH /PATH/TO/SOMEWHERE: 指明man文件搜索位置

 man -M /PATH/TO/SOMEWHERE COMMAND: 到指定位置下搜索COMMAND命令的手册页并显示


  • 列出目录内容 ls

技术分享图片
    列出当前目录的内容或指定目录  

     示例:

ls -a 包含隐藏文件

ls -l 显示额外的信息

ls -R  目录递归通过

ls -ld  目录和符号链接信息

ls -1  文件分行显示

ls –S  按从大到小排序

ls –t   mtime排序

ls –u   配合-t选项,显示并按atime从新到旧排序

ls –U  按目录存放顺序显示

ls –X  按文件后缀排序

  • 查看文件状态 stat

    技术分享图片

 文件:metadata, data 

 三个时间戳:

     access time:访问时间,atime,读取文件内容

     modify time: 修改时间, mtime,改变文件内容(数据)

     change time: 改变时间, ctime,元数据发生改变

  • 变更目录  cd

    技术分享图片

    cd  改变目录

使用绝对或相对路径:

cd /home

cd home

切换至父目录:          cd ..

切换至当前用户主目录: cd

切换至以前的工作目录: cd -

  • 复制档案或者目录 cp

    cp [OPTION]... [-T] SOURCE DEST 

      cp [OPTION]... SOURCE... DIRECTORY 

       cp [OPTION]... -t DIRECTORY SOURCE... 

  cp SRC DEST

SRC是文件:

     如果目标不存在:新建DEST,并将SRC中内容填充至DEST中

     如果目标存在:

          如果DEST是文件:将SRC中的内容覆盖至DEST中

             基于安全,建议为cp命令使用-i选项

          如果DEST是目录:在DEST下新建与原文件同名的文件,并将SRC中内容填充至新文件中

    cp--常用命令

          -i:覆盖前提示  –n:不覆盖,注意两者顺序 

           -r, -R: 递归复制目录及内部的所有内容 

            -a: 归档,相当于-dR --preserv=all 

            -d:--no-dereference --preserv=links 不复制原文件,只复制链接名 

            --preserv[=ATTR_LIST]

              mode: 权限

             -p: 等同--preserv=mode,ownership,timestamp 

            -v: --verbose 

            -f: --force     

            -u:--update 只复制源比目标更新文件或目标不存在的文件 

            --backup=numbered 目标存在,覆盖前先备份加数字后缀 ownership: 属主属组

  • 移动和重命名

            mv [OPTION]... [-T] SOURCE DEST 

            mv [OPTION]... SOURCE... DIRECTORY 

            mv [OPTION]... -t DIRECTORY SOURCE...

        常用选项:

                 -i: 交互式

                 -f: 强制

  • 删除命令

        mv [OPTION]... [-T] SOURCE DEST 

        mv [OPTION]... SOURCE... DIRECTORY 

        mv [OPTION]... -t DIRECTORY SOURCE...

     常用选项:

              -i: 交互式

              -f: 强制

  • 创建新目录命令

    技术分享图片

  •    -m ;配置文件案的权限
    • -p; 帮助在上层目录递归建立起来
  • 删除目录命令

技术分享图片

    -p ;连同上个目录一起删除

  • 更改组密码

u组密码:gpasswd ugpasswd [OPTION] GROUP unewgrp命令:临时切换主组

  -a user  将user添加至指定组中

  -d user  从指定组中移除用户user

  -A user1,user2,...  设置有管理权限的用户列表

       如果用户本不属于此组,则需要组密码

感谢大家浏览!!!




以上是关于JS简单时钟的小白问题的主要内容,如果未能解决你的问题,请参考以下文章

纯js+html+css实现模拟时钟

JS — 实现简单的数字时钟

Android自定义控件练手——简单的时钟

js简单 图片版时钟,带翻转效果

前端小白之每天学习记录----js简单的组件封装

js使用setInterval简单实现一个时钟