世界之窗论坛's Archiver

流云万变 发表于 2008-12-5 15:17

JAVASCRIPT支持问题

今天做公司网站圣诞改版,网站是用ASP.NET做的,为了实现雪花飘落效果,本人写了一个JAVASCRIPT脚本,ASP.NET的页面在TW中运行,发现脚本运行速度非常缓慢,同比在IE6/7中速度都比较快,
而在HTML的静态页面中就正常,希望开发组验证一下

HTML页面代码如下:
<html>
<title></title>
<head>
<SCRIPT language="javascript">
<!--
function snowStart(dot_number)
{//启动雪花飘落过程(参数dot_number:雪花点数目)
    var i,snow_dot_html,dot_image;
    dot_image = "../img/snow1.GIF";//雪花点图像
    snow_dot_html = '<IMG id="snow_dot" border="0" src="' + dot_image;
    snow_dot_html += '" style="position: absolute; left: -1; top: -1" width="20" height="20">';
    for(i=0;i<dot_number;i++)
    {//为当前文档添加多个表示雪花的IMG标记,并给出相同的id,以便以数组形式访问这些图像
        document.write(snow_dot_html);
    }
    snowing();
}

function snowing()
{//移动雪花点的位置,以模拟雪花飘落
    var body_width,body_height,i,dot,tempy;
    body_width = document.body.clientWidth;
    body_height = document.body.clientHeight;
       for(i=0;i<snow_dot.length/2;i++)
    {//移动每个雪花
        dot = snow_dot[i];//某个雪花对象
        if(tempinfo==0)
        {
                    dot.own_Y = 50+document.body.clientHeight/(snow_dot.length/2)*i;  //Y坐标值
                           
                                dot.own_am = Math.random()*40;//(左右)摆动幅度
            dot.own_X = Math.random()*60 ;
                        dot.own_X1=dot.own_am + 1000;
            dot.own_dx = 0;

        }
            dot.own_offsetY = Math.random()*3;//Y轴方向的偏移量
            
            //(左右)摆动幅度

            dot.own_dx_offset =  0.05 + Math.random()/10;
        if(dot.style.pixelTop<0 || dot.style.pixelTop > (body_height - dot.height - 5))
        {//如果雪花点落在可视浏览区之外,则重新设置其初始位置
           dot.own_Y=0;
        }
        dot.own_dx += dot.own_dx_offset;
        dot.own_Y  +=  dot.own_offsetY;
        dot.style.pixelTop  =  dot.own_Y;
        dot.style.pixelLeft =  body_width -100-(dot.own_X + dot.own_am * Math.sin(dot.own_dx));
     
    }
        for(i=snow_dot.length/2;i<snow_dot.length;i++)
    {//移动每个雪花
             dot = snow_dot[i];//某个雪花对象
        if(tempinfo==0)
        {
                    dot.own_Y = 50+document.body.clientHeight/(snow_dot.length/2)*(i-snow_dot.length/2);  //Y坐标值
                                dot.own_am = Math.random()*60;//(左右)摆动幅度
            dot.own_X = Math.random()*60 ;
                        dot.own_X1=dot.own_am + 1000;
            dot.own_dx = 0;

        }
            dot.own_offsetY = Math.random()*3;//Y轴方向的偏移量
            
            //(左右)摆动幅度

            dot.own_dx_offset =  0.05 + Math.random()/10;
        
        if(dot.style.pixelTop<0 || dot.style.pixelTop > (body_height - dot.height - 5))
        {//如果雪花点落在可视浏览区之外,则重新设置其初始位置
           dot.own_Y=0;
        }
        dot.own_dx += dot.own_dx_offset;
        dot.own_Y  +=  dot.own_offsetY;
        dot.style.pixelTop  =  dot.own_Y;
        dot.style.pixelLeft =  dot.own_X + dot.own_am * Math.sin(dot.own_dx)+50;

    }         tempinfo=1;
    self.setTimeout("snowing()",40);
}
//-->
</SCRIPT>

<SCRIPT language="javascript">
<!--
function snowStart1(dot_number)
{//启动雪花飘落过程(参数dot_number:雪花点数目)
    var i,snow_dot_html,dot_image;
    dot_image = "../img/snow2.GIF";//雪花点图像
    snow_dot_html = '<IMG id="snow_dot1" border="0" src="' + dot_image;
    snow_dot_html += '" style="position: absolute; left: -1; top: -1" width="10" height="10">';
    for(i=0;i<dot_number;i++)
    {//为当前文档添加多个表示雪花的IMG标记,并给出相同的id,以便以数组形式访问这些图像
        document.write(snow_dot_html);
    }
    snowing1();
}

function snowing1()
{//移动雪花点的位置,以模拟雪花飘落
    var body_width,body_height,i,dot,tempy;
    body_width = document.body.clientWidth;
    body_height = document.body.clientHeight;
       for(i=0;i<snow_dot1.length/2;i++)
    {//移动每个雪花
        dot = snow_dot1[i];//某个雪花对象
        if(tempinfo1==0)
        {
                    dot.own_Y = 50+document.body.clientHeight/(snow_dot1.length/2)*i;  //Y坐标值
                                dot.own_am = Math.random()*40;//(左右)摆动幅度
            dot.own_X = Math.random()*60 ;
                        dot.own_X1=dot.own_am + 1000;
            dot.own_dx = 0;

        }
            dot.own_offsetY = Math.random()*3;//Y轴方向的偏移量
            
            //(左右)摆动幅度

            dot.own_dx_offset =  0.05 + Math.random()/10;
        if(dot.style.pixelTop<0 || dot.style.pixelTop > (body_height - dot.height - 5))
        {//如果雪花点落在可视浏览区之外,则重新设置其初始位置
           dot.own_Y=0;
        }
        dot.own_dx += dot.own_dx_offset;
        dot.own_Y  +=  dot.own_offsetY;
        dot.style.pixelTop  =  dot.own_Y;
        dot.style.pixelLeft =  body_width -100-(dot.own_X + dot.own_am * Math.sin(dot.own_dx));
     
    }
        for(i=snow_dot1.length/2;i<snow_dot1.length;i++)
    {//移动每个雪花
             dot = snow_dot1[i];//某个雪花对象
        if(tempinfo1==0)
        {
                    dot.own_Y = 50+document.body.clientHeight/(snow_dot1.length/2)*(i-snow_dot1.length/2);  //Y坐标值
                                dot.own_am = Math.random()*60;//(左右)摆动幅度
            dot.own_X = Math.random()*60 ;
                        dot.own_X1=dot.own_am + 1000;
            dot.own_dx = 0;

        }
            dot.own_offsetY = Math.random()*3;//Y轴方向的偏移量
            
            //(左右)摆动幅度

            dot.own_dx_offset =  0.05 + Math.random()/10;
        
        if(dot.style.pixelTop<0 || dot.style.pixelTop > (body_height - dot.height - 5))
        {//如果雪花点落在可视浏览区之外,则重新设置其初始位置
           dot.own_Y=0;
        }
        dot.own_dx += dot.own_dx_offset;
        dot.own_Y  +=  dot.own_offsetY;
        dot.style.pixelTop  =  dot.own_Y;
        dot.style.pixelLeft =  dot.own_X + dot.own_am * Math.sin(dot.own_dx)+50;

    }
    tempinfo1=1;
    self.setTimeout("snowing1()",20);
}
//-->
</SCRIPT>
</head>
<body>
<script>
var tempinfo=0;
var tempinfo1=0;
snowStart(30);
snowStart1(50);
</script>
</body>
</html>
这个运行正常,但在ASPX页面中就不正常了[/i][/i][/i][/i]
[i]上面用到的两个图片在下面[/i]


下面这个是编译好的ASPX文件,.NET 3.5环境,开发组可以在IIS中看一下,雪花飘动不正常

[[i] 本帖最后由 流云万变 于 2008-12-5 16:03 编辑 [/i]]

duckZCX 发表于 2008-12-5 15:26

:ding: :ding: 貌似少了个雪花的图片。楼主上传完整让偶们试试呢?

流云万变 发表于 2008-12-5 16:05

自己顶一下,希望能重视一下,另外说一下,还有页面FLASH的问题,有时候显示正常,有时候不正常

168 发表于 2008-12-5 17:09

[quote]原帖由 [i]流云万变[/i] 于 2008-12-5 16:05 发表 [url=http://bbs.ioage.com/cn/redirect.php?goto=findpost&pid=715595&ptid=72140][img]http://bbs.ioage.com/cn/images/common/back.gif[/img][/url]
自己顶一下,希望能重视一下,另外说一下,还有页面FLASH的问题,有时候显示正常,有时候不正常 [/quote]
给个测试页面



[attach]57210[/attach]

[[i] 本帖最后由 needed 于 2008-12-5 18:18 编辑 [/i]]

needed 发表于 2008-12-5 18:19

楼上的朋友不好意思...
无意修改了你的帖子....我明明点回复的....[twface_tk_27]

168 发表于 2008-12-5 18:51

[quote]原帖由 [i]needed[/i] 于 2008-12-5 18:19 发表 [url=http://bbs.ioage.com/cn/redirect.php?goto=findpost&pid=715720&ptid=72140][img]http://bbs.ioage.com/cn/images/common/back.gif[/img][/url]
楼上的朋友不好意思...
无意修改了你的帖子....我明明点回复的....[twface_tk_27] [/quote]
加点分补偿一下哈:funk:

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.