关于“script defer ”的使用问题,会使浏览器当掉

hch686 2005-06-16 08:52:54
<script language="JavaScript" defer="true">
var obj_marquee = document.getElementById("marquee");
var marquee_spd =3000;
var step_c = 0;

function marquee_init() {
var obj_unit = obj_marquee.firstChild;
var n = Math.ceil(parseInt(obj_marquee.style.height) / obj_unit.offsetHeight);
for(var i=0; i<n; i++) obj_marquee.appendChild(obj_unit.cloneNode(true));
return;
}

function marquee_show() {
var marquee_high = parseInt(obj_marquee.style.height);
var step = marquee_high/10;
if(obj_marquee.scrollTop >= obj_marquee.children[1].offsetTop) {
obj_marquee.scrollTop = 0;
marquee_show();
return;
}
obj_marquee.scrollTop += step;
if(step_c++ < 9) setTimeout("marquee_show()", 50);
return;
}

marquee_init();
setInterval("step_c=0;setTimeout('marquee_show()',50)", marquee_spd);

</script>
<!---------------------------------------------------------------------->
<!--滚动图片新闻-->
<center>
<div id="marquee" style="overflow:hidden;height:112px;width:436px;border:0px;padding:0px;">
<div style="border:0px;padding:0px">
<!-- Marquee Body Head -->
<TABLE WIDTH=436 BORDER=0 CELLPADDING=0 CELLSPACING=0>
<TR>
<TD>
<IMG SRC="images/index_17_01.gif" WIDTH=1 HEIGHT=111 ALT=""></TD>
<TD>
<IMG SRC="images/index_17_02.gif" WIDTH=8 HEIGHT=111 ALT=""></TD>
<TD>
<IMG SRC="images/index_17_03.gif" WIDTH=130 HEIGHT=111 ALT=""></TD>
<TD>
<IMG SRC="images/index_17_04.gif" WIDTH=10 HEIGHT=111 ALT=""></TD>
<TD>
<IMG SRC="images/index_17_05.gif" WIDTH=130 HEIGHT=111 ALT=""></TD>
<TD>
<IMG SRC="images/index_17_06.gif" WIDTH=9 HEIGHT=111 ALT=""></TD>
<TD>
<IMG SRC="images/index_17_07.gif" WIDTH=131 HEIGHT=111 ALT=""></TD>
<TD>  </TD>
</TR>
</TABLE>
<!-- Marquee Body Bottom -->
</div>
</div>
</center>
<!---------------------------------------------------------------------->
我在做多列滚动图片的时候,脚本中:
<script language="JavaScript" defer="true">
如果加上“defer”,运行程序,浏览器就会当掉
而如果不加“defer” 脚本就不会执行
请问高人,该怎么解决,或者是什么原因?
...全文
129 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
hch686 2005-06-16
  • 打赏
  • 举报
回复
net_lover(孟子E章)的后面的方法似乎可行
下午再研究一下,解决后就给分
谢谢诸位
并且希望给分析一下,我之前的脚本运行,浏览器会死掉的原因
孟子E章 2005-06-16
  • 打赏
  • 举报
回复
不会了
<body onload="x()">
<div id="marquee" style="overflow:hidden;height:112px;width:436px;border:0px;padding:0px;">
<div style="border:0px;padding:0px">
<!-- Marquee Body Head -->
<TABLE WIDTH=436 BORDER=0 CELLPADDING=0 CELLSPACING=0>
<TR>
<TD>
<IMG SRC="images/index_17_01.gif" WIDTH=1 HEIGHT=111 ALT=""></TD>
<TD>
<IMG SRC="images/index_17_02.gif" WIDTH=8 HEIGHT=111 ALT=""></TD>
<TD>
<IMG SRC="images/index_17_03.gif" WIDTH=130 HEIGHT=111 ALT=""></TD>
<TD>
<IMG SRC="images/index_17_04.gif" WIDTH=10 HEIGHT=111 ALT=""></TD>
<TD>
<IMG SRC="images/index_17_05.gif" WIDTH=130 HEIGHT=111 ALT=""></TD>
<TD>
<IMG SRC="images/index_17_06.gif" WIDTH=9 HEIGHT=111 ALT=""></TD>
<TD>
<IMG SRC="images/index_17_07.gif" WIDTH=131 HEIGHT=111 ALT=""></TD>
<TD>  </TD>
</TR>
</TABLE>
<!-- Marquee Body Bottom -->
</div>
</div>
</center>
<script language="JavaScript">
var obj_marquee
var marquee_spd =3000;
var step_c = 0;

function marquee_init() {
obj_marquee = document.getElementById("marquee");
var obj_unit = obj_marquee.firstChild;
var n = Math.ceil(parseInt(obj_marquee.style.height) / obj_unit.offsetHeight);
for(var i=0; i<n; i++) obj_marquee.appendChild(obj_unit.cloneNode(true));
return;
}

function marquee_show() {
var marquee_high = parseInt(obj_marquee.style.height);
var step = marquee_high/10;
if(obj_marquee.scrollTop >= obj_marquee.children[1].offsetTop) {
obj_marquee.scrollTop = 0;
marquee_show();
return;
}
obj_marquee.scrollTop += step;
if(step_c++ < 9) setTimeout("marquee_show()", 50);
return;
}

function x()
{
marquee_init();
setInterval("step_c=0;setTimeout('marquee_show()',50)", marquee_spd);
}
</script>
</body>
myhyli 2005-06-16
  • 打赏
  • 举报
回复
为什么不把这些都留到onload以后执行?包括最开头的var obj_marquee = document.getElementById("marquee");和后面的marquee_init();
setInterval("step_c=0;setTimeout('marquee_show()',50)", marquee_spd);
对象的交互必须在页面已经可以交互以后才可以执行

hch686 2005-06-16
  • 打赏
  • 举报
回复
谢谢net_lover(孟子E章) :还是有问题
第一种方法,程序首次打开页面会执行,刷新后浏览器还是会当掉
第二中方法,脚本不执行
孟子E章 2005-06-16
  • 打赏
  • 举报
回复
marquee_init();
setInterval("step_c=0;setTimeout('marquee_show()',50)", marquee_spd);
这2行最好放 <body onload="">里
孟子E章 2005-06-16
  • 打赏
  • 举报
回复
脚本放最后


<!---------------------------------------------------------------------->
<!--滚动图片新闻-->
<center>
<div id="marquee" style="overflow:hidden;height:112px;width:436px;border:0px;padding:0px;">
<div style="border:0px;padding:0px">
<!-- Marquee Body Head -->
<TABLE WIDTH=436 BORDER=0 CELLPADDING=0 CELLSPACING=0>
<TR>
<TD>
<IMG SRC="images/index_17_01.gif" WIDTH=1 HEIGHT=111 ALT=""></TD>
<TD>
<IMG SRC="images/index_17_02.gif" WIDTH=8 HEIGHT=111 ALT=""></TD>
<TD>
<IMG SRC="images/index_17_03.gif" WIDTH=130 HEIGHT=111 ALT=""></TD>
<TD>
<IMG SRC="images/index_17_04.gif" WIDTH=10 HEIGHT=111 ALT=""></TD>
<TD>
<IMG SRC="images/index_17_05.gif" WIDTH=130 HEIGHT=111 ALT=""></TD>
<TD>
<IMG SRC="images/index_17_06.gif" WIDTH=9 HEIGHT=111 ALT=""></TD>
<TD>
<IMG SRC="images/index_17_07.gif" WIDTH=131 HEIGHT=111 ALT=""></TD>
<TD>  </TD>
</TR>
</TABLE>
<!-- Marquee Body Bottom -->
</div>
</div>
</center>
<script language="JavaScript">
var obj_marquee = document.getElementById("marquee");
var marquee_spd =3000;
var step_c = 0;

function marquee_init() {
var obj_unit = obj_marquee.firstChild;
var n = Math.ceil(parseInt(obj_marquee.style.height) / obj_unit.offsetHeight);
for(var i=0; i<n; i++) obj_marquee.appendChild(obj_unit.cloneNode(true));
return;
}

function marquee_show() {
var marquee_high = parseInt(obj_marquee.style.height);
var step = marquee_high/10;
if(obj_marquee.scrollTop >= obj_marquee.children[1].offsetTop) {
obj_marquee.scrollTop = 0;
marquee_show();
return;
}
obj_marquee.scrollTop += step;
if(step_c++ < 9) setTimeout("marquee_show()", 50);
return;
}

marquee_init();
setInterval("step_c=0;setTimeout('marquee_show()',50)", marquee_spd);

</script>
hch686 2005-06-16
  • 打赏
  • 举报
回复
没有人给分析吗,算了,谢谢net_lover(孟子E章)
给分了

87,922

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧