JS兼容问题

一、设置图片的路径(IE7以下用str方法不兼容,改用charAt())

var oImgs=document.getElementsByTagName("img");
for(var i=0;i<oImgs.length;i++){

oImgs[i].src='images/'+str.charAt(i)+'.png';
}

二:获取子节点(childNodes高版本浏览器不兼容,把空白的文本也算作元素,直接改用children

window.οnlοad=function(){
var oUl=document.getElementById('ul1');
alert(oUl.childNodes.length);
alert(oUl.children.length);
alert(oUl.noteType);
}

三:首尾子节点和兄弟节点(firstchild:IE6-8,firstElementChild:谷歌,火狐,IE9以上)

window.οnlοad=function(){
var oUl=document.getElementsByTagName("ul")[0];
oUl.firstChild.style.background ='red';
 if(oUl.firstElementChild){
oUl.firstElementChild.style.background ='red';
}
else {
oUl.firstChild.style.background ='red';
}
}

firstChild(第一个孩子)   兼容性===>firstElementChild
lastChild(最后一个孩子)   lastElementChild
nextSibling(下一个兄弟节点)   nextElementChild
previousSibling(上一个兄弟节点)   previousElementChild

四:函数传参,取非行间样式(obj.currentStyle[attr]兼容IE;getComputedStyle(obj,false)[name]兼容Chrome,ff

<script>
window.οnlοad=function(){
var oDiv=document.getElementById('div1');
alert(css(oDiv,'height'));
css(oDiv,'background','green');
}

//方法一:
// function css(obj,name,value){
// if(arguments.length==2){
// if(obj.currentStyle===undefined){//兼容谷歌和火狐
// returngetComputedStyle(obj,false)[name];
// }else{
// returnobj.currentStyle[name];//兼容IE
// }
// }
// else{
// obj.style[name]=value;
// }
// }
// 方法二:
function css(obj,name,value){
if(obj.currentStyle){
return obj.currentStyle[name];//兼容IE
}else{
return getComputedStyle(obj,false)[name];//兼容谷歌和火狐
}
}
</script>

五:图片的淡入淡出opacity:0.3兼容谷歌火狐   filter:alpha(opacity:30)兼容IE

window.οnlοad=function (){
var oDiv1=document.getElementById("div1");
var alpha=50;//透明度
var timer=null;
oDiv1.οnmοuseοver=function(){
move(100);
}
oDiv1.οnmοuseοut=function(){
move(30);
}
function move(target){
clearInterval(timer);
timer=setInterval(function(){
var speed=0;
if(target>alpha){
speed=10;
}
else {
speed=-10;
}
if(target==alpha){
clearInterval(timer);
}
else {
alpha+=speed;

oDiv1.style.filter='alpha(opacity:'+变量+')';

oDiv1.style.opacity=变量;
oDiv1.style.filter='alpha(opacity:'+alpha+')';
oDiv1.style.opacity=alpha/100;
}
},30)
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值