只是单纯的提取JS吗,还是要另外封装,要是单纯的提取到JS文件里,可能你哪里出错是因为调用的顺序不对------------------------------- pao.js//qswh's original and modifid by windy_sk <[email protected]> 20040120 function reportError(msg,url,line) { var str = "You have found an error as below: \n\n"; str += "Err: " + msg + " on line: " + line; alert(str); return true; } window.onerror = reportError; var obj_marquee = document.getElementById("marquee"); var repeat = null; var marquee_spd = 50;function marquee_init() { var obj_unit = obj_marquee.firstChild; var marquee_high = parseInt(obj_marquee.style.height); var marquee_wide = parseInt(obj_marquee.style.width); var unit_high = obj_unit.offsetHeight; var unit_wide = obj_unit.offsetWidth; var m = 0, n = 0, i = 0; var tmp = null;
m = Math.ceil(marquee_wide / unit_wide); n = Math.ceil(marquee_high / unit_high); obj_unit.style.width = marquee_wide * (m+1); obj_unit.rows[0].cells[0].style.width = obj_marquee.style.width;
pao.js//qswh's original and modifid by windy_sk <[email protected]> 20040120
function reportError(msg,url,line) {
var str = "You have found an error as below: \n\n";
str += "Err: " + msg + " on line: " + line;
alert(str);
return true;
}
window.onerror = reportError;
var obj_marquee = document.getElementById("marquee");
var repeat = null;
var marquee_spd = 50;function marquee_init() {
var obj_unit = obj_marquee.firstChild;
var marquee_high = parseInt(obj_marquee.style.height);
var marquee_wide = parseInt(obj_marquee.style.width);
var unit_high = obj_unit.offsetHeight;
var unit_wide = obj_unit.offsetWidth;
var m = 0, n = 0, i = 0;
var tmp = null;
m = Math.ceil(marquee_wide / unit_wide);
n = Math.ceil(marquee_high / unit_high);
obj_unit.style.width = marquee_wide * (m+1);
obj_unit.rows[0].cells[0].style.width = obj_marquee.style.width;
for(i=0; i<m; i++) {
tmp = obj_unit.rows[0].insertCell(-1);
tmp.innerHTML = obj_unit.rows[0].cells[0].innerHTML;
tmp.style.width = marquee_wide;
tmp = null;
}
for(i=0; i<n; i++) {
obj_marquee.appendChild(obj_unit.cloneNode(true));
}
return;
}function marquee_show(direction) {
switch(direction) {
case "up":
if(obj_marquee.scrollTop >= obj_marquee.children[1].offsetTop) {
obj_marquee.scrollTop -= obj_marquee.firstChild.offsetHeight;
} else {
obj_marquee.scrollTop++;
}
break;
case "down":
if(obj_marquee.scrollTop <= 0) {
obj_marquee.scrollTop += obj_marquee.firstChild.offsetHeight;
} else {
obj_marquee.scrollTop--;
}
break;
case "left":
if(obj_marquee.scrollLeft >= obj_marquee.firstChild.rows[0].cells[0].offsetWidth) {
obj_marquee.scrollLeft -= obj_marquee.firstChild.rows[0].cells[0].offsetWidth;
} else {
obj_marquee.scrollLeft++;
}
break;
case "right":
if(obj_marquee.scrollLeft <= 0) {
obj_marquee.scrollLeft += obj_marquee.firstChild.rows[0].cells[0].offsetWidth;
} else {
obj_marquee.scrollLeft--;
}
break; default:
break;
}
return;
}function marquee_doit() {
var direction = "";
direction = obj_marquee.getAttribute("direction");
if(direction != null) marquee_show(direction);
direction = obj_marquee.getAttribute("direction2");
if(direction != null) marquee_show(direction);
return;
}
marquee_init();
repeat = setInterval("marquee_doit()",marquee_spd);
marquee.onmouseover = function() {clearInterval(repeat);}
marquee.onmouseout = function() {repeat=setInterval("marquee_doit()",marquee_spd);}
test.html
-------------------------------------------------
<div id="marquee" direction="up" style="overflow: hidden; height: 125px; width: 170px;">
<table>
<tr>
<td id="tdPao" runat="server">
<div>111111</div>
<div>222222</div>
<div>333333</div>
<div>444444</div>
<div>555555</div>
<div>666666</div>
<div>777777</div>
</td>
</tr>
</table>
</div>
<script language="JavaScript" src="pao.js"></script>