糖娃娃

糖娃娃的笔记

来自07.javascript基础 - 2(1)

 运算符 程序流程控制   三目运算符     条件?语句1:语句2跳出循环    continue中断本次循环    break跳出整个循环真:true 非零数字 非空字符串假:false 数字零 空字符串 空对象(null) undefinedjson存数据   var json={a:12,b:5,c:7};  var arr=[12,5,7];json和数组的区别①json的下标是字符串,数组下标为数字eg:alert(json['a']);  alert(arr[0]);②json没有lengthalert(arr.length)③循环   for(var i in arr/json)     alert(''+json[i]);数组:0-lengthjson: for in     

来自09.定时器的使用 - 1(1)

定时器setInterval(show,1000);//无限执行,1秒后执行 setTimeout(show,1000);//只执行一次获得当前时间   var oDate=new Date();  alert(oDate.getHours());//时钟getSeconds//秒getMinutes//分钟getMonth()+1//从0开始getDate()getDay()//星期几(0123456)数码时钟  str.charAt();//解决ie7不兼容str[i]年月日   var oDate=new Date();   getFullYear();   getMonth()+1;//从0开始  getDate();//几号  getDay();//星期几延时提示框函数连等(简化代码)    

来自17 - JS运动应用 - 01(0)

任意值运动框架多物体运动框架             1.多物体同时运动       eg:多个div,鼠标移入变宽     单定时器存在问题         每个div一个定时器      2.多物体运动框架    定时器作为物体的属性  参数的传递:物体,目标值  例子:多个物体淡入淡出  所有东西不能共用【timer alpha】  任意值运动框架style行间样式IE下可以用currentStyle,而在火狐下面我们需要用到getComputedStyle仿FLASH图片显示

来自10.定时器的使用 - 2(0)

offsetLeft 左边距offsetTop上边距offsetWidth  offsetHeight无缝滚动1.效果原理2.复制li  innerHTML和+= 修改ul的width3.滚动过界后,重设位置  判断过界4.改变滚动方向 修改speed  修改判断条件5.鼠标移入暂停 移入关闭定时器 移除重新开启     开启定时器   

来自18 - JS运动应用 - 02(0)

计算机不能准确存小数;【pc 手机】Math.round()四舍五入仿flash图片展示效果思路两边的按钮----淡入淡出大图下拉-层级 高度的变化下方的li--多物体淡入淡出下方的ul--位置计算 

来自11.DOM基础(0)

DOM基础  DOM操作页面DOM节点childNodes(in6-8)children只计算元素节点alert(oUL.children.length);//子节点只计算第一层nodeType节点类型  文本节点  元素节点操作元素属性浏览器支持情况 parentNode父节点offsetParent() 方法返回最近的祖先定位元素。节点(2)  首尾子节点    firstChild//第一个子节点,兼容问题(in6-8)    firstElementChild高版本兼容lastChild.lastElementChild 处理兼容if(oUL.firstElementChild)   {oEUL.firstElementChild.style.backgrround="red";}else {oUL.firstChild.style.background="red";}操作元素属性  setAttribute('元素属性名','值'); oTxt.setAttribute('value','hxsj');设置 :oTxt.getAttribute('value');删除 removeAttribute(名称)DOM元素灵活查找 1.className选择元素 2.封装成函数     

来自22 - JS事件高级应用 - 01(0)

事件捕获obj.setCapture();事件集中在obj上只在IE兼容。

来自12.DOM操作应用(0)

创建\.插入\删除元素  1.创建createElement(标签名)创建节点appendChild(节点) 追加一个节点,添加到末尾eg:var oLi=document.createElement("li");//创建元素 oUl.appendChild(oLi);//父级.appendChild(子节点);2.插入元素insertBefore(节点,原有节点 )  在已有元素前插入appendChild与insertBefore区别:  向父级添加子节点 3.删除DOM元素(父级)removeChild(节点)删除一个节点,彻底删除元素4.文档碎片低级浏览器中提高性能、原理、document.createDocumentFragment();var oFrag=document.createDocumentFragment();  for(var i=0;i<10000;i++){var oLi=document.createElement("li"); oFrag.appendChild(oLi); }

来自24 - Ajax基础(0)

Ajax   无刷新数据读取localhost服务器methord="get"  "post"get: 获取数据   通过网址   有缓存post:上传数据    不通过网址   容量大【2G】    安全性较高    无缓存 

来自13 - DOM操作应用高级 - 1(0)

一、表格应用alert(oTab.tBodies[0].rows[0].cells[0].innerHTML);    //alert(oTab.getElementsByTagName("tbody")[0].getElementsByTagName("tr")[0].getElementsByTagName("td")[0].innerHTML);获取 表格搜索 模糊查找 search //找到并返回字符串的位置,未找到,返回-1 二、表单应用

来自14 - DOM操作应用高级 - 2(0)

 表格应用1.获取【tBodies\tHead\tFoot\rows\cells】2.隔行变色  【鼠标移入高亮】3.添加、删除一行  【DOM方法的使用】搜索  字符串比较  大小写转换 模糊搜索--search 多关键字--split高亮显示、筛选二、排序  移动li   oUl2.appendChild(oLi);//先把元素从原有父级上删除再添加到新的父级元素 元素排序:转换-排序-插入表单应用 1.基础知识向服务器提交数据  action 表单提交到哪里2.表达事件  onsubmit 提交时发生  onreset 重置时发生3.表单内容验证阻止用户输入非法字符【组织事件】输入时、失去焦点时验证【onkeyup onblur】提交时检查 onsubmit后台数据检查

来自06.javascript基础 - 1(0)

js基础知识   1.js组成①ECMAScript 解释器:翻译核心几乎没有兼容性问题②DOM(Document Object Model)有一些操作不兼容③BoM  (Browser object model) 没有,完全不兼容 计算机 : 0  1 2.变量类型  数据类型转换 parseInt   NaN  parseFloat    强制类型转换     隐式类型转换    ==先转换类型再比较   ===全等,不转换类型    var a='3';   var b='1';alert(a+b); 31+  1.字符串链接2.加法alert(a-b); 23.变量作用域以及闭包   ①局部变量,只在自己定义的函数中使用;全局变量,任何地方都可用   ②闭包:子函数可以使用父函数的局部变量4.命名规范   可读性  规范性类型前缀  数组 a  整数 i  对象 o  字符串 s5.运算符6.程序流程控制7.json 

来自15 - JS运动基础 - 01(0)

1.运动基础             div动起来           速度-运动快慢       运动中的BUG           不会停止、速度去某些值无法停止、到达位置时再点击还会运动、重复点击速度加快匀速运动--速度不变2.运动框架  运动开始时,关闭已有定时器;把运动和停止分隔开(if else)                实例1.分享到               通过目标点,计算速度值2.淡入淡出             用变量存储透明度缓冲运动               opacity  从 0.0 (完全透明)到 1.0(完全不透明)。        

来自21 - JS事件中级(0)

默认行为(鼠标右键菜单属于浏览器默认行为)取消默认行为  document.oncontentmenu()=function(ev){ var oEvent=event||ev; return false;//阻止默认行为} 只能输入数字的数字框  【数字的keyCode为连续数字】(0-48  9-57)  拖拽 

来自08.深入javascript(0)

函数返回值函数传参  ①可变参 不定参     arguments  数组存参②css(oDiv,'width') 获取样式css(oDiv,'width','200px')设置样式style行间样式currentStyle非行间样式 只能取单一样式//iegetComputedStyle(oDiv,"垃圾(false/null)") 计算后样式      //Chrome 火狐if  else复合样式:background  border单一样式:width height position2.数组基础  length即可获取,也可设置。 push  尾部添加 pop尾部删除  shift头部删除  unshift头部添加splice(开始,长度,元素)①a.splice(2,3);//删除(开始,长度)②a.splice(2,0,3,3);//添加③a.splice(2,3,1,3,2);//替换(开始,替换个数,新元素)alert(a.concat(b));//数组连接join分隔符:alert(a.join('--p'));排序:a.sort();//排序,从小到大,会       把数字当字符串处理arrDemo.sort(function(a,b){return a>b?1:-1});//从小到大排序 alert(arrDemo);//10,50,51,100 arrDemo.sort(function(a,b){return a<b?1:-1});//从大到小排序 alert(arrDemo);//100,51,50,10    

来自16 - JS运动基础 - 02(0)

1.缓冲运动   速度=(目标值-当前值)/缩放系数 逐渐变慢,最后停止        距离越远速度越大          距离减小,速度减小        速度距离成正比Math.ceil()向上取整Math.floor()向下取整Math.abs()绝对值缓冲取整2.缓冲菜单  BUG:速度取整  跟随页面滚动的缓冲侧边栏    潜在问题:目标不是整数时3.匀速运动的停止条件  距离足够近           两点重复if(Math.abs(iTarget-oDiv.offsetLeft)<=speed){clearInterval(timer);oDiv.style.left=iTarget+'px';}