JS学习笔记2015-4-22(第9天)

今天完成老师布置的作业,图片切换;

听到老师讲课里面提到了,转义字符,这里就找到了一部分且拿来用再说:

如HTML转义符、java 转义符、xml 转义符、 oracle 转义符、sql 转义符 、sqlserver 转义符、php 转义符、asp 转义符、vb转义符、 javascript 转义符等等,还有网址中的百分号

例如,HTML的&lt; &gt;&amp;&quot;&copy;分别是<,>,&,",©;的转义字符

XML只有5个转义符: &lt; &gt;&amp; &quot; &apos;

自己敲代码的时候发现哪怕是错了一个中英文的标点符号,JS都没法执行下去,所以拼写和检查时候要特别注意;另外chrome的控制台特别好用,可以用console.log();来做调试;

“Unexpected token ILLEGAL” 提示这段代码的时候,可能就是标点符号的错误;

 1 <style>
 2     div, input, p{ margin: 0; padding: 0;}
 3     #pic { width: 400px; height: 400px; border: 10px solid #eee; margin: 40px auto 0; position: relative; background: #666;}
 4     #pic a { width: 40px; height: 40px; border: 5px solid #fff; background: #fff; position: absolute; top: 175px; text-align: center; line-height: 40px; text-decoration: none; color: #666; font-size: 30px; filter:alpha(opacity:40); opacity: 0.4;}
 5     #pic a:hover {filter:alpha(opacity:90); opacity: 0.9; }
 6     #prev{ left: 10px;}
 7     #next{ right: 10px;}
 8     #ttl{ position: absolute; bottom: 0; left: 0; width: 400px; height: 30px; line-height: 30px; background: #333; color: #fff; text-align: center; filter:alpha(opacity:70); opacity: 0.7;}
 9     #page{ position: absolute; top:0; left:0; width: 400px; height: 30px; line-height: 30px; background: #333; color: #fff; text-align: center; filter:alpha(opacity:70); opacity: 0.7;} /*这里公用的可以考虑公用样式 */
10     #img1 { width: 400px; height: 400px;}
11
12 </style>
13 <script type="text/javascript">
14   window.onload = function(){
15    var oPrev = document.getElementById("prev");
16    var oNext = document.getElementById(‘next‘);
17    var oPage = document.getElementById(‘page‘);
18    var oTtl = document.getElementById(‘ttl‘);
19    var oImg = document.getElementById(‘img1‘);
20
21    var arrText = [‘文字一‘,‘文字二‘,‘文字三‘,‘文字四‘];
22    var arrUrl = [‘img/1.jpg‘,‘img/2.jpg‘,‘img/3.jpg‘,‘img/4.jpg‘];
23    var num = 0; //有数组的地方,可以考虑准备一个数字来使用;
24
25   // 初始化;
26   function fnTab(){
27    oPage.innerHTML = num +1 +‘/‘+ arrUrl.length;
28    oImg.src = arrUrl[num];
29    oTtl.innerHTML = arrText[num];
30   }
31
32   fnTab(); // 重复的东西用函数;因为函数本身不会执行,所以这里要调用一下;
33    oPrev.onclick = function(){
34        num --;
35        if (num == -1) {
36
37            num = arrText.length-1;
38        };
39        fnTab();
40    };
41
42    oNext.onclick = function(){
43        num ++;
44        if (num == arrText.length) {
45
46            num = 0;
47        };
48        fnTab();
49    }
50  }
51 </script>
52 </head>
53
54 <body>
55 <div id="pic">
56    <a href="javascript:;" id="prev">&lt;</a>
57    <a href="javascript:;" id="next">&gt;</a>
58    <p id="ttl">文字正在加载中...</p>
59    <p id="page">数量正在计算中...</p>
60    <img id="img1">
61 </div>

这里面有一个很重要的思路就是:重复利用到一段代码的时候,就要想到使用函数;

时间: 2024-12-26 17:26:03

JS学习笔记2015-4-22(第9天)的相关文章

【转】Backbone.js学习笔记(二)细说MVC

文章转自: http://segmentfault.com/a/1190000002666658 对于初学backbone.js的同学可以先参考我这篇文章:Backbone.js学习笔记(一) Backbone源码结构 1: (function() { 2: Backbone.Events // 自定义事件 3: Backbone.Model // 模型构造函数和原型扩展 4: Backbone.Collection // 集合构造函数和原型扩展 5: Backbone.Router // 路由

js学习笔记——数组方法

join() 把数组中所有元素转化为字符串并连接起来,并返回该字符串, var arr=[1,2,3]; var str=arr.join("#"); //str="1#2#3"; 如果没有指定分隔符,则默认为逗号 var str2=arr.join(); //str2="1,2,3"; reverse() 在原数组上把元素的顺序颠倒过来,并返回该数组 var arr=[1,2,3]; arr.reverse(); //arr=[3,2,1];

Vue.js学习笔记:在元素 和 template 中使用 v-if 指令

f 指令 语法比较简单,直接上代码: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title></title> <script src="https://cdn.bootcss.com/vue/2.2.

[Pro Angular.JS]学习笔记1.1:设置开发环境

可以使用yeoman.io,很方便.我已经写了一篇随笔,介绍如何使用.这里也有一篇介绍的文章:http://www.cnblogs.com/JoannaQ/p/3756281.html 代码编辑器,在Mac下用了一下WebStorm,太恶心了.另外发现书的作者使用的开发环境是Windows + VS Express 2013,为了方便学习,我也使用VS Express 2013 Update2.VS2013用起来蛮舒服的,把WebStorm比得跟驼屎一样.也许是因为我没用习惯吧. 1.安装Nod

Angular JS 学习笔记

特定领域语言 编译器:遍历DOM来查找和它相关的属性, 分为编译和链接两个阶段, 指令:当关联的HTML结构进入编译阶段时应该执行的操作,可以写在名称里,属性里,css类名里:本质上是函数 稳定的DOM:绑定了数据模型的DOM元素的实例不会在绑定的生命周期发生改变 作用域:用来检测模型的改变和为表达式提供执行上下文的 AngularJS 和其它模板系统不同,它使用的是DOM而不是字符串 指令: 由某个属性.元素名称.css类名出现而导致的行为,或者说是DOM的变化 Filter过滤器:扮演着数据

Node.js学习笔记(3) - 简单的curd

这个算是不算完结的完结吧,前段时间也是看了好久的Node相关的东西,总想着去整理一下,可是当时也没有时间: 现在看来在整理的话,就有些混乱,自己也懒了,就没在整理,只是简单的记录一下 一.demo的简单介绍 这次demo,只涉及到简单的curd操作,用到的数据库是mongo,所以要安装mongo数据库,数据库连接驱动是mongoose: 当然关于mongo的驱动有很多,比如mongous mongoskin等:(详见http://cnodejs.org/topic/4f4ca8e0940ce2e

JS学习笔记-OO疑问之封装

封装是面向对象的基础,今天所要学习的匿名函数与闭包就是为了实现JS的面向对象封装.封装实现.封装变量,提高数据.系统安全性,封装正是面向对象的基础. 匿名函数 即没有名字的函数,其创建方式为 function(){...} 单独存在的匿名函数,无法运行,可通过赋值给变量调用或通过表达式自我执行来实现运行. 1.赋值给变量为一般的函数使用方式 var run = function(){ return '方法运行中'; }; alert(run()); 2.通过表达式自我执行 (function(a

每日js学习笔记2014.5.4

<script language="javascript">var mystring = "这是第一个正则表达式的例子";var myregex = new RegExp("这是"); //创建正则表达式if (myregex.test(mystring)) //test的功能是查找字符串中是否有匹配项,有则返回true,没有则返回false{ document.write ("找到了指定的模式");}else{

每日js学习笔记2014.5.5

<script language="javascript"><!-- var textstr = prompt("请输入一个字符串:",""); //prompt的用法,包含两个参数 var regex = /[A-Z][a-z]tion/; //[A-Z]有无匹配项 var result = regex.test(textstr); //test的用法 document.write ("<font size='

JS学习笔记-OO疑问之对象创建

问一.引入工厂,解决重复代码 前面已经提到,JS中创建对象的方法,不难发现,基本的创建方法中,创建一个对象还算简单,如果创建多个类似的对象的话就会产生大量重复的代码. 解决:工厂模式方法(添加一个专门创建对象的方法,传入参数避免重复) function createObject(name,age){ var obj =new Object(); //创建对象 obj.name = name; obj.age = age; obj.run = function(){ return this.nam