首页 > 编程笔记 > JavaScript笔记
JS实现网页动态效果的原理
使用 JavaScript 后,可以实现许多网页的动态变化效果,诸如:跑马灯、选项卡切换、广告轮播、表单数据有效验证、漂移菜单、折叠菜单、倒计时等。这些动态变化效果的实现,并不需要网页重新加载,而是通过改变局部区域的外观或内容来实现。这正是 JavaScript 实现网页动态效果的原理。
需要网页动态变化时,只需要根据变化的需要,使用 JavaScript 修改元素的样式或增加/清空页面元素内容或属性值。使用 JavaScript 动态改变网页时一般会结合 CSS,其中 CSS 设置元素的初始样式,JavaScript 则实现元素的动态样式。
所以使用 JavaScript 实现网页动态效果,通常包含这样两个步骤:首先是使用 CSS 设置初始样式(即布局元素);然后再根据动态变化的需要,使用 JavaScript 修改元素样式或增加/清空页面元素内容或属性值。
JavaScript 实现网页变化原理的应用示例如下所示:
图 1:初始效果和光标移出 div 后的效果
光标移入 div 后的效果如图 2 所示。
图 2:光标移入 div 后的效果
上述代码使用 CSS 代码获得图 1 所示的初始效果,包括设置 div 的宽度、高度和背景样式。而图 2 所示的效果,以及由图 2 恢复到图 1 所示的效果则使用 JavaScript 代码来实现。
需要网页动态变化时,只需要根据变化的需要,使用 JavaScript 修改元素的样式或增加/清空页面元素内容或属性值。使用 JavaScript 动态改变网页时一般会结合 CSS,其中 CSS 设置元素的初始样式,JavaScript 则实现元素的动态样式。
所以使用 JavaScript 实现网页动态效果,通常包含这样两个步骤:首先是使用 CSS 设置初始样式(即布局元素);然后再根据动态变化的需要,使用 JavaScript 修改元素样式或增加/清空页面元素内容或属性值。
JavaScript 实现网页变化原理的应用示例如下所示:
<!doctype html> <html> <head> <meta charset="utf-8"> <title>第一个JavaScript实例</title> <style> /*设置div的宽度、高度和背景样式*/ div{ width:200px; height:200px; background:#CCC; } </style> </head> <body> <div id="div1"></div> <script> //使用document对象调用getElmentById()方法获取文档中的元素 var oDiv = document.getElementById("div1"); //光标移入div上时调用函数修改div样式 oDiv.onmousemover = changeStyle; //alert("hi"); //光标移出div时调用函数恢复div最初样式 oDiv.onmouseout = resetStyle; //oDiv.onmouseout=resetStyl; //alert("hello"); //定义函数,修改div的宽度和背景颜色 function changeStyle(){ oDiv.style.width = "400px"; oDiv.style.background = "#FCF"; } //定义函数,将div的宽度和背景样式恢复为最初状态 function resetStyle(){ oDiv.style.width = "200px"; oDiv.style.background = "#CCC"; } </script> </body> </html>上述代码在 Chrome 浏览器中运行后的初始效果和光标移出 div 后的效果完全一样,如图 1 所示,
图 1:初始效果和光标移出 div 后的效果
光标移入 div 后的效果如图 2 所示。
图 2:光标移入 div 后的效果
上述代码使用 CSS 代码获得图 1 所示的初始效果,包括设置 div 的宽度、高度和背景样式。而图 2 所示的效果,以及由图 2 恢复到图 1 所示的效果则使用 JavaScript 代码来实现。
所有教程
- C语言入门
- C语言编译器
- C语言项目案例
- 数据结构
- C++
- STL
- C++11
- socket
- GCC
- GDB
- Makefile
- OpenCV
- Qt教程
- Unity 3D
- UE4
- 游戏引擎
- Python
- Python并发编程
- TensorFlow
- Django
- NumPy
- Linux
- Shell
- Java教程
- 设计模式
- Java Swing
- Servlet
- JSP教程
- Struts2
- Maven
- Spring
- Spring MVC
- Spring Boot
- Spring Cloud
- Hibernate
- Mybatis
- MySQL教程
- MySQL函数
- NoSQL
- Redis
- MongoDB
- HBase
- Go语言
- C#
- MATLAB
- JavaScript
- Bootstrap
- HTML
- CSS教程
- PHP
- 汇编语言
- TCP/IP
- vi命令
- Android教程
- 区块链
- Docker
- 大数据
- 云计算