习之 的个人主页 注册

【原创】让背景图流动起来(草稿)

导语:

修改
字体调整: | |

发表于2009年11月23号 09点 阅读 8868 评论47 点赞0 ©著作权归作者所有

让背景图流动起来

要使图片移动起来,最常用的就是用Marquee字幕标签。它使用简单,代码也不复杂。但它的缺点是两次移动之间有一个空白过渡期,因此称为“有缝移动”。当然也可以用“跑马灯”让图片做无缝移动。但这些只适应普通图像,不能将“背景图”移动起来,除非采用复杂的定位技术。现在介绍一种用简单的JS脚本创造的背景图片移动效果,如上面的“布达拉宫”的背景:蓝天白云图。

背景图的显示与常规的图像显示是有区别的。它按图像的实际尺寸显示,不能通过width来调整它的显示大小。但作为背景,它可以在上面重叠另一张图(现在例子里是布达拉宫的gif图),或书写文字。另一个特点就是可以用CSS样式属性来改变它的显示位置和平铺特性。

从源代码的角度说,普通图用《img》标签显示,背景图常用《table》里的background属性显示。默然的状态:背景图在table的范围内满铺,位置的0点是table的左上角。要使背景图动起来就是利用这两个样式设置:利用它的满铺,并不断地改变它的起始位置。上面的实例就是每80毫秒让白云左移1px所产生的效果。

实例的源代码就在下面的代码框内。这里的重点是在table的标签内加了个属性设置:id = "bgmoveL" 这是指出要移动背景图就是这个table表的背景(background)图;在代码的最后加了一段简单的JS脚本。简单地说,标识id(identification)指出哪个背景图要移动,JS脚本是移动的动力。

JS实例的源代码:

 

要注意的是,id 标识名称(bgmoveL)在源代码里是唯一的,即在一个HTML文件里只能有一个。在JS文件里有相呼应的对象名称。(在JS里有好多个 bgmoveL)因此这个标识名不能随意更改。

在JS文件里,有两个需要关心的变量:mx和my。这是一对控制移动方向和步长的变量。mx设置X方向,正向为右;my设置y方向,正向为下(符合源代码里的坐标方向)。

mx=mx-1;的意思是x方向每一步向右移1px;

my=my ; 的意思是y方向不移动(相当于:my=my+0);

如果 mx=mx+1;就是说明x方向每一步向左移1px。

数值 1 是步长。要移得快点就用 2 。

上两期的《音画边框》中有一些边条在移动,就是用了不同的mx和my设置的方向。

下面是又一个应用实例:飞鸟只是一个原地闪翅膀但不移动的 gif 图像,而蓝天白云在做相对(右)移动。这也是Marquee实现不了的。

在这篇博客里有四个背景图在移动:边框上两个,例子两个。它们用了不同的id标识,为区别,连移动方向也是不一样的。

 
 

 


 

(注:您的设备不支持flash)

声明:以上内容仅用户个人行为,不代表本站(老小孩社区)观点,如有侵权或其他行为用户自己承担相关责任与本站无关。【举报文章】
点赞0 收藏 9 推送到圈子 分享
微信扫二维码分享

等0人点赞

本文作者

加好友
评论字体大小调节: | |

精选留言

您需要登录后才能回复

登录立即注册

请选择你想添加的收藏夹

新建收藏夹

收藏夹名称

©2017 老小孩网站版权所有 | 沪ICP备08012383号    举报电话:021-64323922
×
×