如果不牵扯动态加载图片用flash
动态加载用,在百度搜索:无缝滚动图片

解决方案 »

  1.   


    3楼的说法不太正确,
    因为计算机的显示原理,
    大体上是根据刷新频率,
    定期将显存中的内容显示到显示器上。
    因此,对于程序中的处理来说多数情况是和这个每秒25帧无关的。
    但如果向显存中描画图像的数据很花费时间的话,
    就会使描画的过程跨跃多个帧,
    这样就产生闪烁的现象。
    通常的做法是将图像生成后保存在内存中,
    然后使用块拷贝的命令将图像的数据整块复制到显存中。
    这样就不会有明显的闪烁感了,
    对于图像的移动来说,只是单纯的数据块移动。
    因此从原理上来说不应该有闪烁。我想应该还是marquee本身的问题吧。
    刚刚试了一下,直接用javascript代码实现的话,
    不会有太明显的闪烁。
      

  2.   

    随便做了个小例子,供参考。<html>
    <script language="javascript">
    var f = false;
    var the_timeout;

    function slide(){
    if( parseInt(div1.style.left) > 800 ) {
    div1.style.left = 0;
    } else {
    div1.style.left =parseInt(div1.style.left) + 3;
    }
    the_timeout = setTimeout( "slide();", 30 );
    }

    function switchSlide(){
    if( f == false ){
    slide();
    f = true;
    } else {
    clearTimeout( the_timeout );
    f = false;
    }
    }
    </script>
    <body>
    <input type="button" value="move" onclick="switchSlide()">
    <div id="div1" style='position:absolute; display:; cursor:hand; left:00px; top:40px; width:200px; height:100px; z-index:1' >
    <img src="1.JPG">
    </div>
    </body>
    </html>
      

  3.   

    4楼:这不就是显示时侯帧不够,才会出现抖动、闪烁的原因吗?以前我用Flash5时只能达到12帧,所以只能做动画,不能做视频。

    反对,
    我用VB使用图像框,快速移动仍然颤动,很多需要要用直接读取GDI或DirectX,听说半条命达到170Frame/s,所以闪烁的问题就是显示帧数的问题!怀疑js干不了这事,超出js的能力范围了。达到Marquee的一次1个像素移动的那种稳定度就可以了,就是要快点,你的程序试了,不行,抖动!你的效果和Marquee的一次2个像素的移动效果差不多!还有办法吗?

      

  4.   

    首先,给你的sample,你是否跑过了?看来你对了图像处理不是很了解,
    图像处理中,
    图像的描画,处理是比较花时间。
    如果让这样的操作直接在显存上进行,
    就会跨跃多个帧了。
    为什么呢?
    因为,计算机是定时从显存中读取数据的。
    也就是刷新频率了。
    怎么解决呢?
    就是让这些处理过程在内存中做,
    然后,使用数据块传送的命令传送到显存中。
    (当然,简单的说图像处理和图像的显示差不多是分别由CPU和GPU来完成的。)
    块传送的速度是非常快的。
    这样就不会有闪烁的现在。
    总的来说,只要你能保证在一次的刷新间隔中更新显存中的图像数据,
    就不会有闪烁的现象了。这个基础之上才能谈到你说的每秒25帧的问题。如果你做过VC开发,或者你用VB基于WINDOWS API做过图像处理的开发的话,
    就会知道,用VB也可以做出移动不闪烁程序的。
    当然,VB自己的绘图函数很简单,是做不出这样效果的。
    主要是原因就是上面说的那样。
    其实,VB下,有些控件也提供有上面所说的这样的属性来支持这样的处理。
      

  5.   

    首先,给你的sample,你是否跑过了? //上面已经说了,运行过了,有闪烁,我的机器是笔记本,没有独显,这个影响大吗?
    网页上能否更好的实现快速移动无闪烁?
      

  6.   

    抱歉,没有细看你前的内容。
    这个例子在我的机器上跑的时候没有明显的抖动。
    只是窗口的边缘稍微有些抖。你测试的图片有多大?
    我用的是1280*1024。
    不过我的机器配置比较高。
    我想和机器的配置是有关系的。你所说的独显,是指3D的显示卡。
    但这里用不到3D运算。
    现在的显示卡一般2D的性能都应该能满足要求了。
    因此和显示卡的关系不大,另外,应该和显示器有一定关系。