大家好,新手请帮忙
1、d.step=step;d.samont=samont,d在这里边是一个<div>,<div>有这两个属性吗?是什么意思
2、scrolln(this.id),个人理解这个函数跟scrolln(id,samont,step)不是同一个函数,那么这个函数在那里声明了呢?
3、如果scrolln(this.id)和scrolln(id,samont,step)是同一个函数,这个scrolln应该有3个参数,他这里为什么只有一个参数?同理 handle=setInterval("scrolln('"+id+"')",d.samont)中"scrolln('"+id+"')"也是只有一个参数?
4、d.removeChild(o); d.appendChild(o);d.firstChild;scrolln(this.id),这些是不是都是<div>的固有属性或方法?
5、为什么嵌套<div>?<!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>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无缝滚动</title>
</head>
<body>
<style>a{display:block;font-size:15px};</style>
<div id="div1" style="width:300px;height:68px;overflow:hidden">
<div id="div2" style="margin-top:0px;line-height:20px;">
<a href="javascript:">1,你可曾有过无数的梦想,</a>
<a href="javascript:">2,却在时光的流逝里幻灭 </a>
<a href="javascript:">3,你可曾对未来期待憧憬,</a>
<a href="javascript:">4,却在成长的岁月中迷失</a>
<a href="javascript:">5,CSDN中国程序员论坛</a>
<a href="javascript:">6,大家一起来</a>
<a href="javascript:">7,好象都很不错的样子</a>
</div> </div>
<input type=text id=text1>
<script>
var bb;
var handle
function scrolln(id,samont,step)
{
var d=document.getElementById(id);
if(!handle)
{ if(step)
{
d.step=step;d.samont=samont;
}
handle=setInterval("scrolln('"+id+"')",d.samont);//不同的是setTimeout()是一次性作用,而setInterval()是每隔iMilliSeconds就执行一次
d.onmouseover=function()
{
clearInterval(handle);
handle=null;
}
d.onmouseout=function()
{
scrolln(this.id)
}
}
var top=parseInt(d.style.marginTop); // 方法用于字符串转换为数字
var lineheight=parseInt(d.style.lineHeight); if(top>-lineheight)
{
d.style.marginTop=(top-d.step)+"px";
//text1.value= d.style.marginTop+"/"+top+"/"+lineheight+"/"+d.step+"/"+d.firstChild;
}
else
{
do
{
var o=d.firstChild;
d.removeChild(o);
d.appendChild(o);
}
while(!d.firstChild.tagName)
d.style.marginTop="0px";
}
}
//第一个参数为要滚动块的标签id,第二个参数为滚动间隔时间,第三个参数为滚动距离px
scrolln("div2",100,1);
</script>
</body>
</html>
1、d.step=step;d.samont=samont,d在这里边是一个<div>,<div>有这两个属性吗?是什么意思
2、scrolln(this.id),个人理解这个函数跟scrolln(id,samont,step)不是同一个函数,那么这个函数在那里声明了呢?
3、如果scrolln(this.id)和scrolln(id,samont,step)是同一个函数,这个scrolln应该有3个参数,他这里为什么只有一个参数?同理 handle=setInterval("scrolln('"+id+"')",d.samont)中"scrolln('"+id+"')"也是只有一个参数?
4、d.removeChild(o); d.appendChild(o);d.firstChild;scrolln(this.id),这些是不是都是<div>的固有属性或方法?
5、为什么嵌套<div>?<!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>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无缝滚动</title>
</head>
<body>
<style>a{display:block;font-size:15px};</style>
<div id="div1" style="width:300px;height:68px;overflow:hidden">
<div id="div2" style="margin-top:0px;line-height:20px;">
<a href="javascript:">1,你可曾有过无数的梦想,</a>
<a href="javascript:">2,却在时光的流逝里幻灭 </a>
<a href="javascript:">3,你可曾对未来期待憧憬,</a>
<a href="javascript:">4,却在成长的岁月中迷失</a>
<a href="javascript:">5,CSDN中国程序员论坛</a>
<a href="javascript:">6,大家一起来</a>
<a href="javascript:">7,好象都很不错的样子</a>
</div> </div>
<input type=text id=text1>
<script>
var bb;
var handle
function scrolln(id,samont,step)
{
var d=document.getElementById(id);
if(!handle)
{ if(step)
{
d.step=step;d.samont=samont;
}
handle=setInterval("scrolln('"+id+"')",d.samont);//不同的是setTimeout()是一次性作用,而setInterval()是每隔iMilliSeconds就执行一次
d.onmouseover=function()
{
clearInterval(handle);
handle=null;
}
d.onmouseout=function()
{
scrolln(this.id)
}
}
var top=parseInt(d.style.marginTop); // 方法用于字符串转换为数字
var lineheight=parseInt(d.style.lineHeight); if(top>-lineheight)
{
d.style.marginTop=(top-d.step)+"px";
//text1.value= d.style.marginTop+"/"+top+"/"+lineheight+"/"+d.step+"/"+d.firstChild;
}
else
{
do
{
var o=d.firstChild;
d.removeChild(o);
d.appendChild(o);
}
while(!d.firstChild.tagName)
d.style.marginTop="0px";
}
}
//第一个参数为要滚动块的标签id,第二个参数为滚动间隔时间,第三个参数为滚动距离px
scrolln("div2",100,1);
</script>
</body>
</html>
1.新闻标题<br>
2.新闻标题<br>
3.新闻标题<br>
</div> <script language="JavaScript">
marqueesHeight=120;
stopscroll=false;with(marquees){
style.width=0;
style.height=marqueesHeight;
style.overflowX="visible";
style.overflowY="hidden";
noWrap=true;
onmouseover=new Function("stopscroll=true");
onmouseout=new Function("stopscroll=false");
}
document.write('<div id="templayer" style="position:absolute;z-index:1;visibility:hidden"></div>');preTop=0; currentTop=0; function init(){
templayer.innerHTML="";
while(templayer.offsetHeight<marqueesHeight){
templayer.innerHTML+=marquees.innerHTML;
}
marquees.innerHTML=templayer.innerHTML+templayer.innerHTML;
setInterval("scrollUp()",150);
}
document.body.onload=init;function scrollUp(){
if(stopscroll==true) return;
preTop=marquees.scrollTop;
marquees.scrollTop+=1;
if(preTop==marquees.scrollTop){
marquees.scrollTop=templayer.offsetHeight-marqueesHeight;
marquees.scrollTop+=1;
}
}
</script>
没有时间看你后边的代码,试着猜测你的问题回答一下:1. javascript是“随意增加对象属性的”。比如一个<span id=abc>,你可以随便给它增加abc.p属性。javascript容易混乱,因为对属性的应用不预先进行语义分析,各处可以胡乱对属性进行增加、使用,是否冲突需要编程者用“心灵”去保证,而javascript并不保证。2. 呵呵,这是javascript!函数仅仅用名称来区分,不区分参数。3. 没有提供的参数,等价于用undifined(相当于c#的null)作为参数值。4. http://www.poptool.net/docs/dhtml/methods.html,http://www.poptool.net/docs/dhtml5. 没有看你的代码。猜一下:要想让首位衔接地滚动,需要让<div>中的被滚动对象是两个完全一样的,并且这两个的总长度(高度)大于<div>的长度(高度)。如果不大,就应该复制第三个.....。通常,你放入第一个,程序可能就自动把你放入的这个东西的InnerHTML复制一份或者多份。所以你可以在<div>里边放入一个<div>,程序自动对内部的<div>再抽取InnerHTML自动复制出多个内部<div>。