滚动效果的解释

来源:互联网 发布:marvis牙膏淘宝上价钱 编辑:程序博客网 时间:2024/06/04 08:04

<SCRIPT language=JavaScript>
<!-- Hide
function killErrors()
{
return true;
}
window.onerror = killErrors;
//文档加载出错的时候隐藏出错信息
//清除所有的JS错误

//onerror当对象装载过程中发生错误时触发
//在页面没有错误时,window.onerror事件是不存在的,也就是null,我们一般通过函数名传递的方式(引用的方式)将要执行的操作函数

传//递给onerror事件,如window.onerror=reportError;window.onerror=function(){alert('error')},但我们可能不知道该事件触发时还带

有//三个默认的参数,他们分别是错误信息,错误页面的url和错误行号。
//http://blog.csdn.net/bai_bzl/archive/2007/10/26/1844284.aspx
//-->
</SCRIPT>
<SCRIPT language=JavaScript>
<!--//
 var x = 0;//x坐标
 var y = 0;//y坐标
 var limdex = 1100;//整个框架的距离长度
 var dest = 0;//???
 var distance = 0;//距离
 var step = 0;//??
 var destination = 0;//目的地
 var on = true;//移动开关

function scrollit(destination) //起什么作用  ????
{
 step = 3;
 dest = destination;
 if (x<dest & x < limdex){
  while (x<dest) {
   step += (step / 7);
   x += step;
   parent.frames[0].scroll(x,0);//框架向左移动X
  } 
                        // top.main.scroll(dest,0);
  if(dest <=limdex)
  { parent.frames[0].scroll(dest,0); }
  x = dest;
 }
 if (x > dest)  {
  while (x>dest) {
   step += (step / 7);
   if(x >= (0+step)) { x -= step; parent.frames[0].scroll(x,0); }
   else break;
  }
  if(dest >= 0) { parent.frames[0].scroll(dest,0); }
  x = dest;
 }
 if (x<1) { parent.frames[0].scroll(1,0); x=1 }//先执行这里 这里移动了1
 if (x>limdex) { parent.frames[0].scroll(limdex,0); x=limdex }
 x = dest;
}

function scrollnow()//滚动的代码设置
 {
                if (on)//为真的时候就代表鼠标离开了 即事件onmouseout被触发
                {
                if (x < limdex & x >= 0 )
 {             
                                parent.frames[0].scroll(x,0);
                           
                        x = x + 1;
                       
                        setTimeout('scrollnow()',8);//定时器,指定时间后执行指定的语句  第2个参数为毫秒
       
                }
                else if (x < 0) {
               
                        x = limdex;
                        scrollnow();
                }
            else {
               
                x=0;
                scrollnow();
                }
                }

}

// *********************************
// 去掉原来的stopscroll()
function stopscroll()// 停止滚动
 {
        if (on)
{
        on = false;
        }
        else {
        on = true;
        scrollnow();
        }
}
function startscroll() //滚动开始
{ on = true; scrollnow(); }
function stop_start()//控制滚动的开关
 {
 if (on){ on = false;}
else { on = true;scrollnow();}
}
scrollnow();
//-->

</SCRIPT>

 

带??是自己不清楚的地方 以后好好学习了JAVASCRIPT在搞懂!

另外2个好的JS
1 发现显示不了的图片替换为预先设置的图片
基本思想就是遍历页面中图片。如果发现失效则自动替换为预先设定的图片。
代码如下(这是个比较有用的代码):<!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" xml:lang="en"

lang="en">
<head>
<title></title>
<script type="text/javascript">
    function DispErrImg(){
        var imgs=document.getElementsByTagName("img");
        for(var i=0;i<imgs.length;i++)
            imgs[i].onerror=function(){this.src="http://www.blueidea.com/articleimg/usericon/xling.gif"}
    }
</script>
</head>
<body>
<div id="a"></div>
<img src="aaa.gif" width="200" height="100" />
<img src="bbb.gif" width="200" height="100" />
<img src="http://www.ajaxbbs.net/blog/images/emot/grin.gif" />
<img src="http://www.blueidea.com/articleimg/usericon/xling.gif" width="200" height="100" /
</body>
<script type="text/javascript">
DispErrImg();
</script>
</html>

 

 2  在页面中显示window.onerror信息
  

脚本调试工具是web开发者常用的检查页面错误的方法。再学习javascript的过程中,利用window.onerror将错误信息显示在页面的底部,利于

调试。可以关闭烦人的脚本调试框,使得错误一幕了然。

当然此种方法仅适用于开发的过程中,在系统正式投入使用后,这种方法会让用户觉得不能得到干净的页面。

具体代码如下:

<!--only for one error;-->
<SCRIPT LANGUAGE="JavaScript">
window.onerror=fnErrorTrap;
function fnErrorTrap(sMsg,sUrl,sLine){
createErrBlock();
document.getElementById("oErrorLog").innerHTML="<b>An error was thrown and caught.</b><p>";
document.getElementById("oErrorLog").innerHTML+="Error:"+sMsg+"<br>";
document.getElementById("oErrorLog").innerHTML+="Line:"+sLine+"<br>";
document.getElementById("oErrorLog").innerHTML+="Url:"+sUrl+"<br>";
//return false;->status bar also shows error-statue
//return true;->status bar also doesn't shows error-statue
return false;
}

function createErrBlock(){
//use for make a DIV block in dynamic manner
var docBody=document.getElementsByTagName("BODY").item(0);
var divError=document.createElement("DIV");
 divError.id="oErrorLog";
 //注意设定createElement的style时,只能用object.style.attribute的形式
 //不能用object.style="attribute:value"的形式
 divError.style.fontSize="10pt";
 docBody.appendChild(divError);

}
</SCRIPT>

<!--test sample-->
<input type="button" value="click" onclick="alrt('aa')">

在实际使用过程中,只要将<script></script>部分封装成一个js文件,需要的时候引用即可。

进一步设想,是否可以将错误与具体的文本编辑器相联。当发现运行错误时,即打开相应的文本编辑器(EditPlus),并定位到相应的行。这

样就会给调试带来很多方便,希望能在以后的学习过程中完成。