问题描述: 一个ASP页面下(目前尚未连接数据库,还处于纯静态模式),在火狐里不报错,在IE6和8中都报错,说"document.getElementById("num"+i).className="current";"这里缺少对象,还有就是什么对象为空。 自己找了很久也没找到解决方法,特来求助,请高手们帮忙分析分析!==================================================================
ASP页面下,引用JS代码:<script type="text/javascript" src="js/common.js"></script>
JS/cmn.js脚本文件全部的代码如下:<!--
keepstatus();
function keepstatus(){
window.status="welcome! - Ver1.1(2010.12.24) -";
setTimeout("keepstatus()",1);
}
//-->
function linkurl(obj)
{
if(obj.selectedIndex>0)
{
window.open(obj.options[obj.selectedIndex].value);
}
}
function correctPNG()
{
var arVersion = navigator.appVersion.split("MSIE")
var version = parseFloat(arVersion[1])
if ((version >= 5.5) && (document.body.filters))
{
for(var j=0; j<document.images.length; j++)
{
var img = document.images[j]
var imgName = img.src.toUpperCase()
if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
{
var imgID = (img.id) ? "id='" + img.id + "' " : ""
var imgClass = (img.className) ? "class='" + img.className + "' " : ""
var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
var imgStyle = "display:inline-block;" + img.style.cssText
if (img.align == "left") imgStyle = "float:left;" + imgStyle
if (img.align == "right") imgStyle = "float:right;" + imgStyle
if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle
var strNewHTML = "<span " + imgID + imgClass + imgTitle
+ " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
+ "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
+ "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>"
img.outerHTML = strNewHTML
j = j-1
}
}
}
}
if(window.attachEvent){
window.attachEvent("onload", correctPNG);
}else if(window.addEventListener){
window.addEventListener("load",correctPNG,true);
}else{
window["onload"]=correctPNG;
}var MaxImg = 6;
var NowImg = 1;
var bStart = 0;
var bStop =0;
var begin;
function initialization(){
bStop =0;
var next = NowImg + 1;
if(next == MaxImg+1){
NowImg = MaxImg;
next = 1;
}
if(bStop != 1){
if(bStart == 0){
bStart = 1;
begin = setTimeout('initialization()', 2000);
return;
}
else{
document.getElementById("desc" + next).style.display="";
document.getElementById("desc" + NowImg).style.display="none";
for (var i=1;i<7;i++){
document.getElementById("num"+i).className="link";
if(i == next){
document.getElementById("num"+i).className="current";
}
while(next==7){
document.getElementById("num").className="link";
}
}
if(NowImg == MaxImg)
NowImg = 1;
else
NowImg++;
}
begin = setTimeout('initialization()', 2000);
}
}function showit(x){
bStop=1;
clearTimeout(begin);
for (var i=1;i<=6;i++){
document.getElementById("desc" + i).style.display="none";
document.getElementById("num" + i).className="link";
if(i == x){
document.getElementById("desc" + i).style.display="block";
document.getElementById("num"+i).className="current";
}
}
}function playit(){
begin = setTimeout('initialization()', 2000);
}
begin = setTimeout('initialization()', 2000);
ASP页面下,引用JS代码:<script type="text/javascript" src="js/common.js"></script>
JS/cmn.js脚本文件全部的代码如下:<!--
keepstatus();
function keepstatus(){
window.status="welcome! - Ver1.1(2010.12.24) -";
setTimeout("keepstatus()",1);
}
//-->
function linkurl(obj)
{
if(obj.selectedIndex>0)
{
window.open(obj.options[obj.selectedIndex].value);
}
}
function correctPNG()
{
var arVersion = navigator.appVersion.split("MSIE")
var version = parseFloat(arVersion[1])
if ((version >= 5.5) && (document.body.filters))
{
for(var j=0; j<document.images.length; j++)
{
var img = document.images[j]
var imgName = img.src.toUpperCase()
if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
{
var imgID = (img.id) ? "id='" + img.id + "' " : ""
var imgClass = (img.className) ? "class='" + img.className + "' " : ""
var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
var imgStyle = "display:inline-block;" + img.style.cssText
if (img.align == "left") imgStyle = "float:left;" + imgStyle
if (img.align == "right") imgStyle = "float:right;" + imgStyle
if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle
var strNewHTML = "<span " + imgID + imgClass + imgTitle
+ " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
+ "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
+ "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>"
img.outerHTML = strNewHTML
j = j-1
}
}
}
}
if(window.attachEvent){
window.attachEvent("onload", correctPNG);
}else if(window.addEventListener){
window.addEventListener("load",correctPNG,true);
}else{
window["onload"]=correctPNG;
}var MaxImg = 6;
var NowImg = 1;
var bStart = 0;
var bStop =0;
var begin;
function initialization(){
bStop =0;
var next = NowImg + 1;
if(next == MaxImg+1){
NowImg = MaxImg;
next = 1;
}
if(bStop != 1){
if(bStart == 0){
bStart = 1;
begin = setTimeout('initialization()', 2000);
return;
}
else{
document.getElementById("desc" + next).style.display="";
document.getElementById("desc" + NowImg).style.display="none";
for (var i=1;i<7;i++){
document.getElementById("num"+i).className="link";
if(i == next){
document.getElementById("num"+i).className="current";
}
while(next==7){
document.getElementById("num").className="link";
}
}
if(NowImg == MaxImg)
NowImg = 1;
else
NowImg++;
}
begin = setTimeout('initialization()', 2000);
}
}function showit(x){
bStop=1;
clearTimeout(begin);
for (var i=1;i<=6;i++){
document.getElementById("desc" + i).style.display="none";
document.getElementById("num" + i).className="link";
if(i == x){
document.getElementById("desc" + i).style.display="block";
document.getElementById("num"+i).className="current";
}
}
}function playit(){
begin = setTimeout('initialization()', 2000);
}
begin = setTimeout('initialization()', 2000);
解决方案 »
- 在子窗体给自已提交一次以后,给父窗体转值,
- jCover运行时敲回车出错“undefined”
- 在有body中如何用<c:if </c:if>test的值为1时则选中复选框
- javascript修改form里的一些值以后如何阻止页面提交?
- C#中如何在JAVASCRIPT中调用C#函数,并传递参数
- 请教javascript高手:求可以使图片从右往左走的javascript代码,图片要连续不间断,且没有空白……十分感谢
- 如何隐藏标题栏前面的地址信息(如:localhost或者是ip)??
- 一个关于下载文档保存的问题---------------十万火急
- net_lover 、 xhy818 、 JK_10000 、 qiushuiwuhen come in.
- window.open,怎样正确显示标题
- css的伪类能应用在按钮中吗?
- 关于Script DOM Element的异步执行
CSS排版在火狐中很正常,到IE下,就出现了一个大约3PIX的间隙,不知道怎么解决
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<style type="text/css">
.old
{
background-color: Gray;
}
.current
{
background-color: Red;
}
</style>
</head>
<body>
<div id="Div1" class="old">
The original color is Gray.
</div>
<div id="num5" class="old">
Js changed the color to Red.
</div>
<script type="text/javascript">
var i = 5;
document.getElementById('num' + i.toString()).className = 'current';
</script>
</body>
</html>
2.双引号改成单引号
document.getElementById(‘num’+i.toString()).className='current';
这个是IE6的一个BUG 需要用HACK解决了
谢谢您的回复。按照这方法改后,还是报错,说document.getElementById(...)为空,或者不是对象