一个页面中运行2次这样的 JS 代码
一个页面中运行2次这样的JS代码出现的问题是无法运行,我修改了变成(所有的),但还是有一个无法运行。求大侠帮看看原因20分,不够再给。代码如下:<divid="Marqu...
一个页面中运行2次这样的 JS 代码 出现的问题是 无法运行,我修改了变成(所有的),但还是有一个无法运行。求大侠帮看看原因 20分,不够再给。代码如下:
<div id="Marquee1" style="height:300px; width:300px;overflow:hidden;">
<div style="height:100px; width:300px;background:blue"></div>
<div style="height:100px; width:300px;background:"></div>
<div style="height:100px; width:300px;background:blue"></div>
<div style="height:100px; width:300px;background:;"></div>
<div style="height:100px; width:300px;background:blue;"></div>
<div style="height:100px; width:300px;background:;"></div>
<div style="height:100px; width:300px;background:blue;"></div>
<div style="height:100px; width:300px;background:;"></div>
<div style="height:100px; width:300px;background:blue;"></div>
<div style="height:100px; width:300px;background:"></div>
</div>
<script>
var Marm = document.getElementById("Marquee1");
var child_divh=Marm.getElementsByTagName("div")
var picHh = 120;//移动高度
var scrollsteph=3;//移动步幅,越大越快
var scrolltimeh=20;//移动频度(毫秒)越大越慢
var stoptimeh=1000;//间断时间(毫秒)
var tmpHh = 0;
Marm.innerHTML += Marm.innerHTML;
function startr(){
if(tmpHh < picHh){
tmpHh += scrollsteph;
if(tmpHh > picHh )tmpHh = picHh ;
Marm.scrollTop = tmpHh;
setTimeout(startr,scrolltimeh);
}else{
tmpHh = 0;
Marm.appendChild(child_divh[0]);
Marm.scrollTop = 0;
setTimeout(startr,stoptimeh);
}
}
onload=function(){setTimeout(startr,stoptimeh)};
</script>
我修改了变量 变量 ,上面字打错了 抱歉。。。 总之我就是想在一个页面上 有2个地方需要这样的滚动代码。。。 展开
<div id="Marquee1" style="height:300px; width:300px;overflow:hidden;">
<div style="height:100px; width:300px;background:blue"></div>
<div style="height:100px; width:300px;background:"></div>
<div style="height:100px; width:300px;background:blue"></div>
<div style="height:100px; width:300px;background:;"></div>
<div style="height:100px; width:300px;background:blue;"></div>
<div style="height:100px; width:300px;background:;"></div>
<div style="height:100px; width:300px;background:blue;"></div>
<div style="height:100px; width:300px;background:;"></div>
<div style="height:100px; width:300px;background:blue;"></div>
<div style="height:100px; width:300px;background:"></div>
</div>
<script>
var Marm = document.getElementById("Marquee1");
var child_divh=Marm.getElementsByTagName("div")
var picHh = 120;//移动高度
var scrollsteph=3;//移动步幅,越大越快
var scrolltimeh=20;//移动频度(毫秒)越大越慢
var stoptimeh=1000;//间断时间(毫秒)
var tmpHh = 0;
Marm.innerHTML += Marm.innerHTML;
function startr(){
if(tmpHh < picHh){
tmpHh += scrollsteph;
if(tmpHh > picHh )tmpHh = picHh ;
Marm.scrollTop = tmpHh;
setTimeout(startr,scrolltimeh);
}else{
tmpHh = 0;
Marm.appendChild(child_divh[0]);
Marm.scrollTop = 0;
setTimeout(startr,stoptimeh);
}
}
onload=function(){setTimeout(startr,stoptimeh)};
</script>
我修改了变量 变量 ,上面字打错了 抱歉。。。 总之我就是想在一个页面上 有2个地方需要这样的滚动代码。。。 展开
若以下回答无法解决问题,邀请你更新回答
1个回答
展开全部
function fnMarquee(objID, options) {
var Marm = document.getElementById(objID);
var child_divh = Marm.getElementsByTagName("div")
options = options || {};
var picHh = options.picHh || 120; //移动高度
var scrollsteph = options.scrollsteph || 3; //移动步幅,越大越快
var scrolltimeh = options.scrolltimeh || 20; //移动频度(毫秒)越大越慢
var stoptimeh = options.stoptimeh || 1000; //间断时间(毫秒)
var tmpHh = 0;
Marm.innerHTML += Marm.innerHTML;
function startr() {
if (tmpHh < picHh) {
tmpHh += scrollsteph;
if (tmpHh > picHh) tmpHh = picHh;
Marm.scrollTop = tmpHh;
setTimeout(startr, scrolltimeh);
} else {
tmpHh = 0;
Marm.appendChild(child_divh[0]);
Marm.scrollTop = 0;
setTimeout(startr, stoptimeh);
}
}
setTimeout(startr, stoptimeh);
}
onload = function () { fnMarquee('Marquee1'); fnMarquee('Marquee2', {stoptimeh:100,picHh:200}); };
var Marm = document.getElementById(objID);
var child_divh = Marm.getElementsByTagName("div")
options = options || {};
var picHh = options.picHh || 120; //移动高度
var scrollsteph = options.scrollsteph || 3; //移动步幅,越大越快
var scrolltimeh = options.scrolltimeh || 20; //移动频度(毫秒)越大越慢
var stoptimeh = options.stoptimeh || 1000; //间断时间(毫秒)
var tmpHh = 0;
Marm.innerHTML += Marm.innerHTML;
function startr() {
if (tmpHh < picHh) {
tmpHh += scrollsteph;
if (tmpHh > picHh) tmpHh = picHh;
Marm.scrollTop = tmpHh;
setTimeout(startr, scrolltimeh);
} else {
tmpHh = 0;
Marm.appendChild(child_divh[0]);
Marm.scrollTop = 0;
setTimeout(startr, stoptimeh);
}
}
setTimeout(startr, stoptimeh);
}
onload = function () { fnMarquee('Marquee1'); fnMarquee('Marquee2', {stoptimeh:100,picHh:200}); };
追问
大哥 大哥 您太牛逼啦~
只是那个options = options || {}; 是啥DD哦 让速度变的不一样啦~~
追答
options = options || {};
像这样 fnMarquee('Marquee1'); 如果不传参数,设个空object, 不然后面会有null异常
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询