所有的主流浏览器都支持JavaScript,它可以让网页呈现各种动态效果。
可使用<script>标签(成对出现)在HTML网页中插入JavaScript代码。把JavaScript代码写在<script></script>之间。
<script type="text/javascript">表示在<script></script>之间的是文本类型(text),javascript是为了告诉浏览器里面的文本是属于JavaScript语言。
可使用<script>标签在HTML文件中添加JavaScript代码,也可以单独创建JavaScript(简称JS文件),其文件后缀通常为.js,然后将JS代码直接写在JS文件中。
内嵌式js代码:
<script type="text/javascript">
alert("JS代码");
</script>
引用JS外部文件:
1)index.html文件
<script src="script.js"></script>
2)script.js文件
alert("JS代码");
JavaScript作为一种脚本语言可以放在html页面中任何位置,一般放在网页的head或body部分。但是浏览器解释html时是按先后顺序的,所以前面的script就先被执行。比如进行页面显示初始化的js必须放在head里面,因为初始化都要求提前进行(如给页面body设置css等);而如果是通过事件调用执行的function那么对位置没什么要求的。
每一句JavaScript都必须以英文分号结束。
单行注释://
多行注释:/* */
1、变量
定义变量使用关键字var:
var 变量名
变量名可以任意取名,但要遵循命名规则:变量必须使用字母、下划线(_)或者美元符($)开始,可以使用任意多个英文字母、数字、下划线(_)或者美元符($)组成,不能使用JavaScript关键词与JavaScript保留字。变量名区分大小写,变量需先声明在赋值。
if(条件)
{ 条件成立时执行的代码 }
else
{ 条件不成立时执行的代码 }
2、函数
function 函数名()
{
函数代码;
}
3、输出内容——document.write()
document.write(); //可直接向HTML输出流写内容。
document.write(“输出内容”); //直接输出””里面的内容
document.write(mystr); //输出变量内容
document.write(“输出内容”+mystr); //组合输出
document.write(mystr+”<br>”); //输出HTML标签
4、警告——alert 消息对话框
alert(字符串或变量);
alert弹出消息对话框小窗口(包含一个确定按钮),上面写着一段提示信息文字,如果不点击“确定”,就不能对网页做任何操作。
5、确认——confirm 消息对话框
confirm 消息对话框通常用于允许用户做选择的动作,如:“是否?”等。弹出对话框(包括一个确定按钮和一个取消按钮)。
confirm(str); //str:在消息对话框中要显示的文本
//返回值:Boolean值,点击确定时候返回true,点击取消时返回false
6、提问——prompt消息对话框
prompt弹出消息对话框,通常用于询问一些需要与用户交互的信息。弹出消息对话框(包含一个确定按钮、取消按钮与一个文本输入框)
prompt(str1, str2); //str1:要显示在消息对话框中的文本,不可修改
//str2:文本框中的内容,可修改
//返回值:点击确定按钮,文本框中的内容将作为函数返回值;
//返回值:点击取消按钮,将返回null
7、打开新窗口——window.open
open()方法可以查找一个已经存在或者新建的浏览器窗口。
window.open([URL], [窗口名称], [参数字符串])
参数说明:
URL:可选参数,在窗口中要显示网页的网址或路径。如果省略这个参数,或者它的值是空字符串,那么窗口就不显示任何文档。
窗口名称:可选参数,被打开窗口的名称。
1)该名称由字母、数字和下划线字符组成。
2)"_top"、"_blank"、"_self"具有特殊意义的名称。
_blank:在新窗口显示目标网页
_self:在当前窗口显示目标网页
_top:框架网页中在上部窗口中显示目标网页
3)相同 name 的窗口只能创建一个,要想创建多个窗口则 name 不能相同。
4)name 不能包含有空格。
参数字符串:可选参数,设置窗口参数,各参数用逗号隔开。
参数表:
参数 | 值 | 说明 |
top | Number | 窗口顶部离开屏幕顶部的像素数 |
left | Number | 窗口左端离开屏幕左端的像素数 |
width | Number | 窗口的宽度 |
height | Number | 窗口的高度 |
menubar | yes,no | 窗口有没有菜单 |
toolbar | yes,no | 窗口有没有工具条 |
scrollbars | yes,no | 窗口有没有滚动条 |
status | yes,no | 窗口有没有状态栏 |
8、关闭新窗口——window.close
window.close(); //关闭本窗口
<窗口对象>.close(); //关闭指定的窗口
例:新窗口打开网站
1)新窗口打开时弹出确认框,是否打开
2)通过输入对话框,确定打开的网址,默认为 http://www.imooc.com/
3)打开的窗口要求,宽400像素,高500像素,无菜单栏、无工具栏
代码:
<html>
<head>
<title> new document </title>
<meta http-equiv="Content-Type" content="text/html; charset=gbk"/>
<script type="text/javascript">
function openWindow(){
var open = confirm("是否新建窗口?");
// 新窗口打开时弹出确认框,是否打开
if(open==true){
var url = prompt("请在文本框中输入需要打开的网址"," http://www.imooc.com/");
// 通过输入对话框,确定打开的网址,默认为 http://www.imooc.com/
if(url!=null){
window.open(url,'_blank','width=400,height=500,menubar=no,toolbar=no');
}
//打开的窗口要求,宽400像素,高500像素,无菜单栏、无工具栏。
}
}
</script>
</head>
<body>
<input type="button" value="新窗口打开网站" onclick="openWindow()" />
</body>
</html>
结果:
点击按钮后:
点击“确定”后:
弹出链接的新窗口。
9、DOM
1)通过ID获取元素:document.getElementById("id")
2)获取或替换HTML元素的内容:Object.innerHTML
代码:
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>innerHTML</title>
</head>
<body>
<h2 id="con">javascript</H2>
<p> JavaScript是一种基于对象、事件驱动的简单脚本语言,嵌入在HTML文档中,由浏览器负责解释和执行,在网页上产生动态的显示效果并实现与用户交互功能。</p>
<script type="text/javascript">
var mychar=document.getElementById("con");
document.write("原标题:"+mychar.innerHTML+"<br>"); //输出原h2标签内容
mychar.innerHTML="Hello world!";
document.write("修改后的标题:"+mychar.innerHTML); //输出修改后h2标签内容
</script>
</body>
</html>
结果:
3)改变HTML样式:Object.style.property=new style;
代码:
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>style样式</title>
</head>
<body>
<h2 id="con">I love JavaScript</H2>
<p> JavaScript使网页显示动态效果并实现与用户交互功能。</p>
<script type="text/javascript">
var mychar= document.getElementById("con");
mychar.style.color="red";
mychar.style.backgroundColor="#CCC";
mychar.style.width="300px";
</script>
</body>
</html>
结果:
4)隐藏和显示:Object.style.display = value
value取值:none——此元素不会被显示(即隐藏)、
block——此元素将显示为块级元素(即显示)
代码:
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>display</title>
<script type="text/javascript">
function hidetext()
{
var mychar = document.getElementById("con").style.display="none";
}
function showtext()
{
var mychar = document.getElementById("con").style.display="block";
}
</script>
</head>
<body>
<h1>JavaScript</h1>
<p id="con">做为一个Web开发师来说,如果你想提供漂亮的网页、令用户满意的上网体验,JavaScript是必不可少的工具。</p>
<form>
<input type="button" onclick="hidetext()" value="隐藏内容" />
<input type="button" onclick="showtext()" value="显示内容" />
</form>
</body>
</html>
结果:
点击“隐藏内容”:
点击“显示内容”
5)控制类名:object.className = classname
className属性设置或返回元素的class属性,用于获取元素的class属性,为网页内的某个元素指定一个class样式来更改该元素的外观。
代码:
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>className属性</title>
<style>
body{ font-size:16px;}
.one{
border:1px solid #eee;
width:230px;
height:50px;
background:#ccc;
color:red;
}
.two{
border:1px solid #ccc;
width:230px;
height:50px;
background:#9CF;
color:blue;
}
</style>
</head>
<body>
<p id="p1" > JavaScript使网页显示动态效果并实现与用户交互功能。</p>
<input type="button" value="添加样式" onclick="add()"/>
<p id="p2" class="one">JavaScript使网页显示动态效果并实现与用户交互功能。</p>
<input type="button" value="更改外观" onclick="modify()"/>
<script type="text/javascript">
function add(){
var p1 = document.getElementById("p1");
p1.className="one";
}
function modify(){
var p2 = document.getElementById("p2");
p2.className="two";
}
</script>
</body>
</html>
结果:
点击“添加样式”
点击“更改外观”
10、代码实践
代码:
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" Content="text/html; charset=utf-8" />
<title>javascript</title>
<style type="text/css">
body{font-size:12px;}
#txt{
height:400px;
width:600px;
border:#333 solid 1px;
padding:5px;}
p{
line-height:18px;
text-indent:2em;}
</style>
</head>
<body>
<h2 id="con">JavaScript课程</H2>
<div id="txt">
<h5>JavaScript为网页添加动态效果并实现与用户交互的功能。</h5>
<p>1. JavaScript入门篇,让不懂JS的你,快速了解JS。</p>
<p>2. JavaScript进阶篇,让你掌握JS的基础语法、函数、数组、事件、内置对象、BOM浏览器、DOM操作。</p>
<p>3. 学完以上两门基础课后,在深入学习JavaScript的变量作用域、事件、对象、运动、cookie、正则表达式、ajax等课程。</p>
</div>
<form>
<!--当点击相应按钮,执行相应操作,为按钮添加相应事件-->
<input type="button" value="改变颜色" onclick="changeColor()" >
<input type="button" value="改变宽高" onclick="changeWidthAndHeight()" >
<input type="button" value="隐藏内容" onclick="hide()">
<input type="button" value="显示内容" onclick="show()">
<input type="button" value="取消设置" onclick="offSet()">
</form>
<script type="text/javascript">
var change=document.getElementById("txt");
//定义"改变颜色"的函数
function changeColor(){
change.style.color="red";
change.style.backgroundColor="#CCC";
}
//定义"改变宽高"的函数
function changeWidthAndHeight(){
change.style.wihth="200px";
change.style.height="500px";
}
//定义"隐藏内容"的函数
function hide(){
change.style.display="none";
}
//定义"显示内容"的函数
function show(){
change.style.display="block";
}
//定义"取消设置"的函数
function offSet(){
var message=confirm("你确定要重置所有设置么?");
if(message==true){
change.removeAttribute('style');
}
}
</script>
</body>
</html>
结果:
点击“改变颜色”、“改变宽高”