js jq 笔记小结

Js第一课

 

1vs新建步骤

文件——新建项目——web——空白web应用程序——取名、位置、确定——此时软件会自动生成一个sln文件(解决方案),一解决方案下面可以有多个项目。

点击项目——新建文件夹css和js和image——新建html页面取名demo1

(推荐设置:工具——选项——可以设置下字体和颜色;文本编辑器——把常用的几种语言设上行号颜色提示)

2、什么是js

JavaScript是一种脚本语言,结构简单,使用方便,其代码可以直接放入HTML文档中,可以直接在支持JavaScript的浏览器中运行。JavaSript使得网页的交互性更强,更生动和灵活。当在浏览网页时做了某种操作就产生一个事件,JavaScript所编写的程序可对相应的事件做出反应。

3、怎么运用js

首先在html中指定一个事件,然后对这个事件写js。

如:设置一个按钮,对点击按钮命名一个事件:

<input type="button" value="我是一个按钮" onclick="ShowMsg()" />

4、如何写js

写js可以在外部js文件写,也可以直接在head里面写:

<script type="text/javascript">
  function ShowMsg()
    {
    alert("这是我的第一个js例子");
    }
</script>

5、命名规范:为了增强代码的可读性,让团队成员都能看懂,遵循命名规范。

(1)js是区分大小写的,非常严格。

(2)js是弱类型,统一用var声明变量,如:

整形: var iNum=10;

浮点: var fNum=2.23;

布尔: var bMaie=false;

函数: var fnObject=new myFunction();

数组: var aColor=new Array();

字符串: var sMyString="aaaaa";
……

  *弱类型与强类型:

js是弱类型,只能用var声明;          c#是强类型,用对应类型声明

弱类型:弱化类型的声明方式;        强类型:强调类型的声明方式

弱类型比较方便,但当语句交给浏览器时,浏览器还是需要去判断它是哪种变量,执行效率比强类型低。

(3)注释:

单行注释://

多行注释:/* */

  (4)var可同时声明多个变量:

    var girl="aaaa" , age=19 , male=false;

  (5)js变量不一定需要初始化,可后面用时再赋值:

    var couple;

  (6)变量名称规则:

·首字母必须是字母(大小写均可)、下划线、或者美元符。

·余下的字母可以是下划线、美元符、任意字母或数字字符。

·变量名不能含js关键字。

  (7)局部变量和全局变量:

全局变量:在{}外声明的变量,各函数皆可调用;

局部变量:在{}内声明的变量,只有此函数可用;

(8)命名习惯

整形i:     var iNum=10;

浮点f:    var fNum=2.23;

布尔b:   var bMaie=false;

函数fn:  var fnObject=new myFunction();

数组a:   var aColor=new Array();

字符串s:  var sMyString="aaaaa";

(还有:对象o、正则re,此两项不常用,知道即可)

6、数据类型详解:

1)字符串String

var sMyString="hello world";

*补充:位置/索引:第一个字母从0开始算,依次后延,空格也算,如上面的"hello world",位置8的字母是r

【字符串的属性方法总结】

length      获取字符串长度     alert(sString.length);          结果是11

charAt     获取指定位置的字符  alert(sString.charAt(8));          结果是r

substring    字符串的截取     alert(sString.substring(1));       从位置1截取到最后。结果是ello world

                   alert(sString.substring(1,10));     从位置1截取到位置10(不包含10)。结果是ello worl

substr         字符串的截取         alert(sString.substr(1,6));        从位置1开始截取6位出来。结果是ello w

indexOf       搜某字符位置      alert(sString.indexOf("l"));       查找出第一个l所在的位置,如没有则返回-1。结果是2

                   alert(sString.indexOf("l",4));        从位置4开始,查找出接下来的l所在的位置。结果是9

lastindexOf  从后往前搜某字符位置   与indexOf雷同

2)布尔类型bool(即真或假,true 或 false)

Var bMale=true;      声明 bMale 为真;

If(bMale){           如果 bMale 为真,

alert("a");           则输出a;
}

else{           否则,

alert("b");        则输出b。

}

所以以上程序输出a

  3)数值、及类型转换:

    a)数值与字符串相加:

var iNum1=10;

var sNum2="20";

var sNum3=iNum1+sNum2;

alert(sNum3);

可把iNum1变成字符串:

var sNum3=iNum1.toString()+sNum2;

alert(sNum3);

也可把sNum2转成数值:

var iNum2=iNum1+parseInt(sNum2);

alert(iNum2);

    b)与浮点字符串相加:

var iNum1=10;

var sNum2="20.123";

var sNum3=iNum1+sNum2;

alert(sNum3);

当数值和字符串相加时,把sNum2变成整数:

var iNum2=iNum1+parseInt(sNum2);

alert(iNum2);

也可把sNum2变成浮点数:

var iNum2=iNum1+parseFloat(sNum2);

alert(iNum2);

    c)类型转换:

数值转字符串:var sNum1=iNum1.toString();

字符串转数值:var iNum2=parseInt(sNum2);

转浮点:var iNum2=parseFloat(sNum2);

字符串变成数组:var aDate=sMyString.split("-");(var sMyString="2015-07-15";)

  4)数组:存放一个数据集合

a)声明数组的方式:

1、确定数组长度:var aTeam=new Array(12); 数组长度为12

2、不确定数组长度:

var aColor=new Array();

aColor[0]="blue";

aColor[1]="yellow";

aColor[2]="green";

aColor[3]="black";

*上述数组也可写成:

var aColor=new Array("blue","yellow","green","black");

此时输出:alert(aColor[3]);

则得到:black

b)toString,数组变成字符串:

alert(aColor.toString());

此时输出:blue,yellow,green,black

c)join,改连接符:

alert(aColor.join("-").toString());

此时输出:blue-yellow-green-black

d)split,把字符串变成数组:

var sMyString="2015-07-15";

var aDate=sMyString.split("-");

alert(aDate[2]);

此时输出为:15

e)reverse,使数组元素反序出现:

var aColor=new Array("blue","yellow","green","black");

alert(aColor.reverse().toString());

此时输出为:black,green,yellow,blue

f)sort,使数组元素根据a-z顺序排序:

var aColor=new Array("blue","yellow","green","black");

alert(aColor.sort().toString());

此时输出为:black,blue,green,yellow

Js第二课

1、条件语句:

  (1)比较操作符:

    ==:判断是否相等

    !=:判断是否不相等

    > :判断是否大于

    >=:判断是否大于等于

    < :判断是否小于

    <=:判断是否小于等于

    【例1】

    if(iNum1==iNum2)     //如果iNum1与iNum2相等
    {
      iNum3=iNum1;    //将iNum1的值赋给iNum3
    }
    else{             //否则
      iNum3=iNum2;      //将iNum2的值赋给iNum3
    }

【补充】以上也可写作:

iNum3 = iNum1==iNum2 ? iNum1 : iNum2

这是一个三目运算符,结构为:

a = 判断式 ? 值1 :值2

意思是,先对“判断式”进行判断,若结果为真,则a=值1;若为假,则a=值2。

所以上式可以理解为,先判断“iNum1==iNum2”是否为真:若为真,则iNum3=iNum1;若为假,则iNum3=iNum2。

(2)逻辑运算符:

&&:与运算 (a && b:a与b,代表同时满足a与b时,判断式才为真)

||:或运算 (a || b:a或b,代表只要满足a或者满足b,满足其中一项判断式就为真)

!:非运算 (!a :非a,与a相反,意思是 如果a为真,则!a为假;a为假,则!a为真。)

【例2】

if(iNum1>iNum2 && iNum1>iNum3)   //当 iNum1>iNum2 且 iNum1>iNum3 同时满足时,
{
  alert("第一个值最大");         //输出"第一个值最大"
}
if(iNum1>iNum2 || iNum1>iNum3)    //当 iNum1>iNum2 或者 iNum1>iNum3 时,
{
  alert("第一个值不是最小");      //输出"第一个值不是最小"
}
if(!(iNum1>iNum2 || iNum1>iNum3))    //取(iNum1>iNum2 || iNum1>iNum3)的相反意思,
{
  alert("第一个值最大");        //输出"第一个值最小"
}

  (3)if语句:

if(条件一)
{
  ……行为一
}

else if(条件二)
{
  ……行为二
}

else if(条件三)
{
  ……行为三
}

……

else
{
  ……行为N
}

此语句可理解为:

如果是“条件一”,则进行“行为一”;

另外,如果是“条件二”,则进行“行为二”;

另外,如果是“条件三”,则进行“行为三”;

……(else if 可以有多个)

以上情况都除外(既不是“条件一”也不是“条件二”也不是“条件三”……),则进行“行为N”。

【补充】

if(条件一)
{
  ……行为一
}

if(条件二)
{
  ……行为二
}

else
{
  ……行为三
}

如果是if后面跟着的是else,则此else仅针对它上面最近的那个if。

此语句可理解为:

如果是“条件一”,则进行“行为一”;

如果是“条件二”,则进行“行为二”;

另外,除“条件二”外的情况,则进行“行为三”(此处的else与第一个if无关)

2、弹出框:

  (1)消息框:alert()

  (2)输入框:prompt()

*在输入框里输入的内容,程序按照字符串形式读取。

【例3】

var sInput=prompt("请输入一个1-10之间的数字");   //在弹出的输入框中,输入字符串,存入sInput中

  (3)询问框:confirm()

*弹出一个询问框,有“确定”和“取消”的按钮。返回的结果是布尔类型,真或假。

【例4】

if(confirm("你确定喜欢蓝色吗?"))     //询问框询问的内容
{
  alert("你喜欢蓝色");          //选择“确定”,弹出此框
}
else{
  alert("你不喜欢蓝色");         //选择“取消”,弹出此框
}

  (4)字符串转数字:Number()

*对输入框输入的内容,程序都按照字符串形式读取。当我们输入数字,希望以数字方式读取怎么办呢?就可以用Number()

【例5】

var sInput=prompt("请输入一个1-7之间的数字");
var nInput=Number(sInput);

此例子的作用:先将输入框里输入的字符串信息读取到sInput中,然后用Number()将sInput里的字符串信息转换成数字,存放到nInput中。

  (5)判断是否为数字:isNaN()

*用Number()只能转数字,所以我们需要用语句判断一下我们输入的是否是数字,此时用isNaN()

isNaN()的意思就是:is not a number,“不是数字”。

【例6】

var sInput=prompt("请输入一个1-7之间的数字");

var nInput=Number(sInput);

if(isNaN(nInput))        //如果 nInput 不是数字
{
alert("你输入的不是数字");    //则输出“你输入的不是数字”
}
else               //否则
{
alert("你输入的是数字");       //输出“你输入的是数字”
}

  (6)在此基础上,还可以顺便判断一下输入的是否是整数,此时用parseInt(),转成整数:

【例7】

var sInput=prompt("请输入一个1-7之间的数字");

var nInput=Number(sInput);

if(isNaN(nInput))
{
  alert("你输入的不是数字");
}
else
{
  if(nInput==parseInt(nInput))   //判断转成数字的值,是否与它取整后的值相等
  {
    alert("你输入的是整数");
  }
  else
  {
    alert("你输入的不是整数");
  }

}

(7)在此基础上,还可以顺便判断一下输入的是否在1-7范围之间,此时用逻辑运算符

【例8】

var sInput=prompt("请输入一个1-7之间的数字");

var nInput=Number(sInput);

if(isNaN(nInput))
{
  alert("你输入的不是数字");
}
else
{
  if(nInput==parseInt(nInput))
  {
    if(nInput>7 || nInput<1)        //判断,如果此数大于7或者小于1
    {
      alert("你输入的不在1-7之间")   //则输出此框
    }
  }
  else
  {
  alert("你输入的不是整数");
  }

}

  (8)在此基础上,还可以判断每个输入的值对应执行一个行为,用switch..case:

【例9】

switch(nInput)        //判断nInput的值
{
case 1:           //如果为1

alert("星期一");      //则输出“星期一”

break;          //然后跳出循环

case 2:         //如果为2

alert("星期二");      //则输出“星期二”

break;          //然后跳出循环

case 3:         //以此类推
alert("星期三");
break;

case 4:
alert("星期四");
break;

case 5:
alert("星期五");
break;

case 6:
alert("星期六");
break;

case 7:
alert("星期日");
break;

default:        //default就是如果没有符合的case就执行它,default并不是必须的

语句;      

break;

}

*用switch..case的好处是:只需要判断一次后即可退出循环,更加效率。

【补充】break 是跳出所在循环的意思。

3、循环语句:

  (1)while

while(..)       //当...时
{
  ..       //进行此操作
}

  (2)do...while

do
{
  ..       //进行此操作
}
while(..)       //当...时

  *以上两种类型,都是当...时,进行...操作

    【例10】

var i=1;

var iSum=0;

while(i<101)     //当i<101时
{
  iSum+=i;   //iSum=iSum+i

  i++;      //i=i+1
}
alert(iSum);

解读:

答案:iSum=1+2+3+..+100=5050

  (3)for循环:此循环用的最多

【例11】

var iSum=0;

for(var i=1;i<101;i++)
{
  iSum+=i;
}
alert(iSum);

解读:同例10

  (4)break:跳出整个for循环体

【例12】

var iSum=0;

for(var i=1;i<101;i++)
{
  if(i==5)
  {
    break;
  }
  iSum+=i;
}
alert(iSum);

解读:当i==5时,break跳出所在for循环体,所以直接输出之前的iSum=1+2+3+4=10

  (5)continue:跳出当前条件下的循环,继续往后执行

【例13】

var iSum=0;

for(var i=1;i<101;i++)
{
  if(i==5)
  {
    continue;
  }
  iSum+=i;
}
alert(iSum);

解读:当i==5时,continue跳出此次循环,直接进入下一个循环i=6,所以iSum=1+2+3+4+6+……+100=5045

  (6)return:有两种用法

    第一种是:结束整个方法体function{}

【例14】

function

{

  var iSum=0;

  for(var i=1;i<101;i++)
  {
    if(i==5)
    {
      return;
    }
    iSum+=i;
  }
  alert(iSum);

}

解读:直接跳出方法体,直接出现在最末尾的}外,所以就不执行了。

    第二种是:返回一个值

【例15】

var iSum=0;

for(var i=1;i<101;i++)
{
  if(i==5)        //i=5时,
  {
    i=B(i);        //i=调用方法B(i)的值=10
  }
  iSum+=i;
}
alert(iSum);

}

function B(i)
{
  i+=5;          // i=i+5=10
  return i;
}

解读:当i=5时,i=调用方法所返回的值=10,所以iSum=1+2+3+4+10+11+12+..+100

  (7)九九乘法表:

    

Js第三课

jqjs的关系】:jq是对js常用的方法进行封装、简化和优化。

小技巧】ctrl+k+D :VS写代码格式乱了时,整理代码用的快捷键

------------------------------------------------------------------------------------------------------

1、获取时间:


方法


描述


getFullYear()


返回四位数的年份


getMonth()


返回月份(从0开始,1月=0,2月=1,...)


getDate()


返回日期(从1开始,此时日期)


getDay()


返回星期几(周日=0,周一=1,...)


getHours()


返回小时数(从0开始,此时小时数)


getMinutes()


返回分钟数(从0开始,此时分钟数)


getSeconds()


返回秒数(从0开始,此时秒数)


getMilliseconds()


返回毫秒数(从0开始,此时毫秒数)


getTime()


返回从GMT时间1970年1月1日0点0分0秒经过的毫秒数(86400000毫秒=1天)

  1)写法:

  function MyClick()
  {
    var myDate=new Date();
    alert(myDate.getDay());
  }

  2)获取个设定日期之间的天数:

<html>

<head>

<title>Date对象</title>

<script language="javascript">

var startStr = "2014-4-14";

var endStr = "2014-5-1";

var startArray = startStr.split("-");

var endArray = endStr.split("-");

var startDate = new Date(startArray[0], startArray[1] - 1, startArray[2]);

var endDate = new Date(endArray[0], endArray[1] - 1, endArray[2]);

var diffDays = (endDate - startDate) / 86400000;

alert(diffDays);

</script>

</head>

<body>

</body>

</html>

2、数值取值:

  取最大值:Math.max(18,12,22,33)

  取最小值:Math.min(18,2,2,3,1)

  向上舍入:Math.ceil(25.9)       //它把数字向上舍入到最接近的整数

  向下舍入:Math.floor(25.6)

  四舍五入:Math.round(25.6)

  0~1之间的随机数:Math.random()   //不包括0和1

  【例子】

  返回1~100之间的整数包括1和100:  variNum=Math.floor(Math.random()*100+1)

3window窗口

  1) 打开一个窗口:window.open("http://www.baidu.com", "_blank", "height=300,width=400,top=30,left=140,resizable=yes");

    resizable 是否能通过拖动来调整新窗口的大小 默认为yes

    scrollable 新窗口是否显示滚动条 默认为no

  2) 关闭新建的窗口:window.close()

  3) window.history.go(-1) //浏览器后退一页

    window.history.go //前进一页

4、定时器实例

  1)隔5秒后打印aaaa:

setTimeout(function(){

alert("aaaa");

},5000);

  *setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式。

  效果:5秒后弹出框显示 aaaa,不会循环重复。

  2)每隔2秒打印一次数字:

var i=0;

setInterval(function(){

i++;

document.write(i);

},2000);

  *setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。

  效果:每隔2秒,依次打印1、2、3、4、5……,看到的界面是:123456789101112……

  3)每隔2秒打印一个数,到10为止:

var i=0;

var timer=setInterval(function(){

i++;

if(i==10)

{

clearInterval(timer);

}

document.write(i);

},2000);

  *clearInterval() 方法可取消由 setInterval() 设置的定时器循环。

  效果:只打印到10为止,界面:12345678910

  4)每隔1秒,打印1到10再回到1:

var i=0;

var b=true;

var timer=setInterval(function(){

if(b)

{

i++;

}

if(b==false){

i--;

if(i==1)

{

clearInterval(timer);

}

}

if(i==10)

{

b=false;

}

document.write(i);

},1000);

  *提示:停止定时器只能用clearInterval()方法来停掉,用return等无法停止定时器,定时器会一直存在直到clearInterval()出现为止。

  5)产生1-100之间随机整数,给5次机会看能不能猜对:

var iNumber=Math.floor(Math.random()*100+1);          //产生一个1-100之间的随机整数作为中奖号码

for(var i=1;i<7;i++){

if(i==6){

alert("五次机会用完了,中奖号码是:"+iNumber);

return;

}

else{

var sInput=prompt("请输入1-100之间的一个整数");

var nInput=Number(sInput);

if(isNaN(nInput)){                              //判断输入的是不是数字

alert("你输入的不是一个数字");

}

else{

if(nInput=parseInt(nInput)){              //判断输入的是不是整数

if(nInput>100||nInput<1)

{

alert("输入的内容不再1-100之间");

}

else{

if(nInput>iNumber)

{

alert("你输入的内容太大");

}

if(nInput<iNumber)

{

alert("你输入的内容太小");

}

else

{

alert("恭喜你中奖了!");

return;

}

}

}

else{

alert("你输入的不是一个整数");

}

}

}

}

[小练习]js冒泡排序法

任务:设置随意5个数的数列,用js冒泡排序法使之由小到大排序。

如:[5 3 4 1 2]使之输出为[1 2 3 4 5]。

----------------------------------------------------------------------------------

【解说:何为冒泡排序法】

所谓冒泡排序法,就是对一组数字进行从大到小或者从小到大排序的一种算法。具体方法是,相邻数值两两交换。从第一个数值开始,如果相邻两个数的排列顺序与我们的期望不同,则将两个数的位置进行交换(对调);如果其与我们的期望一致,则不用交换。重复这样的过程,一直到最后没有数值需要交换,则排序完成。一般地,如果有N个数需要排序,则需要进行(N-1)趟起泡,我们以从小到大排序为例来看一下,具体情况如下图所示:

----------------------------------------------------------------------------------

【分析】如何用冒泡排序法对[5, 3, 4, 2, 1]排序?

(要点:比较大小时,第一次比较第1个数和第2个数,第二次比较第2个数和第3个数,以此类推。)

序列:[5, 3, 4, 2, 1]

第一次循环,5>3,则两者交换位置:3,5,4,2,1

   然后,5>4,则两者交换位置:3,4,5,2,1

   然后,5>2,则两者交换位置:3,4,2,5,1

     然后,5>1,则两者交换位置:3,4,2,1,5

  此时,序列变成了[3,4,2,1,5],接下来进行第二个大循环:

第二次循环,3<4,则两者不交换位置:3,4,2,1,5

     然后,4>2,则两者交换位置:3,2,4,1,5

   然后,4>1,则两者交换位置:3,2,1,4,5

  此时,序列变成了[3,2,1,4,5],接下来进行第三个大循环:

第三次循环,3>2,则两者交换位置:2,3,1,4,5

     然后,3>1,则两者交换位置:2,1,3,4,5

  此时,序列变成了[2,1,3,4,5],接下来进行第四个大循环:

  

第四次循环,2>1,则两者交换位置:1,2,3,4,5

  经过4次循环排序,则成功按照由小到大将数字排序完成了。

所以,总共需要4次循环,(i = 0; i < 数列长度; i++)

每次排序时,比较第j个数和j+1个数(j = 0; j < 数列长度 - i; j++)

当第j个数>第j+1个数时,则让两个数换位。

【换位方式】:

当a>b时,想让a和b交换位置,怎么做?

设x,作为中间的过度区。

令x=b,  // 将b的值先存入x中

b=a,   // 将a的值放到b的位置

a=x,   // 将x中存好的b值放到a的位置

则a、b的值交换完成。

--------------------------------------------------------------------------

【程序】

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>New Document</title>
</head>
<body>
<script language="JavaScript" type="text/javascript">
<!--
var array = [5, 3, 4, 2, 1];
var temp = 0;
for (var i = 0; i < array.length; i++)         //设置总循环数
{
    for (var j = 0; j < array.length - i; j++)    //设置每次循环需要排序几次
    {
        if (array[j] > array[j + 1])          //比较第j个和j+1个数,当j>j+1时进行换位
        {
            temp = array[j + 1];
            array[j + 1] = array[j];          //换位过程
            array[j] = temp;
        }
    }
}
 
for(var i=0;i<array.length;i++){
    document.write(array[i]+" ");            //按现在的顺序输出数列
}
//-->
</script>
</body>
</html>

Jq第一课

1、在VS中新建jq项目()

2jq选择器写法(与js写法的区别):

  

  【例】对按钮声明一个事件,点击后弹出“aaaa”:

  js写法:

    html中:

      <input type=”button” value=”我是一个按钮” onclick=”A()” />    //出现一个点击事件A()

    js中:  

function A()        //声明事件A()的作用

{

alert(“aaaa”);     //弹出框,显示aaaa

}

  jq写法:

    html中:

      <input type=”button” value=”我是一个按钮” id=”btn” />      //设置一个id选择器,名字为btn

    js中:  

$(function(){             //对页面进行加载,加载完后执行jq(要用jq就需要先写这句话,这是固定语句,内部写的才是jq内容)

  $(“#btn”).click(function(){     //查找到id选择器btn,对它执行一个点击click事件,事件用function声明一下,内容为:

  Alert(“aaaa”);         ///弹出框,显示aaaa

  });

});

  *相当于js是将整个事情分散到html和js中来写,只能用这么一次;jq是类似css那样设置一个选择器,然后对选择器进行事件设置,可以用很多次。

  总结:

  1)Js和jq可以互相转换。

  2)jq执行过程分为下面5个步骤:

a、 对页面进行加载:$(function(){  });

b、 找到对象,如id标签:$(“#btn”)

c、 执行对象相应事件:click();

d、 声明事件:function(){  }

e、 执行事件内容:alert();

  3)优先级问题:当css和jq中同时设置了样式时,遵循就近原则,此时的jq写法,类似于在html标签内加一个style样式来写,所以优先jq。

3id选择器:$(“#btn”)

  类似css那样,先在html中声明一个id选择器:id=”btn”,然后在js页面中查找到此id选择器:$(“#btn”),再对它进行事件操作。

4class类选择器:$(“.btn”)

  先在html中声明一个class选择器:class=”btn”,然后在js页面中查找到此id选择器:$(“.btn”),再对它进行事件操作。

5、标签选择器:$(“tr”)

  根据html中已写出的标签,如tr、td等,在js页面中查找到此标签选择器:$(“tr”),对它进行事件操作。

6、奇偶选择器:odd(偶)、even(奇)

  $(“tr:odd”), 选择所有位于偶数行的< tr >标记

  $(“tr:even”) ,选择所有位于奇数行的< tr >标记

  【例】隔行换色表格:

$(function(){             

$(“tr:odd”).css(“background”,”#f8f3d2”);    //偶数行的背景颜色为#f8f3d2

$(“tr:even”).css(“background”,”#ffcdcd”);    //奇数行的背景颜色为#ffcdcd

});

6eq(n)选择器:$("X:eq(n)")

  对X标签的第n+1个X标签进行选择,也可以写作$(“X”).eq(n)。

  如:$(“tr”).eq(2),是指第三行。 

7nth-child(n)选择器:$(“X:nth-child(n)”) 

  对X标签的第n个X标签进行选择。

  如:$(“td:nth-child(3)”) ,是指第3列;  $(“li:nth-child(4)”),就是第4个li标签。

【补充】eq(n)nth-child(n)区别:

  eq(n):对全部X标签不分父级子级依次排序下来的第n+1个X标签进行选择,整体页面只选中一个X标签。

  nth-child(n):对全部X标签会分父级、子级、孙级,每个级别依次排列出第n个标签,将它们全部挑选出来,可选中多个标签。

  详细可见:http://blog.csdn.net/aspnet2002web/article/details/7701335

8、子元素选择器:$(“li>a”)

  $(“li>a”),返回<li>标记的所有子元素<a>,但不包括孙标记。

  【例】查找li下的所有子标签a,文字颜色为红色:

<ul>

<li>

<a href=”#”>XXXX</a>

<div><a href=”#”>YYYY</a></div>

<a href=”#”>XXXX</a>

      <a href=”#”>XXXX</a>

   </li>

</ul>

$(“li>a”).css(“color”,”red”);

效果:仅XXXX为红色,YYYY不变,因为YYYY对于li是孙标签(li>div>a)。

9、功能函数前缀:

  $.trim(s); 去掉s字符串的前后空格。

  【例】去掉字符串中间空格:(把字符串变成字符数组,然后把空格替换成无)

var s="das  das";

var aChar=s.split("");         //将字符串变为字符数组

for(var i=0; i<aChar.length;i++)

{

if(aChar[i]==" ")      //当遇到某个字符是空格时

{

s=s.replace(" ","");  //将此空格替换成无(从空格替换到连空格都不是)

}

}

alert(s);               //打印s

10、属性选择器:

  $(“某标签[某属性]”):选出带有某种属性的某标签。如:

  1)$("a[target]")       选出带有target属性的a标签;

  2)$(“a[href=’b.html’]”)   选出带有href=’b.html’属性的a标签;

  3)$(“a[href^=http://]”)   选出以http://开头的a标签;

  4)$(“a[href$=html]”)     选出以html结尾的a标签

  5)$(“a[href*=bbb]”)      选出含有bbb的a标签

11、包含选择器

  $(“某标签:has(某属性)”):选出包含某属性的所有某标签。如:$(“li:has(a)”) 包含超链接的所有li标记

12、位置选择器

  $(“某标签:某位置”) :选出某特定位置的某标签。如:

1)$(“p:first”) 选择页面中的第一个p标签

2)$(“p:last”) 选择页面中的最后一个p标签

3)$(“p:first-child”)  选择所有的p标记,且这些p标记是其父标记的第一个标记。

4)$(“p:last-child”)  选择所有的p标记,且这些p标记是其父标记的最后一个标记。

5)$(“p:nth-child(odd)”).addClass(“myClass”) 选择所有的p标记,且这些p标记是其父标记的偶数行。

6)$(“p:odd”).addClass(“myClass”) 整个页面的偶数行p标记

7)$(“p:eq(4)”).addClass(“myClass”) 第五个p标记

8)$(“p:gt(n)”).addClass(“myClass”) 第n个(从0开始,不包括n本身)p标记之后的所有p标记,也就是从第n+2个标记开始算,如$(“p:gt(2)”)就是从第四个p开始。

13、过滤选择器

  *备注:$(":file") 等价于$(“input[type=file]”)


$(“:button”)


所有按钮


$(“:checkbox”)


所有复选框,等同于$(“input[type=’checkbox’]”)


$("div:contains(‘ foo ‘)")


所有包含了文本“foo”的元素


$(“:disable”)


所有被禁用的元素(此写法有问题,代替写法:$("input[disabled=disabled]").attr("value", "aaa");)


$(“:enable”)


所有没有被禁用的元素


$(“:file”)


所有上传控件


$(“:input”)


所有表单元素


$(“:selected”)


所有下拉菜单中被选中的项


$(“:visible”)


所有可见的元素


$(“:submit”)


所有提交按钮

14、反向过滤器:

  $(“标签:not(:某属性)”):选出所有不具备某属性的某标签。

  意思为:过滤掉所有含有“某属性”的标签,留下其它不具备该属性的标签。

  如:$(“a:not(:target)”),意思就是选出所有没写target的a标签。

  

Jq第二课

1、获取元素:

  1).size(): 获取元素的个数。

    $(“img”).size():获取有多少个img。

  2).eq():获取元素。

    $(“img[title]”).eq(1):获取第二个带有title属性的img标签。

    也可以写作: $(“img[title]”)[1],此括号里的1代表索引1,所以是对应第二个,一般多用eq()。

  3).get() :获得由选择器指定的DOM元素。

    x=$("p").get(0):获取第一个 p 元素的值。

  4)index():获取某项标签的索引。

    $(“div”).index($(this)):获取当前操作的这个div在所有div中的索引。

  5)find():搜寻标记获得新的集合。

    $(“p”).find(“span”): 在所有p标记元素中搜索span标记,获取一个新的元素集合。

  *$(this):表示当前操作对象。

  【例】var iNum=$(“li”).index($(“li[title=isaac]”)[0]) ,说明这句话的意思。

    答案: 1)  $(“li”):对所有的li标签进行查找;

        2)  $(“li”).index() :查找()内对象在所有li标签中的索引;

        3)  $(“li[title=isaac]”)[0]:查找第一个拥有“title=isaac”这个title属性的li标签;

        4)  最终解释为:对所有的li标签进行查找,查找出“第一个拥有‘title=isaac’这个属性的li标签"在所有li标签中的索引。

2、添加元素:addClass()

  $(“img[title]”).addClass(“myClass”) :给所有带有title属性的img标签,添加上myClass的样式。

3、删除元素:not()

  $(“li[title]”).not(“[title*=isaac]”) :在所有设置了title属性的li标签中,删除掉带有[title*=isaac]这种title属性的li标签。([title*=isaac]:含有isaac字符串的title)

  

注意:not()方法所接受的参数不能包含特定的元素,只能是通用的表达式。
错误:$(“li[title]”).not(“img[title*=isaac]”)
正确: $(“li[title]”).not(“[title*=isaac]”)

4、过滤元素:filter()

  $(“li”).filter(“[title*=isaac]” ) 等同于 $(“li[title*=isaac]”) :对所有的li标签,过滤筛选出包含有[title*=isaac]这种title属性的标签。

注意:

1)filter中的参数,不能直接是等于匹配,只能是前匹配^=,后匹配&=,任意匹配*=

2)filter(函数) 函数要求返回布尔值,对于返回值为true的元素保留,否则去除

5、判断元素:is()

  var bImge=$(“div”).is(“img”) :判断页面中的div块中是否包含img标记,返回布尔值,是或否。

6、遍历元素:each()

  *遍历:将选中的标签,一个一个全部经历一遍。

  在js中:

$(function(){
  $(“img”).each(function(index){
    this.title="这是第"+index+"副图,id是"+this.id+",name是"+this.name;
  });
});

  在html中:

  <img id="img1" name="a1" src="1.jpg">

  遍历所有的img,让每一个img都设置一个title属性值为:这是第 n 幅图,id是img1,name是a1

7、获取属性/设置属性值:attr()

  attr()有2个作用:一个是获取属性值,一个是为属性设置值。

  1)获取属性值:

    var s = $("#txt").attr("value");  获取到txt里面的value属性值

  2)设置属性值:

    $("#txt").attr({"value":"xxxxx","title":"aaaaa"});  查询txt,为其中的value设值xxxxx的值,为title设值aaaaa的值

8、设置元素样式:

  1)添加样式:addClass()

$("#btn").click(function(){    
  $(this).addClass("b");    //找到id为btn的标签,点击后让它在原样式基础上加上样式b
});

  2)删除样式:removeClass()

$("#btn").click(function(){    
  $(this).removeClass("b");    //找到id为btn的标签,点击后让它在原样式基础上移除样式b
});

  3)写入样式:css()

$("#btn").click(function(){    
  $(#d1).css("color","blue");    //找到id为btn的标签,点击后让id为d1的标签拥有“颜色变成蓝色”的css样式
});

4)切换样式:toggleClass()

$("#btn").click(function(){    
  $(#d1).toggleClass("highlight");    //点击时不断切换,样式交替执行,一会儿有此样式一会儿没有
});

  

9、改变操作对象:

  1).end():为当前对象的前一步对象进行操作

  2).andself():为当前对象和它的前一步对象都进行操作

  【例】说明以下三句话的含义:

  1)$(“p”).find(“span”).addClass(“myClass1”).addClass(“myClass2”)

  2)$(“p”).find(“span”).addClass(“myClass1”).end().addClass(“myClass2”)

  3)$(“p”).find(“span”).addClass(“myClass1”).andself().addClass(“myClass2”)

  答:1)在所有p标签中,找到span标签为它们加上myClass1样式,再加上myClass2样式

    2)在所有p标签中,找到span标签为它们加上myClass1样式,然后返回至上一个对象$(“p”),为所有p标签加上myClass2样式

    3)在所有p标签中,找到span标签为它们加上myClass1样式,并且为它们自己以及上一个对象$(“p”)加上myClass2样式

10、动态切换:

  1)mouseover():鼠标移动上去时改变样式

$(“p”).mouseover(function(){

  $(this).css(“color”,”red”);

});

  2)mousetout():鼠标移走后改变样式

$(“p”).mouseout(function(){

  $(this).css(“color”,”red”);

});

  3)hover(事件1,事件2):鼠标放上去事件1,移开事件2

$(“p”).hover(function(){

  $("#d1").addClass(“c”);

  },function(){

      $("#d1").removeClass(“c”);

});

    对p标签中id=d1的标签,鼠标放上时加c样式,移开时移除c样式。

11、判断样式:hasClass()

  $(“li”).hasClass(“myClass”);  判断li中是否含有myClass的样式,返回为布尔型,是或否

  

Jq第三课

1、获取内容:

  text():获取文本内容。text获取的是文本内容,假设被指定的<div>里面还有各种标签,text也只获取里面的纯文本内容。

  html():获取括号内内容。而html则是获取里面的全部内容,包括标签也会一起打印出来。

  【例】

$(“#d1”).text(“aaaaa”);          //打印出 aaaaa

$(“#d1”).html(“<div>aaaa</div>”);    //打印出<div>aaaa</div>

2、添加元素:

$(A).append(B):给A标签里面,加入一个B。

$(A).appendTo(B):把A,加入到B标签里面。

$(A).after(B):在A标签的后面,加上一个B。

  【例】

$(“p:eq(1)”).append($(“a:eq(1)”));    //给页面中第二个p标签里面,加入页面中第二个a标签

$(“img:eq(1)”).appendTo(“p:eq(1)”);     //把页面中第二个img标签,加入到页面中第二个p标签里

$(“img:eq(1)”).after(“<p></p>”);      //在页面中第二个img标签后面,加入一个p标签

3、删除元素:

$(A).remove():把A标签整个的移除掉(练标签一起移除掉)。

$(A).empty():把A里面的内容全部清空(标签会保留)。

【例】

$("p:eq(1)").remove();    //给页面中第二个p标签连标签一起移除掉。

$(“p:eq(1)”).empty();      //把第二个p标签里面的内容清掉,保留标签。

4、获取/设置元素:

  val():获取到任何标签的value属性值。

  val(B):设置值为B,此时获取得到的val值就是B的内容。

  【例】

$("txt").val();        //获取到txt标签里面的value属性值。

$(“txt”).val("aaaa");      //设置txt标签的value属性值为aaaa。

5、绑定事件:

  bind():对于一个对象,可以用bind绑定多个事件。并且可以反复执行。

  unbind():解除绑定。

  one():对于一个对象,可以用one对它绑定一个事件,并且只执行一次。

  【例】

  $("img")

      .bind("click",function(){事件1})

      .bind("click",function(){事件2})

      .bind("click",function(){事件3})    //当我们点击img时,同时触发事件1、2、3;再点击img,再次触发事件123。

$(“p”).unbind(“click”);            //让p标签无法点击。

  $("div").one("click",function(){事件1});    //当我们点击div时,触发事件1;再点击div时,就不会触发事件了。

6、显示和隐藏:

  //左上到右下  

  show():显示元素,从左上到右下展开。(当括号内加入时间后,代表用多长时间展开。)

  hide():隐藏元素,从右下往左上收缩隐藏。(当括号内加入时间后,代表用多长时间收缩。)

  toggle():在显示show和隐藏hide之间交替执行,瞬间显示或者隐藏。可加入时间。

  //上下

  slideDown():显示元素,从上往下逐渐展开。

  slideUp():隐藏元素,从下往上收缩隐藏。

  slideToggle():在显示slideDown和隐藏slideUp之间交替执行,方式为上下伸缩。可加入时间。

  //透明

  fadeIn():渐变的显示出来。由透明到出现。

  fadeOut():渐变的隐藏掉。逐渐变透明最后消失。

  【例】

  $("#btn").click(function(){

    $("#d1").hide(2000);      

  })                  //当点击btn时,用1秒的时间从右下到左上隐藏d1

  $("#btn").click(function(){

    $("#d1").show(2000);      

  })                  //当点击btn时,用1秒的时间从左上到右下展开d1

  $("#btn").click(function(){

    $("#d1").toggle(2000);      

  })                  //当点击btn时,以2秒的速度左上到右下展开或隐藏d1(点击隐藏、再点击展开、……,交替执行)

7、回调函数:在现在的动作执行完后,立刻执行我们在里面定义的事件。

  【例】

  $("#btn").click(function(){

    $("#d1").hide(1000,function(){alert("aaa");});      

  })                  //当点击btn时,用1秒的时间右下到左上隐藏d1,然后打印出aaa

8、动画时间animate:

  animate:在多长时间内,从一个状态变到另一个状态。

  【例】

  $("#d1").css("position", "absolute").animate({ "top": "250px", "left": "300px" }, 2000,

          function () {$("#d1").animate({ "top": "0px", "left": "600px" }, 2000);

});

  //用2秒时间,从原来的位置,移动到绝对定位下的top:250px,left:300px的位置;然后用2秒时间,移动到top:0px,left:600px的位置。

jq第四课

1、磁力图片:

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title></title>

<style type="text/css">

* {

font-family:微软雅黑;

}

img {

position:absolute;

}

</style>

<script src="Scripts/jquery-1.8.2.min.js"></script>

<script type="text/javascript">

$(function () {

$(document).click(function (a) {

$("img").animate({ left: a.pageX, top: a.pageY }, 2000);

});

});

</script>

</head>

<body>

<img src="Images/cat.jpg" />

</body>

</html>

2、轮播图:

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

<title></title>

<link href="Style/demo2.css" rel="stylesheet" />

<script src="Scripts/jquery-1.8.2.min.js"></script>

<script type="text/javascript">

var num = 0;//记录下当前显示的图片的索引

$(function () {

$(".imgitem").not(":eq(0)").hide();//页面加载的时候,第一张图片显示。

setInterval(function () {//隔多久,执行一次方法

num++;

if (num == 5)

{

num = 0;

}

ShowFocusPic();

}, 5000);

$(".btn a").click(function () {

num = $(".btn a").index($(this));//当前点击的下标在整个下标里面的索引,把这个索引值转成整数赋值给num

ShowFocusPic();

});

});

function ShowFocusPic()

{

$(".imgitem").eq(num).show();

$(".imgitem").not(":eq(" + num + ")").hide();

$(".btn li a").eq(num).addClass("selected");

$(".btn li a").not(":eq(" + num + ")").removeClass("selected");

}

</script>

</head>

<body>

<div id="list">

<div class="imgitem"><img src="Images/2.png" /></div>

<div class="imgitem"><img src="Images/3.jpg" /></div>

<div class="imgitem"><img src="Images/4.jpg" /></div>

<div class="imgitem"><img src="Images/5.jpg" /></div>

<div class="imgitem"><img src="Images/6.jpg" /></div>

<div class="btn">

<ul>

<li><a href="#" class="selected">1</a></li>

<li><a href="#">2</a></li>

<li><a href="#">3</a></li>

<li><a href="#">4</a></li>

<li><a href="#">5</a></li>

</ul>

</div>

</div>

</body>

</html>

3、腾讯课堂菜单:

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title></title>

<link href="Style/demo1.css" rel="stylesheet" />

<script src="Scripts/jquery-1.8.2.min.js"></script>

<script type="text/javascript">

$(function () {

$(".showinfor").hide();//页面加载后,class为showinfor的div隐藏

$(".showinfor").hover(function () {

$(this).show();

}, function () {

$(this).hide();

});

$(".listitem").hover(function () {

var obj = $(this).offset();

var index =$(".listitem").index($(this));

$(".showinfor").eq(index).show();

$(".showinfor").eq(index).css({ "top": obj.top, "left": obj.left + 220 });

$(this).addClass("itembg");

}, function () {

var index =$(".listitem").index($(this));

$(".showinfor").eq(index).hide();

$(this).removeClass("itembg");

});

});

</script>

</head>

<body>

<div id="list">

<p class="top"><a href="#">全部课程</a></p>

<div class="listitem">

<div class="item_1"><a href="#">职业技能</a></div>

<div class="item_2">

<ul>

<li><a href="#">职能技能</a></li>

<li><a href="#">SNS营销</a></li>

<li><a href="#">公务员</a></li>

</ul>

</div>

</div>

<div class="showinfor">

职业技能

</div>

<div class="listitem">

<div class="item_1"><a href="#">IT培训</a></div>

<div class="item_2">

<ul>

<li><a href="#">网站制作</a></li>

<li><a href="#">手机开发</a></li>

<li><a href="#">游戏制作</a></li>

</ul>

</div>

</div>

<div class="showinfor">IT培训</div>

<div class="listitem">

<div class="item_1"><a href="#">语言学习</a></div>

<div class="item_2">

<ul>

<li><a href="#">英语口语</a></li>

<li><a href="#">留学英语</a></li>

<li><a href="#">韩语</a></li>

</ul>

</div>

</div>

<div class="showinfor">语言学习</div>

<div class="listitem">

<div class="item_1"><a href="#">中小学/大学</a></div>

<div class="item_2">

<ul>

<li><a href="#">中考备战</a></li>

<li><a href="#">高考备战</a></li>

</ul>

</div>

</div>

<div class="showinfor">中小学/大学</div>

<div class="listitem">

<div class="item_1"><a href="#">兴趣爱好</a></div>

<div class="item_2">

<ul>

<li><a href="#">投资理财</a></li>

<li><a href="#">美妆</a></li>

<li><a href="#">摄影</a></li>

</ul>

</div>

</div>

<div class="showinfor">兴趣爱好</div>

<div class="listitem">

<div class="item_1"><a href="#">亲子课堂</a></div>

<div class="item_2">

<ul>

<li><a href="#">幼儿教育</a></li>

<li><a href="#">家长训练营</a></li>

</ul>

</div>

</div>

<div class="showinfor">亲子课堂</div>

</div>

</body>

</html>

4、可弹出红色菜单:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html>

<head>

<title></title>

<style type="text/css">

body {

background-color: #ffdee0;

}

a {

font-family: "微软雅黑";

color: white;

text-decoration: none;

}

ul {

list-style-type: none; /* 不显示项目符号 */

margin: 0px;

padding: 0px;

}

#navigation {

width: 200px;

}

#navigation ul li {

border-bottom: 1px solid #ED9F9F; /* 添加下划线 */

background-color: #c11136;

}

#navigation ul li a {

display: block; /* 区块显示 */

padding: 5px;

border-left: 12px solid #711515; /* 左边的粗红边 */

border-right: 1px solid #711515; /* 右侧阴影 */

}

#navigation ul li a:hover { /* 鼠标经过时 */

background-color: #990020; /* 改变背景色 */

color: #ffff00; /* 改变文字颜色 */

}

#navigation ul li ul li {

background-color: #e85070;

border-top: 1px solid #ED9F9F;

}

#navigation ul li ul li a {

display: block;

padding: 3px;

border-left: 28px solid #a71f1f;

border-right: 1px solid #711515;

}

#navigation ul li ul li a:hover {

background-color: #c2425d;

color: #ffff00;

}

</style>

<script src="Scripts/jquery-1.8.2.min.js" type="text/javascript"></script>

<script type="text/javascript">

//$(function () {

//    $(".c").find("ul").hide();

//    $(".c").toggle(function () {

//        $(this).find("ul").slideDown(500);

//    }, function () {

//        $(this).find("ul").slideUp(500);

//    });

//});

$(function () {

$(".c").find("ul").hide();

$(".c").toggle(function () {

$(this).find("ul").slideDown(500);

}, function () {

$(this).find("ul").slideUp(500);

});

});

</script>

</head>

<body>

<div id="navigation">

<ul id="listUL" >

<li class="c"><a href="#">体育明星</a>

<ul>

<li><a href="#">乔丹</a></li>

<li><a href="#">纳什</a></li>

<li><a href="#">奥利尔</a></li>

</ul>

</li>

<li class="c"><a href="#">政治明星</a>

<ul>

<li><a href="#">普京</a></li>

<li><a href="#">习总</a></li>

<li><a href="#">奥巴马</a></li>

</ul>

</li>

<li class="c"><a href="#">娱乐明星</a>

<ul>

<li><a href="#">黄家驹</a></li>

<li><a href="#">周润发</a></li>

<li><a href="#">刘德华</a></li>

</ul>

</li>

<li class="c"><a href="#">历史人物</a>

<ul>

<li><a href="#">康熙</a></li>

<li><a href="#">拿破仑</a></li>

<li><a href="#">秦始皇</a></li>

</ul>

</li>

</ul>

</div>

</body>

</html>

5、砸蛋游戏:

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title></title>

<style type="text/css">

#d1 {

margin-top: 200px;

margin-left: 200px;

}

.egg {

float: left;

background-image: url("Images/egg_1.png");

background-repeat: no-repeat;

height: 187px;

width: 158px;

margin-right: 50px;

cursor: pointer;

}

#t {

height: 87px;

width: 74px;

background-image: url("Images/egg_3.png");

background-repeat: no-repeat;

position: absolute;

top: 185px;

left: 330px;

cursor: pointer;

}

#re {

width: 160px;

height: 35px;

position:absolute;

background-color:#FFFFCC;

color:#FF6600;

font-size:14px;

font-family:"微软雅黑";

display:none;

text-align:center;

line-height:35px;

}

</style>

<script src="Scripts/jquery-1.8.2.min.js"></script>

<script type="text/javascript">

$(function () {

var iNum = Math.floor(Math.random() * 4 + 1);//产生一个1~4之间的随机整数

var i = 0;

$(".egg").mouseover(function () {

var off = $(this).offset();//当前蛋的方位

$("#t").css("left", off.left + 120);

});

$(".egg").click(function () {

if (i == 4) {

alert("蛋都碎了,别砸了,刷新再来");

document.getElementById("a3").play();

return;

}

if ($(this).attr("isbreak") == "false") {

i++;

$(this).css("background-image", "url(Images/egg_2.png)");

var a = $(".egg").index($(this)) + 1;//获取到当前的蛋是第几个蛋

var off = $(this).offset();

if (a == iNum) {

$("#re").text("恭喜,您中得数码相机!").css({ "left": off.left, "top": "140px" }).slideDown();

document.getElementById("a2").play();

}

else {

$("#re").text("很遗憾,您没有中奖").css({ "left": off.left, "top": "140px" }).slideDown();

document.getElementById("a1").play();

}

$(this).attr("isbreak", "true");

}

else {

$("#re").text("蛋已砸过了").css({ "left": off.left, "top": "140px" }).slideDown();

}

});

});

</script>

</head>

<body>

<div id="d1">

<div class="egg" isbreak="false"></div>

<div class="egg" isbreak="false"></div>

<div class="egg" isbreak="false"></div>

<div class="egg" isbreak="false"></div>

</div>

<div id="t"></div>

<div id="re"></div>

<div><audio src="file/1.mp3" id="a1"></audio></div>

<div><audio src="file/2.mp3" id="a2"></audio></div>

<div><audio src="file/3.mp3" id="a3"></audio></div>

</body>

</html>

时间: 2024-11-03 22:10:24

js jq 笔记小结的相关文章

【笔记】.Net~逆天自学笔记-HTML+CSS+JS + JQ +Dom

HTML+CSS+JS+JQ+Dom参考集合:Library 真正的HTML(图片 | 笔记) HTML不是为了页面而存在,以后会更多的用在页面语意上,所有为了控制外观的都让css来操作,html5也是这样的 我眼中的CSS(图片|笔记|文档)JavaScriptBase(图片|笔记|源码)JavaScript Dom等

JS学习笔记-数组

ECMAScript中没有提供类和接口等的定义,但它却是一门面向对象的语言,由于它能够通过其它 方式实现类似高级语言的面向对象功能,这些内容将在后面的文章中进行一步步的总结.此篇仅对JS中对象作简要说明,重点汇总一些类似于对象的数组的经常用法. 对象 创建 上篇提到创建对象的两种方式: 使用new运算符创建Object var obj = new Object(); 使用字面量方式创建 var   obj = {}; 这里值得注意的是在使用字面量(常量)创建Object时不会调用构造函数. 属性

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.

You don&#39;t know JS 读书笔记(一)

前言 这里记录着自己阅读You don't know JS系列丛书的一些心得体会,也算是自己对JavaScript知识的一个总结吧. 高能预警:文章较长且琐碎,请自备板凳瓜子- Types(类型) Variables don’t have types, but the values in them do. 这句话的意思是说:变量是没有类型的,变量里面存的值才是有类型的.比如我声明一个变量var a;,此时a是不具有任何类型信息的.如果我给a赋值一个字符串a = "Hello, World&quo

[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

【转】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 // 路由

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