使用JavaScript制作页面特效2

1.Date对象的常用方法

setFullYear()

setMonth()

setDate()

setHours()

setMinutes()

setSeconds()

定时函数

setTimeout:等待某段时间后调用某个函数(1次)

语法:setTimeout("调用的函数名称",等待时间)

消除:clearTimeout()

setInterval:每隔某段时间反复调用某个函数(多次)

语法:setInterval("调用的函数名称",间隔时间)

清除:clearInterval()

实例

HTML代码:

<!DOCTYPE html>
<html>

<head>
  <meta charset="utf-8" />
  <title>时钟特效</title>
  <script type="text/javascript">
   function disptime() {
    var timer;
    var today = new Date();
    var hh = today.getHours();
    var mm = today.getMinutes();
    var ss = today.getSeconds();
    document.getElementById("myclock").innerHTML = "<h1>现在是:" + hh + ":" + mm + ":" + ss + "<h1>";
    setTimeout("disptime()", 1000)
   }
   function interval() {
    timer = setInterval("disptime()", 1000);
   }
  </script>
 </head>

<body >
  <div id="myclock"></div>
 </body>

</html>

运行结果

注意一点:调用函数不能写在script里,因为js代码是一步一步运行的,放在script下面不会执行这个disptime()的代码。所以把disptime()放在body里用onload来调用

2.什么是DOM?

DOM-Document Object Mondel(文档对象模型)

DOM提供了访问、动态修改结构文档的接口

3.DOM的组成?

Core DOM:定义了一套标准的针对任何结构化文档的对象

XML DOM:定义了一套标准的针对XML文档的对象

HTML DOM:定义了一套标准的针对HTML文档的对象

4.访问节点

使用getElement系列方式访问节点

getElementById()

getElementByName()

getElementByTagName()

HTML代码

<!DOCTYPE html>
<html>

	<head>
		<meta charset="utf-8" />
		<title>改变图片</title>
		<style type="text/css">
			img {
				border: 0px;
				padding: 3px;
			}

			body {
				margin: 0px;
				font-size: 12px;
				line-height: 25px;
			}

			input {
				margin-top: 5px;
			}
		</style>
		<script src="js/changeImg.js"></script>
	</head>

	<body style="text-align:center;">
		<img src="img/fruit.jpg" alt="水果图片" id="fruit" />
		<br /><input name="btn" type="button" value="改变图片" onclick="change()" />
	</body>

</html>

JavaScript代码

function change(){
	var img=document.getElementsByTagName("img");
	img[0].setAttribute("src","img/grape.jpg");
}

  运行结果

使用层次关系访问节点

parentNode

firstChild

lastChild

实例

HTML代码:

<!DOCTYPE html>
<html>

	<head>
		<meta charset="utf-8" />
		<title>DOM节点</title>
		<script type="text/javascript" src="js/fruit.js"></script>
	</head>

	<body><img src="img/fruit.jpg" alt="图片" id="imgFruit" />
		<h1>喜欢的水果</h1><input type="button" onclick="showNode()" value="查找节点" />
		<p>DOM应用</p></body>
</html>

  JavaScript代码

function showNode(){
	var imgObj=document.getElementById("imgFruit");
	var imgParent=imgObj.parentNode;
	alert(imgParent.nodeName);
	var bodyFirstChild=imgParent.firstChild;
	alert(bodyFirstChild.nodeName);
	var bodyLastChild=imgParent.lastChild;
	alert(bodyLastChild.nodeName);
}

运行结果

5.操作节点的属性值

Core DOM的标准方法

getAttribute("属性名"):获取属性值

setAttribute("属性名","属性值"):设置属性值

针对HTML文档的特殊方法

对象名.属性值

6.创建节点

createElement(tagName):创建元素

appendChild(nodeName):在末尾添加节点

insertBefore(newNode,oldNode):在某个元素前插入节点

cloneNode(deep):克隆节点

HTML代码

<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<title>增加节点</title>
		<style type="text/css">
			ol li {
				list-style-type: upper-alpha
			}
		</style>
		<script src="js/addImg.js"></script>
	</head>

	<body>
		<h2>喜欢的水果</h2>
		<input id="b1" type="button" value="增加一幅图片" onclick="newNode()" />
		<input id="b1" type="button" value="增加一个选项" onclick="addAnswer()" />
		<img src="img/sixty1.jpg" id="sixty1" alt="水果" />
		<img src="img/sixty2.jpg" id="sixty2" alt="果篮" />

		<ol id="questions">
			<li><input type="text" name="answer" /></li>
		</ol>
	</body>

</html>

  JavaScript代码

function newNode(){
	var image=document.createElement("img");
	image.setAttribute("src","img/newimg.jpg");
	document.body.appendChild(image);
}
function addAnswer(){
	var liElement=document.createElement("li");
	var inputElement=document.createElement("input");
	inputElement.setAttribute("type","text");
	inputElement.setAttribute("name","answer");
	liElement.appendChild(inputElement);
	var Questions=document.getElementById("questions");
	Questions.appendChild(liElement);
}

  运行结果:

点击添加一张图片

点击添加一个选项

7.数组的赋值和读取

先声明再赋值

var fruit = new Array(4);

fruit[0] = "apple";

fruit[1] = "orange";

声明时同时初始化

var fruit = new Array("apple","orange","peach","banana");

8.数组的读取

单个读取

数组对象名[数组下标]

fruit[0];

循环读取

for

for...in

HTML代码

<!DOCTYPE html>
<html>

	<head>
		<meta charset="utf-8" />
		<title>数组方法的应用</title>
		<script type="text/javascript">
			var arrayFruit = new Array("apple", "orange", "peach", "bannaner");
			document.write("排序前的数组<br />");
			for(var i in arrayFruit) {
				document.write(arrayFruit[i] + "<br />");
			}
			document.write("排序后的数组<br />");
			arrayFruit.sort();
			for(var i in arrayFruit) {
				document.write(arrayFruit[i] + "<br />");
			}
		</script>
	</head>

	<body>

	</body>

</html>

运行结果

9.Array对象的常用属性和方法

属性

length:设置或返回数组中元素的长度

方法

join():将数组拼接为字符串

sort():对数组的元素进行排序

10.今天遇到的问题

关于firstChild和lastChild获取到的结果不是想要的节点而是#text,

问题主要是出自<body>之后和</p>之前的“回车”和“空格”字符,复现里面打印出的#text就是这些“回车”和“空格”字符,也称文本节点,它们才是真正意义上的

firstChild和lastChild,而不是我们想要获取的p,所以将这些空白字符去掉即可。

最终结果就不会有#text了

原文地址:https://www.cnblogs.com/zp-frighting/p/10498463.html

时间: 2024-11-13 17:39:04

使用JavaScript制作页面特效2的相关文章

【JavaScript制作页面时常用的五个特效】------你用到了吗?

常用的五个特效的相关知识点见附录(五道例题后有附录哦~): 例一: 1.在某页面中有一个图片和五个超链接,如下图所示: 单击不同的数字超链接显示不同的图片: 图1 图片幻灯片显示效果 提示: (1)默认显示一个图片,五个超链接调用同一个传参函数,参数设置为显示图片的名称. (2)使用"对象名.属性值"或setAttribute()的方式改变图片的名称. JS参照代码如下: 1 <script type="text/javascript"> 2 var n

JavaScript制作时钟特效

需求说明:制作显示年.月.日.星期几并且显示上午(AM)和下午(PM)的 12进制的时钟,具体效果如下所示: 代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <meta http-equiv="Content-Type" content="text/h

练习2:制作非缘勿扰页面特效的源代码

使用 jQuery 的练习 要求如下:     使用jQuery之前记得去下载一个jquery的架包,而我使用的是jquery-3.2.1版本,放在WebRoot包下,可以自己创建一个包. 1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.

JavaScript特效源码(7、页面特效二)

7.将站点加入频道栏 将站点加入频道栏[看详细说明] ====1.加入channel的方法:使用如下连接指向你的频道文件*.cdf. <a href="javascript:window.external.addChannel('jschannel.cdf')"> ============================================================================================== *.cdf文件的内容如

JavaScript特效源码(6、页面特效一)

1.页面全屏 页面全屏显示[ALT+F4关闭][共1步][新弹出窗口并以全屏幕方式显示] ====1.将以下代码加入HTML的<body></body>之间: <form> <div align="center"> <input type="BUTTON" name="FullScreen" value="全屏显示" onClick="window.open(do

php练习-javascript,JQuey制作页面切换

php练习-javascript,JQuey制作页面切换一.重点:css样式,js的dom取值,js的事件 JQuey引入地址<script type="text/javascript" src="https://cdn.bootcss.com/jquery/2.2.4/jquery.js"></script> 二.js原生代码<!DOCTYPE html><html><head lang="en&qu

Parallax.js|强大的javascript视觉差特效引擎

简要教程 Parallax.js是一款功能非常强大的javascript视觉差特效引擎插件.通过这个视觉差插件可以制作出非常炫酷的视觉差特效.它可以检测智能设备的方向.你可以将它作为jQuery插件来使用,也可以以纯JS的方式来使用. 查看演示     下载插件       使用方法 HTML结构 该视觉差特效的基本HTML结构使用的是一个无序列表,每一个列表项给它们一个class layer和一个data-depth属性来指定该层的深度.深度为0的层将是固定不动的,深度为1的层运动效果最激烈的

[转载]用Javascript获取页面元素的位置

原文地址:http://www.ruanyifeng.com/blog/2009/09/find_element_s_position_using_javascript.html 制作网页的过程中,你有时候需要知道某个元素在网页上的确切位置. 下面的教程总结了Javascript在网页定位方面的相关知识. 一.网页的大小和浏览器窗口的大小 首先,要明确两个基本概念. 一张网页的全部面积,就是它的大小.通常情况下,网页的大小由内容和CSS样式表决定. 浏览器窗口的大小,则是指在浏览器窗口中看到的那

如何利用iframe标签以及Javascript制作时钟?

如何利用iframe标签以及Javascript制作时钟? 如何制作一个时钟呢?效果如下图所示: 这里的时钟会不停的走,但是下面的页面是不会变得,这样就实现了我们想要的效果了.下面我将分为以下几个方面来讲: javascript中的Date引用类型 几种效果不佳的实例 <iframe>标签 最终效果不错的实例 如果大家想直接看最终不错的效果实例,可以直接点击这里. 第一部分:Date引用类型 1.日期对象可以直接使用new操作符和Date构造函数构造.代码如下: 1 var date=new