chiname

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

国庆来了,手机加油站(http://www.sjjyz.com)的首页也想带给访问客人一点喜悦的感觉,于是美工做了两个flash分别放在网页的两边空白的地方,同时想让它们随页面滚动而滚动,有浮动的感觉。
在实现滚动的效果时,我开始按习惯用了js的事件body onscroll来做。但做好后发现在滚动时两个flash有点卡卡的感觉,像抽筋一样,给人感觉很不好,我就尝试着用css 的expression来实现效果,发现结果要好得多,抽筋的感觉一点也没有了。

代码如下:

        <style> 
            #flashRight 
{ POSITION: absolute; TOP: expression(lockTop());    LEFT:expression(lockLeft(false)); } 
            #flashLeft 
{ POSITION: absolute; TOP: expression(lockTop());    LEFT:expression(lockLeft(true)); } 
        </style> 


 

        <script language="javascript"> 
        
function lockTop() 
        

            
var _body=document.body; 
            
return _body.scrollTop; 
        }

        
function lockLeft(left)
        
{
            
if(left)
            
{
                
return    (screen.availWidth - 777)/2 - 134;
            }

            
else
            
{
                
return    (screen.availWidth - 777)/2 + 770;        
            }

        }

        
</script> 

 可以看到代码也变得很简单

        <div id="flashRight">
            
         
</div>
         
<div id="flashLeft">
            
        
</div>


具体效果可以到http://www.sjjyz.com上去看,这两天会把这个改动拿上去。

 

posted on 2005-09-30 00:46 THIN 阅读(2368) 评论(6)  编辑 收藏 收藏至365Key 所属分类: DHTML & Javascript

评论:
# re: CSS expression VS Script event 2005-09-30 00:48 | THIN
(这段时间在做wap开发,所以博客没有怎么动,现在比较关注XHTML,希望它能在国内迅速普及起来,不过这也不是易事,像我们的手机加油站网站的代码也比较乱,也是没有资源来重构它。)

  
# re: CSS expression VS Script event 2005-09-30 01:08 | birdshome
expression的效率问题很严重,只建议在非常简单的映射关系中使用。比如在多层table嵌套中,使用expression的效率问题常常是致命的。
  
# re: CSS expression VS Script event 2005-09-30 01:16 | THIN
倒是不同意birdshome的观点,以前在table中用过这个,发现效果很滚畅自然
  
# re: CSS expression VS Script event 2005-09-30 01:31 | birdshome
我猜你说的固定表头那种简单的操作,那个映射非常简单。
  
# re: CSS expression VS Script event 2005-09-30 08:11 | commenter
希望有一天可以使用C#来编辑Script
  
# re: CSS expression VS Script event 2005-09-30 09:45 | THIN
不是,以前常做的事就是表格套表格
posted on 2005-11-04 08:57  把我的欢乐带给你  阅读(219)  评论(0)    收藏  举报