JavaScript是什么
网页特效原理
淘宝、新浪、百度
JavaScript就是修改样式
编写JS的流程
布局: HTML + CSS
属性: 确定要修改哪些属性
事件: 确定用户做哪些操作(产品设计)
编写JS:在事件中,用JS来修改页面元素的样式
第一个JS特效——鼠标提示框
分析效果实现原理
样式: Div的display
事件: onmouseover、onmouseout
特效基础
事件驱动:onmouseover
元素属性操作:obj.style.[…]
特效实现原理概括:响应用户操作,对页面元素(标签)进行某种修改
document.getElementById: 为了兼容性,必须要先通过ID获取元素后再使用
初识函数
制作更复杂的效果(DIV的颜色、大小都变化)
直接在事件内写代码会更乱
- 引入function()、函数的基本形式
- 把JS从标签里放入到函数里,类似css里的class
- 变量的使用——别名
定义和调用
- 函数定义: 只是告诉系统有这个函数,不会实际执行
- 函数调用: 真正执行函数的代码
getElementById
第一个JS兼容性问题
在EF下直接使用ID存在问题
- 引入document.getElementById()
- document.getElementById在任何浏览器下均可使用
网页换肤
- 土豆网“开灯、关灯”效果
- 任何标签都可以加ID,包括link
- 任何标签的任何属性,也都可以修改
- HTML里怎么写,JS里就怎么写(只有一个例外:className)
if 判断
点击按钮显示/隐藏Div(弹出菜单)
- 特效实现过程及原理分析
- if的基本形式
扩展
- 为a链接添加JS
<a href="javascript:;"></a>
(不会发生页面跳转)
- className的使用
if(条件) {
语句1
} else {
语句2
}
练习
练习1:
鼠标移入到input上的时候,让div1显示
鼠标移出input上的时候,让div1隐藏
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<style>
#div1 {
width: