基础知识盲点——1

一、自己记录的知识点

1.this.index == oBtn.length - 1 && (oDiv.style.cssText = "");          //&&的条件操作符功能,cssText获取行间样式

2.oLink['href'] = this.id + ".css";          //href及id等都是元素的属性,可设置及获取属性值

3.for(var i in obj)          //这是一个我还没弄懂的,开始时在看例子的时候看到这种用法,于是开始替代for(var i=0;i<..length;i++)结果用出了错

                               //后来参考这里的讨论http://g.mozest.com/thread-40787-1-1才稍微理解,为什么会出错,以后再慢慢理解

4.cursor:crosshair;          //控制鼠标的光标,十字型

5.类型转换+(加法)不会将字符串转为数字,其他数学运算符可以,这是弱转换

6.this.value=this.value.replace(/[^\d|(,)]/g,"");          //replace()方法是改变的另一个字符串,必须重新赋值给对象的属性才能生效,总是忘记重新赋值回去

7.onchange,onkeydown,onkeyup          //事件(还有好多)

8.一个绝对定位布局上的妙处,将一个div总是放在页面的正中,position:absolute;left:50%;top:50%;margin:-(div的高的一半)0 0 -(div的宽的一半);

9.这个是神马,content:".":afterzoom都是神马#outer ul:after{content:".";display:block;height:0;clear:both;visibility:hidden;} #outer ul{zoom:1;}

10./^\d{2}$/.test(parseInt(aInput[0].value))          //正则表达式(不要加引号).test(string)

 


 
二、图片对象及图片预加载问题(网上找的资料)
Image()          //图片对象
oDiv.style.display = "block";
img.complete ? oDiv.style.display = "none" : (oImg[0].onload = function() {oDiv.style.display = "none"}) ;    //Image对象属性complete,事件onload 异步加载图片当加载的图片显示出来后,complete 属性的值才为 true ,否则一直是 false ,和以前是否加载过该张图片没有关系,即和缓存没有关系!这里要注意,显示与否和img.style.display无关;

JS部分:   alert(img.complete);----->false
      img.src="图片";
      alert(img.complete);------->//如果上面“图片”获取的时间比JS代码顺序执行的时间要常,那么这里就是false,否则就是true;

  1. //图片预加载  (这一段不大懂)
  2. function readyImage(url,callback){  
  3.     var img = new Image();   
  4.     img.src=url;  
  5.     if(img.complete){    
  6.         var imgWh = [img.width,img.height];  
  7.         callback(i,imgWh);  
  8.     }else{  
  9.         img.onload  = function(){  
  10.             var imgWh = [img.width,img.height];  
  11.             callback(i,imgWh);  
  12.         }  
  13.     }  
  14. }  
原文地址:https://www.cnblogs.com/molinglan/p/3829808.html