一、初探JavaScript魅力

基本知识:

JavaScript是什么

网页特效原理

  -JavaScript就是修改样式

编写JS流程

  - 布局:HTML + CSS

  - 属性:确定修改哪些属性

  - 事件:确定用户做哪些操作(产品设计)

  - 编写js:在事件中,用js来修改页面元素样式

(小注:html + css 是静态页面,html + css + js 是动态页面;实际上,js就是给网页添加了一些交互或是一些功能。)


案例:我的第一个js特效——鼠标提示框

分析效果实现原理:

  - 样式:Div的display

  - 事件:onmouseover/onmouseout

特效基础:

  - 事件驱动:onmouseover

  - 元素操作属性:obj.style.[.....]

  - 特效实现原理概括:响应用户操作、对页面元素(标签)进行某种修改

(小注:事件指的是用户操作,如onclick、onmouseover、onmouseout)

<!DOCTYPE html>

<html lang = "en">

<head>

  <meta charset = "utf-8">

  <title>我的第一个js特效——鼠标提示框</title>

  <style>

    div{width:200px; height:200px; background:#edf1f2; display:none;}

  </style>

</head>

<body>

<input type = "checkbox"  onmouseover = "document.getElementById('div1').style.display = 'block';" onmouseout = "document.getElementById('div1').style.display = 'none';"/>

<div id = "div1">

这是我的第一js特效哦~

</div>

</body>

</html>


初识函数

制作更复杂的效果(Div的颜色、大小都变化)

直接在事件内写代码会很乱

  - 引入function()、函数的基本形式

  - 把js从标签里放到函数里,类似css中的class

  - 变量的使用——标识符(别名)

定义和调用:

  -函数的定义:只是告诉系统有这个函数,并不会实际执行

  - 函数调用:真正执行函数里的代码

(小注:注意代码的重用)

案例:Div的颜色、大小、透明度都变化 

js

function toGreen(){

var oDiv = document.getElementById("div1");

oDiv.style.width = "300px";

oDiv.style.height = "300px";

oDiv.style.background = "green";

oDiv.style.opacity = .3;

}

function toYellow(){

var oDiv = document.getElementById("div1");

oDiv.style.width = "200px";

oDiv.style.height = "200px";

oDiv.style.background = "yellow";

oDiv.style.opacity = 1;

}

css

div{width:200px; height:200px; background:yellow; opacity:1}

html

<div id = "div1" onmouseover = "toGreen()" onmouseout = "toYellow()"></div>

JS的魅力的更多相关文章

  1. <一>初探js特效魅力之全选不选反选04

    初探js特效魅力04 我们在进入到公司里面工作的时候,做一个同一个项目,经常是大家分工合作,当我们写css时,一般不写在行间,因为这样会被误操作,也就是被乱删了都不知道,这样的后果是很难检查的 ,因为 ...

  2. <一>初探js特效魅力之选项卡05

    初探js特效魅力05 接下来为大家介绍的选项卡的切换 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&quo ...

  3. vue.js+boostrap最佳实践

    一.为什么要写这篇文章 最近忙里偷闲学了一下vue.js,同时也复习了一下boostrap,发现这两种东西如果同时运用到一起,可以发挥很强大的作用,boostrap优雅的样式和丰富的组件使得页面开发变 ...

  4. vue.js+boostrap

    vue.js+boostrap最佳实践 一.为什么要写这篇文章 最近忙里偷闲学了一下vue.js,同时也复习了一下boostrap,发现这两种东西如果同时运用到一起,可以发挥很强大的作用,boostr ...

  5. js 小数计算为啥和想象中不一样!

    今天遇到了一个比较有趣的事,如果要你计算0.1+0.2等于多少你会怎么回答? "0.3啊!"你可能都不会考虑.我也一样,当a=0.1,b=0.2时 if(a+b === 0.3){ ...

  6. JS基础--函数与BOM、DOM操作、JS中的事件以及内置对象

       前   言 絮叨絮叨 这里是JS基础知识集中讲解的第三篇,也是最后一篇,三篇JS的基础,大多是知识的罗列,并没有涉及更难得东西,干货满满!看完这一篇后,相信许多正在像我一样正处于初级阶段的同学, ...

  7. js变量提升小记

    作为世界上最优美的语言javascript的使用者,呵呵,js的魅力是无穷的,今天来聊聊他的魅(dan)力(teng)之一,变量提升. 每种语言所定义的变量基本都会有一定得作用域,而js的作用域则存在 ...

  8. 新书《Ext JS 4.2 实战》终于出炉了

    在清华大学出版社网站看到了书籍信息了,具体地址是:http://www.tup.tsinghua.edu.cn/book/Showbook.asp?CPBH=056140-01&DJ=51 预 ...

  9. 使用Sublime Text 或 vs2017开发Node.js程序

    在学习一门开发语言时,为了从简单的方式入手,有时候直接用Notepad开始敲代码.曾经我也这样干过,这样做简洁而不简单啊! 随着时间的流逝,人也变得懒惰起来,做事前总是想借助一些工具来搞事情.< ...

随机推荐

  1. NIO概览

    NIO专题:http://developer.51cto.com/art/201112/307172.htm 一.新IO概述: 新IO和传统IO都是用于进行输入/输出,相比于传统IO面向流的处理方式, ...

  2. Gson简要使用笔记(转载)

    经过比较,gson和其他现有java json类库最大的不同时gson需要序列化得实体类不需要使用annotation来标识需要序列化得字段,同时gson又可以通过使用annotation来灵活配置需 ...

  3. puppeteer部署到centOS上出现launch chrome fail的情况

    在Mac上调试无问题,放到阿里云上运行会报错. 需要先安装依赖, yum install pango.x86_64 libXcomposite.x86_64 libXcursor.x86_64 lib ...

  4. 【opencv】cv::Mat_ 对单个元素赋值

    创建一个cv::Mat_并赋值 cv::Mat_<,); mat(,)=VIRTUAL_FOCAL; mat(,)=; mat(,)=roiSize_x/; mat(,)=; mat(,)=VI ...

  5. Linux进入-adsdfsd目录

    Linux进入-adsdfsd目录 如果某个目录名称是短线(短横线)开头的 要想在命令行中进入目录,使用如下命令: cd -- -adsdfsd 延伸: 其他非寻常操作: http://www.cnb ...

  6. ECMAScript 6 学习资料

    ECMAScript 6入门 http://es6.ruanyifeng.com/ 30分钟掌握ES6/ES2015核心内容(上) 30分钟掌握ES6/ES2015核心内容(下)

  7. Html5游戏开发-145行代码完成一个RPG小Demo

    lufy前辈写过<[代码艺术]17行代码的贪吃蛇小游戏>一文,忽悠了不少求知的兄弟进去阅读,阅读量当然是相当的大.今天我不仿也搞一个这样的教程,目地不在于忽悠人,而在于帮助他人. 先看de ...

  8. Servlet实现前后端交互的原理及过程解析

    在日常调试项目时,总是利用tomcat去启动项目,并进行前后端联调,但对于前后端的请求响应的交互原理及过程并不是特别清晰. 为什么在前端发出相应请求,就能跳转到后端通过程序得到结果再响应到前端页面呢? ...

  9. 机器学习算法(优化)之二:期望最大化(EM)算法

    EM算法概述 (1)数学之美的作者吴军将EM算法称之为上帝的算法,EM算法也是大家公认的机器学习十大经典算法之一.EM是一种专门用于求解参数极大似然估计的迭代算法,具有良好的收敛性和每次迭代都能使似然 ...

  10. composer是php包管理工具

    composer是 PHP 用来管理依赖(dependency)关系的工具.你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer 会帮你安装这些依赖的库文件. MAC.L ...