0. 序言
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>热身</title>
</head>
<body>
<p id="p1">我是第一段文字</p>
<p id="p2">我是第二段文字</p>
<script type="text/javascript">
document.write("hello");
document.getElementById("p1").style.color="blue";
</script>
</body>
</html>
1. 如何插入JS
<script type="text/javascript">
document.write("开启JS之旅!");
</script>
说明:表示在<script></script>之间的是文本类型(text),javascript是为了告诉浏览器里面的文本是属于JavaScript语言
2. 引用JS外部文件
<script src="script.js"></script>
说明:在JS文件中,不需要<script>标签,直接编写JavaScript代码:
document.write("引用JS文件!");
3. JS代码位置
javascript作为一种脚本语言可以放在html页面中任何位置,但是浏览器解释html时是按先后顺序的,所以前面的script就先被执行。比如进行页面显示初始化的js必须放在head里面,因为初始化都要求提前进行(如给页面body设置css等);而如果是通过事件调用执行的function那么对位置没什么要求的。
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>JS代码的位置</title>
<script type="text/javascript">
document.write("I love");
</script>
</head>
<body>
<script type="text/javascript">
document.write("javascript");
</script>
</body>
</html>
4. 注释
//快快把我变成单行注释
/*
知道吗
JS可以实现很多动态效果
快来学习吧!
*/
5. 变量
变量是用于存储某种/某些数值的存储器:
var 变量名
1.变量必须使用字母、下划线(_)或者美元符($)开始。
2.然后可以使用任意多个英文字母、数字、下划线(_)或者美元符($)组成。
3.不能使用JavaScript关键词与JavaScript保留字。
先声明再赋值:
var mychar;
mychar="javascript";
var mynum = 6;
var mychar;
mychar="javascript";
mychar="hello";
1. 在JS中区分大小写,如变量mychar与myChar是不一样的,表示是两个变量。
2. 变量虽然也可以不声明,直接使用,但不规范,需要先声明,后使用。
6. 判断语句
<script type="text/javascript">
var score =80; //score变量存储成绩,初值为80
if(score>60){
document.write("很棒,成绩及格了。");
}
else{
document.write("加油,成绩不及格。");
}
</script>
7. 函数
<script type="text/javascript">
function contxt() //定义函数{
alert("哈哈,调用函数了!");
}
</script>
<input type="button" value="点击我" onclick="contxt()" />
8. 输出内容(document.write)
document.write("I love JavaScript!");
var mystr="hello world!";
document.write(mystr);
var mystr="hello";
document.write(mystr+"I love JavaScript");
输出HTML标签,并起作用,标签使用""括起来:
var mystr="hello";
document.write(mystr+"<br>");//输出hello后,输出一个换行符
document.write("JavaScript");
9. 警告(alert 消息对话框)
function rec(){
var mychar="I love JavaScript";
alert(mychar);
}
10. 确认(confirm 消息对话框)
function rec(){
var mymessage= confirm("你喜欢JavaScript吗?");
if(mymessage==true){
document.write("你是女士!");
}else{
document.write("你是男士!");
}
}
<input name="button" type="button" onClick="rec()" value="点击我,弹出确认对话框" />
11. 提问(prompt消息对话框)
prompt弹出消息对话框,通常用于询问一些需要与用户交互的信息。弹出消息对话框(包含一个确定按钮、取消按钮与一个文本输入框)。
prompt(str1, str2);
参数说明:
str1: 要显示在消息对话框中的文本,不可修改
str2:文本框中的内容,可以修改
返回值:
1. 点击确定按钮,文本框中的内容将作为函数返回值
2. 点击取消按钮,将返回null
var myname=prompt("请输入你的姓名:");
if(myname!=null)
{ alert("你好"+myname); }
else
{ alert("你好 my friend."); }
注:在用户点击对话框的按钮前,不能进行任何其它操作。
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>prompt</title>
<script type="text/javascript">
function rec(){
var score; //score变量,用来存储用户输入的成绩值。
score = prompt("请输入你的成绩:");
if(score>=90)
{
document.write("你很棒!");
}
else if(score>=75)
{
document.write("不错吆!");
}
else if(score>=60)
{
document.write("要加油!");
}
else
{
document.write("要努力了!");
}
}
</script>
</head>
<body>
<input name="button" type="button" onClick="rec()" value="点击我,对成绩做评价!" />
</body>
</html>
12. 打开新窗口(window.open)
- open() 方法可以查找一个已经存在或者新建的浏览器窗口。
window.open([URL], [窗口名称], [参数字符串])
URL:可选参数,在窗口中要显示网页的网址或路径。如果省略这个参数,或者它的值是空字符串,那么窗口就不显示任何文档。
窗口名称:可选参数,被打开窗口的名称。
1.该名称由字母、数字和下划线字符组成。
2."_top"、"_blank"、"_self"具有特殊意义的名称。
a. _blank:在新窗口显示目标网页
b. _self:在当前窗口显示目标网页
c. _top:框架网页中在上部窗口中显示目标网页
3.相同 name 的窗口只能创建一个,要想创建多个窗口则 name 不能相同。
4.name 不能包含有空格。
参数字符串:可选参数,设置窗口参数,各参数用逗号隔开。
参数表.png
- 例如:打开http://www.baidu.com网站,大小为300px * 200px,无菜单,无工具栏,无状态栏,有滚动条窗口:
<script type="text/javascript"> window.open('http://www.baidu.com','_blank','width=300,height=200,menubar=no,toolbar=no, status=no,scrollbars=yes')
</script>
注意:运行结果考虑浏览器兼容问题。
- 打开http://www.baidu.com网页,将在新窗体中打开,宽为600,高为400,距屏顶100像素,屏左0像素。当点击按钮时,打开新窗口。
window.open('http://www.baidu.com','_blank','width=600,height=400,top=100,left=0')
13. 关闭窗口(window.close)
close()关闭窗口
window.close(); //关闭本窗口
<窗口对象>.close(); //关闭指定的窗口
<script type="text/javascript">
var mywin=window.open('http://www.baidu.com'); //将新打的窗口对象,存储在变量mywin中
mywin.close();
</script>
14. 小练习
制作新按钮,“新窗口打开网站” ,点击打开新窗口。
function openWindow(){
var isOpen = confirm('确定要打开新窗口吗');
if(isOpen == true){
var address = prompt('请输入您要打开的网站的地址');
if(address!=null){
window.open('http://www.imooc.com','_blank','width=600,height=400');
}
}
}
注意:如果没有'_blank'这个参数,后面的宽高参数无效。
15. 认识DOM
DOM 将HTML文档呈现为带有元素、属性和文本的树结构(节点树)
DOM节点层次图.png
<a href="http://www.imooc.com">JavaScript DOM</a>
示例.png
16. 通过ID获取元素
网页由标签将信息组织起来,而标签的id属性值是唯一的,通过id先找到标签,然后进行操作。
document.getElementById(“id”)
<body>
<p id="con">JavaScript</p>
<script type="text/javascript">
var mychar= document.getElementById('con');
document.write("结果:"+mychar); //输出获取的P标签。
</script>
</body>
结果:[object HTMLParagraphElement]
注:获取的元素是一个对象,如想对元素进行操作,我们要通过它的属性或方法。
17. innerHTML获取替换元素内容
innerHTML 属性用于获取或替换 HTML 元素的内容。
语法:
Object.innerHTML
1.Object是获取的元素对象,如通过document.getElementById("ID")获取的元素。
2.注意书写,innerHTML区分大小写。
<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>
原标题:javascript
修改后的标题:Hello world
18. 改变HTML样式
语法:
Object.style.property=new style;
注意:Object是获取的元素对象,如通过document.getElementById("id")获取的元素。
基本属性表.png
注意:该表只是一小部分CSS样式属性,其它样式也可以通过该方法设置和修改。
<script type="text/javascript">
var mychar= document.getElementById("con"); //获取的是对象
mychar.style.color="red";
mychar.style.backgroundColor="#CCC";
mychar.style.width="300px"
</script>
19. 显示和隐藏(display属性)
显示和隐藏的效果,可通过display属性来设置。
Object.style.display = value
显示和隐藏.png
<script type="text/javascript">
function hidetext()
{
var mychar = document.getElementById("con");
mychar.style.display = "none";
}
function showtext()
{
var mychar = document.getElementById("con");
mychar.style.display = "block";
}
</script>
20. 控制类名(className属性)
className 属性设置或返回元素的class 属性。
object.className = classname
1.获取元素的class 属性。
2.为网页内的某个元素指定一个css样式来更改该元素的外观。
<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>
21. 小例子
//定义"改变颜色"的函数
function modifyColor(){
document.getElementById("con").style.color = "red"
document.getElementById("con").style.backgroundColor = "blue"
}
//定义"改变宽高"的函数
function modifyWidthAndHeight(){
document.getElementById("txt").style.width = "5"
document.getElementById("txt").style.height = "10"
}
//定义"隐藏内容"的函数
function hideContent(){
document.getElementById("con").style.display = "none"
}
//定义"显示内容"的函数
function showContent(){
document.getElementById("con").style.display = "block"
}
//定义"取消设置"的函数
function cancelSetting(){
var isCancel = confirm("是否取消设置");
if(isCancel==true){
document.write("取消设置");
}else{
document.write("不取消设置");
}
}
22. 后续
如果大家喜欢这篇文章,欢迎点赞;如果想看更多前端移动端后端Java或Python方面的技术,欢迎关注!