HTML前端编程技巧

IE8下DIV嵌套高度自适应

IE8在默认情况下不会对DIV进行高度自适应,而IE6、7下设置DIV高度为auto即可自适应高度;解决方法:父DIV的CSS设置display:table\0;即可使其随内部嵌套DIV高度自适应。

第二代身份证号码的验证机制

如下JS代码进行二代身份证验证(代码转载自盛大网络)

iW = new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1);

iSum = 0;

for( i=0;i<17;i++){

    iC = v_card.charAt(i) ;

    iVal = parseInt(iC);

    iSum += iVal * iW[i];

}

iJYM = iSum % 11;

var sJYM = '';

if(iJYM == 0) sJYM = "1";

else if(iJYM == 1 ) sJYM = "0";

else if(iJYM == 2 ) sJYM = "x";

else if(iJYM == 3 ) sJYM = "9";

else if(iJYM == 4 ) sJYM = "8";

else if(iJYM == 5 ) sJYM = "7";

else if(iJYM == 6 ) sJYM = "6";

else if(iJYM == 7 ) sJYM = "5";

else if(iJYM == 8 ) sJYM = "4";

else if(iJYM == 9) sJYM = "3";

else if(iJYM == 10) sJYM = "2";

var cCheck = v_card.charAt(17).toLowerCase();

if( cCheck != sJYM ){

    return false; //对不上就是假号码

}

 打开网页时提示 Stack overflow at line: 0

打开京东或淘宝网站时,经常会弹出JS错误提示Stack overflow at line: 0;

初步分析,可能是由于页面所含图片文件太多,部分图片未正确加载导致出现该错误,查看图片调用代码,大致如下:

<img src=”*.gif” onerror=”javascript:this.src=’noPic.gif’;” alt=”产品” />
由于IMG中使用了错误处理函数onerror,当src指定的图片无法加载或网络延迟未正确加载时,就会触发onerror事件;但如果执行onerror事件时, 重定向的图片src仍无法加载时,就会再次触发onerror出现死循环,所以会报该JS错误。
为了安全使用onerror事件,可以直接调用如下函数:

<script type=”text/javascript”>

<!–

function noexist(){

var img=event.srcElement;

img.src=”nopic.gif”;

img.onerror=null; //清除该事件

}

//–>

</script>

你可能感兴趣的:(html)