`

WEB

    博客分类:
  • JS
阅读更多
innerHtml innerTEXT setTimeout setInterval 用法2008-09-25 12:41<html>
<head>
<script>
function Test(){
       var str="";
       str+="Hello,";
       str+="This is a Test!<br />";
       str+="I Love you;<br />";
       str+="I Love you,too!";
       p.innerHTML=str+"<br /><br />"+Math.random();
       setTimeout('Test();',1000);
}
</script>
</head>
<body onload=Test();>
<span id="p"></span>
</doby>
</html>

innerTEXT与innerHTML的区别:


innerHTMl和确认提示的使用

今天开发中涉及到对一个层的信息控制,就是控制一个层中显示什么信息,查找资料才知道使用innerHTML属性来控制层的值,这个innerHTML跟表单里面的value属性有点类似,能够控制层的显示值。

比如说我一个div层里本来没有值,我处罚一个事件后要显示值,那么就能够使用innerHTML属性了,其实innerHTML属性除了能控制层以外,还能控制窗口内容的所有元素,但是我没有测试过。

(1)对div标签的控制

div标签跟span标签是不一样的,div是一个层的块,span是一行,我们下面看演示就知道区别了。先来看一段控制div的代码。

<script language="javascript">
function chageDiv(number)
{
if (number == 1) {
   document.getElementById("div1").innerHTML = "值为1";
}
if (number == 2) {
   document.getElementById("div1").innerHTML = "值为2";
}
}
</script>


DIV块测试:<div id="div1">默认值</div>

<a href="#" onClick="chageDiv(1)">改变值为1</a>
<a href="#" onClick="chageDiv(2)">改变值为2</a>


运行的时候,点击“改变值为1”那么“默认值”这个内容将会被改变为“值为1”,但是注意其中的界面,就是会发现“DIV测试:”和“默认值”是两行显示的,因为DIV是按块来显示的。

(2)对span的控制

与div类似,但是它是按照行来显示的,看下面的代码:

function chageSpan(number)
{
if (number == 1) {
   document.getElementById("span1").innerHTML = "值为1";
}
if (number == 2) {
   document.getElementById("span1").innerHTML = "值为2";
}
}
</script>


Span行测试:

<span id="span1">默认值</span><br>
<a href="#" onClick="chageSpan(1)">改变值为1</a>
<a href="#" onClick="chageSpan(2)">改变值为2</a>


当点击“改变值为1”的时候,“默认值”将变为“值为1”,但是“Span行测试”和“默认值”是在同一行显示的,跟DIV不一样。

另外一个值得注意的就是,不管是div还是span,后面的名字都是以为id来定义的,不是象表单一样是使用name来定义的。

(3)confirm确认提示框的制作

当我们要执行一个危险操作的时候,比如删除某个内容等,那么就应该给用户相应的提示来用户不容易犯错误。一般提示都是使用confirm()函数来 处理的,给它提交一个参数作为显示的信息提示,那么访问的时候将弹出对话框,如果点击了“确定”那么将改函数返回true,点击了“取消”将放回 false,我们针对这个特点来使用两种方法来控制用户是否执行某个操作。

看代码:

<script language="javascript">
function accessNeteasy()
{
if(confirm('你真的要访问网易新闻 ?')) {
   location='http://calendar.eyou.eyou';
}
}
function accessSina()
{
if (confirm('你确定要访问新浪新闻 ?')) {
   return true;
} else {
   return false;
}
}
</script>


访问方式一:

<a href="#" onClick="accessNeteasy()">网易新闻</a><br>


访问方式二:

<a href="http://news.sina.com.cn" onClick="return accessSina()">新浪新闻</a>



我们这里建立了两个函数,一个accessNeteay,一个accessSina,就是访问网易和新浪,我们使用不同的方法,第一种就是当点了链 接以后,判断如果是true的话,那么就location到指定链接,这种方法比较不具有通用型,只能针对单个的链接。第二种方法是使用返回值的形式,当 确定要访问的时候返回true,不确定的时候返回false,那么这个可以针对任何链接来做,写成一个通用的信息提示,方便页面中的调用。

以上代码都经过测试通过,可以自己再这个基础上进行扩展,写出自己需要的JavaScript代码。

--------------------------------------2# innerText,outerText,innerHTML,outerHTML


这次我们要使用另一些对象属性对来实现动态改变文本,它们就是:innerText,outerText,innerHTML,outerHTML,千万要注意它们的大小写,因为错一点您就得不到预期的效果了。这是全新的方法,当您掌握它以后将可随心所欲的设计动态内容了,不可错过哦!
例12 动态改变文本和Html
<html>
<head>
<title>DHtml举例12</title>
<style><!--
body {font-family:"宋体";color="blue";font-size="9pt"}
-->
</style>
<script language="JavaScript">
function changeText()
{
DT.innerText="我很好!";
}//function

function changeHtml()
{
DH.innerHTML="<i><u>我姓肖!</u></i>";
}//function

function back()
{
DT.innerText="您好吗?";
DH.innerHTML="您姓什么?";
}
</script>
</head>

<body>

<ul>
<li id="DT" onclick="changeText()">您好吗? </li>


</ul>
</body>
</html>

请点击下边的文字……


您姓什么?

恢复原样!


innerText属性用来定义对象所要输出的文本,在本例中innerText把对象DT中的文本“您好吗?”变成了“我很好!”(语句DT.innerText="我很好!")。而对对象DH的改变用了innerHTML属性,它除了有innerText的作用外,还可改变对象DH内部的HTML语句,于是它把文本变成了“我姓肖!”,而且文本输出改成了斜体()并下加一条直线(),即语句DH.innerHTML="我姓肖!"。outerText和outerHTML也具有类似的作用,读者不妨自己试试看。


下面我们来设计一个有趣的动态页面。

例13 文本的动态输入与输出
<html>
<head>
<title>DHtml举例13</title>
<style><!--
body {font-family:"宋体";color="blue";font-size:"9pt"}
.blue {color:blue;font-size:9pt}
-->
</style>
<script language="JavaScript">
function OutputText()
{
if(frm.txt.text!="")
{ Output.innerHTML="在此处输出文本:<u>"+frm.txt.value+"</u>";} //Output为一对象。
else
{ Output.innerText="在此处输出文本:";}
}//function

</script>
</head>

<body>
<p><br></p>

<form name="frm">

<input type="text" name="txt" size="50"><br>
<input type="button" value="输出文本" name="B1" class="blue" onclick="OutputText()"></p>
</form>

请在文本框中输入文字:



<p id="Output">在此处输出文本:</p>
</body>
</html>

此例的动态效果如下,先在文本框中输入文本,然后按“输出文本”的按钮,接着网页便会自动输出您所输入的文本。


此外,我们还可使用insertAdjacentHTML和insertAdjacentText方法(方法即是某特定对象能直接调用的函数)在先前文本或Html内容的前边或后边插入新的文本或Html内容,使用这些方法需要参数,这些参数有:BeforeBegin、 AfterBegin、 BeforeEnd和AfterEnd,它们是用来标明文本或Html插入的地方。具体用法如下例:

例14 使用insertAdjacentHTML插入文本
<html>
<head>
<title>DHtml举例14</title>
<style><!--
body {font-family:"宋体";color="blue";font-size:"9pt"}
-->
</style>
<script language="JavaScript">
function Insert()
{
document.all.New.insertAdjacentHTML("AfterBegin","-新插入的内容-");
//第一个参数是用来指明位置,第二个参数是要插入的Html内容。
}//function
</script>
</head>
<body>
<p><br>
</p>

</body>
</html>

点击此行蓝色文字将插入文本


----------------------------------------#3   js中innerHTML与innerText的用法与区别

用法:

<div id="test">
    <span style="color:red">test1</span> test2
</div>

在JS中可以使用:

test.innerHTML:

  也就是从对象的起始位置到终止位置的全部内容,包括Html标签。

  上例中的test.innerHTML的值也就是“<span style="color:red">test1</span> test2 ”。

test.innerText:

  从起始位置到终止位置的内容, 但它去除Html标签

  上例中的text.innerTest的值也就是“test1 test2”, 其中span标签去除了。

test.outerHTML:

  除了包含innerHTML的全部内容外, 还包含对象标签本身。

  上例中的text.outerHTML的值也就是<div id="test"><span style="color:red">test1</span> test2</div>


完整示例:

<div id="test">
    <span style="color:red">test1</span> test2
</div>

<a href="javascript:alert(test.innerHTML)">innerHTML内容</a>
<a href="javascript:alert(test.innerText)">inerHTML内容</a>
<a href="javascript:alert(test.outerHTML)">outerHTML内容</a>

特别说明:

  innerHTML是符合W3C标准的属性,而innerText只适用于IE浏览器,因此,尽可能地去使用innerHTML,而少用innerText,如果要输出不含HTML标签的内容,可以使用innerHTML取得包含HTML标签的内容后,再用正则表达式去除HTML标签,下面是一个简单的符合W3C标准的示例:

<a href="javascript:alert(document.getElementById('test').innerHTML.replace(/<.+?>/gim,''))">无HTML,符合W3C标准</a>

----------------

<html>
<head></head>
<frameset frameborder="yes" frameborder="1" rows="40%,*">
<frame name="top" src="1.html">
<frame name="bottom" src="2.html">
</frameset>
</html>

<html>
<head>
<script language="javascript">
function init()
{   
    var aaa = parent.window.frames[0].document.body.innerHTML;
    alert(aaa);
}
</script>
</head>
<body>
<p align="center">nothing</p>
<p align="center"><input type="button" onclick="init()"; value="click"></p>
</body>
</html>

<html>
<center>汽车 房产 女人</center>
</html>

-----------------------------------------4# setTimeout 和 setInterval 的区别

window对象有两个主要的定时方法,分别是setTimeout 和 setInteval 他们的语法基本上相同,但是完成的功能取有区别。

  setTimeout方法是定时程序,也就是在什么时间以后干什么。干完了就拉倒。

  setInterval方法则是表示间隔一定时间反复执行某操作。

  如果用setTimeout实现setInerval的功能,就需要在执行的程序中再定时调用自己才行。如果要清除计数器需要 根据使用的方法不同,调用不同的清除方法:

例如:tttt=setTimeout('northsnow()',1000);

clearTimeout(tttt);

或者:

tttt=setInterval('northsnow()',1000);

clearInteval(tttt);

举一个例子:

<div id="liujincai"></div>
<input type="button" name="start" value="start" onclick='startShow();'>
<input type="button" name="stop" value="stop" onclick="stop();">
<script language="javascript">
   var intvalue=1;
   var timer2=null;
   function startShow()
   {
      liujincai.innerHTML=liujincai.innerHTML + "&nbsp;" + (intvalue ++).toString();
      timer2=window.setTimeout("startShow()",2000);
   }
   function stop()
   {
      window.clearTimeout(timer2);
   }
</script>
或者:

<div id="liujincai"></div>
<input type="button" name="start" value="start" onclick='timer2=window.setInterval("startShow()",2000);//startShow();'>
<input type="button" name="stop" value="stop" onclick="stop();">
<script language="javascript">
   var intvalue=1;
   var timer2=null;
   function startShow()
   {
      liujincai.innerHTML=liujincai.innerHTML + "&nbsp;" + (intvalue ++).toString();
   }
   function stop()
   {
      window.clearInterval(timer2);
   }
</script>



分享到:
评论

相关推荐

    Delphi+Web前端开发教程基于TMS+WEB+Core框架.pdf

    《Delphi Web前端开发教程——基于TMS WEB Core框架》PDF本教程适合对使用Delphi TMS WEB Core 创建 Web 应用程序感兴趣的初学者和高级开发人员。学习本教程只需要免费的 Delphi 社区版以及 TMS WEB Core 的试用版就...

    jsp web程序jsp web程序jsp web程序jsp web程序jsp web程序jsp web程序jsp web程序jsp web程序jsp web程序

    jsp web程序jsp web程序jsp web程序jsp web程序jsp web程序jsp web程序jsp web程序jsp web程序 jsp web程序jsp web程序jsp web程序jsp web程序jsp web程序jsp web程序jsp web程序jsp web程序 jsp web程序jsp web程序...

    web工具箱 web工具箱

    web工具箱web工具箱web工具箱web工具箱web工具箱web工具箱web工具箱web工具箱web工具箱web工具箱web工具箱web工具箱web工具箱web工具箱web工具箱web工具箱web工具箱web工具箱web工具箱web工具箱web工具箱web工具箱...

    Appweb嵌入式HTTP Web服务器

    这是直接集成到客户的应用和设备,便于开发和部署基于Web的应用程序和设备。它迅速( 每秒处理3500多要求)而紧凑 ,其中包括支持动态网页制作,服务器端嵌入式脚本过程中的CGI ,可加载模块的SSL ,摘要式身份验证...

    Web.Scraping.with.Python.Collecting.Data.from.the.Modern.Web

    Learn web scraping and crawling techniques to access unlimited data from any web source in any format. With this practical guide, you’ll learn how to use Python scripts and web APIs to gather and ...

    web前端网页设计作品web期末大作业web前端作业网页制作代码web大作业制作网页代码

    本资源就可以为你解决你所面临的这些问题,原始HTML+CSS+JS页面设计, web大学生网页设计作业源码,这是一个不错的网页制作资源合集,画面精美,非常适合初学者学习使用。 多套(HTML+CSS+JS)网页设计的学生期末大...

    白帽子讲Web安全

    《白帽子讲Web安全》内容简介:在互联网时代,数据安全与个人隐私受到了前所未有的挑战,各种新奇的攻击技术层出不穷。如何才能更好地保护我们的数据?《白帽子讲Web安全》将带你走进Web安全的世界,让你了解Web安全...

    Even Faster Web Sites: Performance Best Practices for Web Developers (PDF 电子书)

    性能是任何一个网站成功的关键,然而,如今日益丰富的内容和大量使用Ajax的Web应用程序已迫使浏览器达到其处理能力的极限。Steve Souders是Google Web性能布道者和前Yahoo!首席性能工程师,他在本书中提供了宝贵的...

    无懈可击的WEB设计第二版.pdf

    《无懈可击的Web设计:利用XHTML和CSS提高网站的灵活性与适应性》是Web标准设计领域的公认专家Dan Cederholm的倾力之作,向您描述了基于Web标准的设计策略,以适应各种各样的用户浏览方式。书中每一章的开头都给出了...

    软件测试实战项目(Web项目)

    软件测试实战项目(Web项目),软件测试实战项目(Web项目),软件测试实战项目(Web项目),软件测试实战项目(Web项目),软件测试实战项目(Web项目),软件测试实战项目(Web项目),软件测试实战项目(Web项目),软件测试...

    超全的Web渗透自我学习资料合集(64篇).zip

    超全的Web渗透学习资料合集,共64篇。 web渗透: web安全原则 web渗透: web渗透测试清单 web渗透: 自动化漏洞扫描 web渗透: Google Hacking web渗透: web服务器指纹识别 web渗透: 枚举web服务器应用 web渗透: 识别...

    phpweb二次开发,phpweb破解版,phpweb后台升级,phpweb2.0.5升级

    phpweb二次开发,phpweb破解版,phpweb后台升级,phpweb2.0.5升级,phpweb成品网站商业版v1.5.0/20111209升级包 phpweb成品网站升级包免费送给爱好phpweb成品网站朋友,已经更新到最新的v2.0.5/20120412 免责声明:此...

    AxureUX WEB前后端交互原型通用元件库 v3.11 (Axure RP9专用版)

    AxureUX WEB前后端交互原型通用元件库 v3.11 (Axure RP9专用版) AxureUX WEB前后端交互原型通用元件库 v3.11 (Axure RP9专用版) AxureUX WEB前后端交互原型通用元件库 v3.11 (Axure RP9专用版) AxureUX WEB前后端...

    白帽子讲Web安全高清完整PDF版

    《白帽子讲Web安全》内容简介:在互联网时代,数据安全与个人隐私受到了前所未有的挑战,各种新奇的攻击技术层出不穷。如何才能更好地保护我们的数据?《白帽子讲Web安全》将带你走进Web安全的世界,让你了解Web安全...

    c#写的webServer网页可以调用串口

    c#写的webServer网页可以调用串口. 弄了三种webServer的写法,简单、复杂的,感觉国外这个开源的最好。 我在他基础上测试了通过网页调用串口。 网页本身是不能控制串口的,这样调用: 在js里这样调用: ...

    Web程序设计13 Web程序设计13 Web程序设计13 Web程序设计13

    Web程序设计13 Web程序设计13 Web程序设计13 Web程序设计13

    Web渗透技术及实战案例解析

    《Web渗透技术及实战案例解析》从Web渗透的专业角度,结合网络安全中的实际案例,图文并茂地再现Web渗透的精彩过程。《Web渗透技术及实战案例解析》共分7章,由浅入深地介绍和分析了目前网络流行的Web渗透攻击方法和...

    zh_core_web_md-3.2.0.tar

    zh_core_web_md-3.2.0zh_core_web_md-3.2.0zh_core_web_md-3.2.0zh_core_web_md-3.2.0zh_core_web_md-3.2.0zh_core_web_md-3.2.0zh_core_web_md-3.2.0zh_core_web_md-3.2.0zh_core_web_md-3.2.0zh_core_web_md-3.2.0...

    System.Web.WebPages.dll

    System.Web.WebPages

Global site tag (gtag.js) - Google Analytics