如何使用javascript创建连续图像字幕(create a continuous image marquee with javascript)

这个JavaScript创建了一个滚动框,其中的图像区域中的图像在显示区域中水平移动。当每个图像通过显示区域的一侧消失时,它将在图像系列的开始处读取。这将在选框中创建一个连续的图像滚动,只要有足够的图像填充选框显示区域的宽度,就会循环。...

这个JavaScript创建了一个滚动框,其中的图像区域中的图像在显示区域中水平移动。当每个图像通过显示区域的一侧消失时,它将在图像系列的开始处读取。这将在选框中创建一个连续的图像滚动,只要有足够的图像填充选框显示区域的宽度,就会循环。

Programming language

但是,此脚本确实有一些限制:

  • 图像以相同的大小(宽度和高度)显示。如果图像在物理上不相同,则它们都将被调整大小。这可能会导致图像质量差,因此最好始终调整源图像的大小。
  • 图像的高度必须与为选框设置的高度相匹配,否则,图像的大小将与上述不良图像的可能性相同。
  • 图像宽度乘以图像数量必须大于选框宽度。如果没有足够的图像,最简单的修复方法就是重复阵列中的图像以填补空白。
  • 该脚本提供的唯一交互是当鼠标移到字幕上时停止滚动,当鼠标移离图像时恢复滚动。我们稍后将描述一个修改,可以将所有图像转换为链接。
  • 如果页面上有多个选框,它们都以相同的速度运行,因此将鼠标悬停在其中任何一个上都会导致它们停止移动。
  • 你需要你自己的图像。示例中的内容不属于此脚本的一部分。

图像字幕javascript代码

首先,复制以下JavaScript并将其保存为marquee.js。

此代码包含两个图像数组(用于示例页面上的两个选框),以及两个新的mq对象,其中包含要在这两个选框中显示的信息。

您可以删除其中一个对象,然后更改另一个对象以在页面上显示一个连续的选框,或者重复这些语句以添加更多的选框。

必须通过传递调用mqRotate函数​将选框定义为将处理旋转的后mqr。

varmqAry1=['graphics/img0.gif'、'graphics/img1.gif'、'graphics/img2.gif'、'graphics/img3.gif'、'graphics/img5.gif'、'graphics/img6.gif'、'graphics/img7.gif'、'graphics/img8.gif'、'graphics/img9.gif'、'graphics/img10.gif'、'graphics/img11.gif'、'graphics/img12.gif'、'graphics/img12.gif'、'graphics/img13.gif'、'graphics/img14.gif';

varmqAry2=['graphics/img5.gif'、'graphics/img6.gif'、'graphics/img7.gif'、'graphics/img8.gif'、'graphics/img9.gif'、'graphics/img10.gif'、'graphics/img11.gif'、'graphics/img12.gif'、'graphics/img13.gif'、'graphics/img14.gif'、'graphics/img0.gif'、'graphics/img1.gif'、'graphics/img10.gif'、'graphics/img10.gif'、'graphics/img10.gif'、';

函数start();

//连续图像字幕//版权所有Stephen Chapman于2008年7月24日/http://javascript.about.com// 授予在网页上使用此Javascript的权限//前提是此脚本中的以下所有代码(包括这些//注释)均在不作任何更改的情况下使用

var mqr=[];functionmq(id,ary,wid){this.mqo=document.getElementById(id);var heit=this.mqo.style.height;this.mqo.onmouseout=function(){mqRotate(mqr);};this.mqo.ary=[];var w=ary.length;for(vari=0;i<maxw;i++){this.mqo.ary[i]=document.createElement('img');this.mqo.maxary=src];this.mqo.ary[i].style.position='absolute';this.mqo.ary[i].style.left=(wid*i)+'px';this.mqo.ary[i].style.height=heit;this.mqo.appendChild(this.mqo.ary[i]);}mqr.push(this.mqo);}函数mqr旋转(mqr){if(!mqr)返回;for(var=mqr.length-1;j>-1;j=maxary=mqr-[j](var i=0;i<maxa;i++){var x=mqr[j].ary[i].style;x.left=(parseInt(x.left,10)-1++px';}var y=mqr[j].ary[0].style;if(parseInt(y.left,10)+parseInt(y.width,10)<0){var z=mqr[j].shift();z.style.left=(parseInt(z.style.left=(parseInt(z.style.left.width)*maxa

接下来,将以下代码添加到页面的标题部分:

<script type=“text/javascript”src=“marquee.js”&gt&lt/脚本>

添加样式表命令

我们需要添加一个样式表命令来定义每个字幕的外观。

下面是我们在示例页面上使用的代码:

.marquee{位置:相对;溢出:隐藏;宽度:500px;高度:60px;边框:纯黑1px;}

您可以为您的选框更改任何这些属性;然而,它必须保持相对位置。

如果有外部样式表,可以将其放置在外部样式表中,也可以将其括在<style type=“text/css”&gt&lt/风格>标签在页面的头部。

定义将放置选框的位置

下一步是在网页中定义一个div,在其中放置图像字幕。

第一个示例框使用了以下代码:

<div id=“m1”class=“marquee”&gt&lt/部门>

该类将其与样式表代码相关联,而id是我们将在新的mq()调用中用于附加图像字幕的id。

确保您的代码包含正确的值

将所有这些放在一起的最后一件事是确保在页面加载后在JavaScript中添加mq对象的代码包含正确的值。

下面是其中一个示例语句的样子:

新mq('m1',mqAry1,60);

  • m1是显示字幕的div标签的id。
  • mqAry1是对将显示在字幕中的图像数组的引用。
  • 最终值60是图像的宽度(图像将从右向左滚动,因此高度与我们在样式表中定义的高度相同)。

要添加额外的字幕,我们只需在HTML中设置额外的图像数组、额外的div,可能还需要设置额外的类,以便对字幕进行不同的样式设置,并添加尽可能多的新mq()语句。我们只需要确保mqRotate()调用跟随它们为我们操作字幕。

将字幕图像制作成链接

要将字幕中的图像变成链接,只需进行两项更改。

首先,将图像数组从图像数组更改为数组数组,其中每个内部数组由位置0中的图像和位置1中的链接地址组成。

变量mqAry1=['graphics/img0.gif'、'blcmarquee1.htm'、['graphics/img1.gif'、'blclockm1.htm']、…['graphics/img14.gif'、'bltypewriter.htm'];

第二件事是用以下内容替换脚本的主要部分:

//带链接的连续图像字幕//版权所有Stephen Chapman于2008年9月21日/http://javascript.about.com// 授予在网页上使用此Javascript的权限//前提是此脚本中的以下所有代码(包括这些//注释)在没有任何更改的情况下使用;var mqr=[];函数mq(id,ary,wid){this.mqo=document.getElementById(id);var heit=this.mqo.style.height;this.mqo.onmouseout=function(){mqRotate(mqr);};this.mqo.mary=[];var w=ary.length;for(var i=0;i<maxw;i++){var img=document.createElement('img');img.src=ari[i][0];var lnk=document.createElement('a');lnk.href=ary[i][1];lnk.appendChild(img);this.mqo.ary[i]=document.createElement('div');this.mqo.ary[i]。this.mqo.ary[i]。style.position='absolute';this.mqo.ary[i]。style.left=(wid*i)+'px';this.mqo.ary[i]。style.width=wid+'px';this.mqo.ary[i]。style.high=heit;this.mqo.appendChild(this.mqo.ary[i]);}mqr.push(this.mqo);}函数mqRotate(mqr){if(!mqr)return;for(var j=mqr.length-1;j--){maxa=mqr[j].ary.length;for(var i=0;i<maxa;i++){var x=mqr[j].ary[i].style;x.left=(parseInt(x.left,10)-1)+'px';(parseInt)(parseInt)(parseInt)(parseInt)var=y=mqr[j].ari 0].if[10].ary.shift();z.style.left=(parseInt(z.style.left)+parseInt(z.style.width)*maxa)+'px';mqr[j].ary.push(z);}}}mqr[0]。TO=setTimeout('mqRotate(mqr)'10);}

剩下的你们需要做的事情和描述的并没有链接的字幕版本是一样的。

  • 发表于 2021-09-20 08:15
  • 阅读 ( 217 )
  • 分类:编程

你可能感兴趣的文章

如何通过3个简单的步骤构建javascript幻灯片

... 今天我将向您展示如何从头开始构建JavaScript幻灯片。我们直接跳进去! ...

  • 发布于 2021-03-13 17:20
  • 阅读 ( 233 )

如何建立一个网站:初学者

... 您将使用HTML、CSS和JavaScript生成这个网站,并使用jQuery(jQuery指南)进行操作。你不会做什么真正的前沿,所以这段代码应该在大多数现代浏览器中都能很好地工作。 ...

  • 发布于 2021-03-15 13:25
  • 阅读 ( 246 )

什么是javascript?它是如何工作的?

JavaScript已经成为现代web开发的主流。这种强大的语言已经发展成为任何web开发人员都能理解的基本工具。 ...

  • 发布于 2021-03-18 04:01
  • 阅读 ( 264 )

如何使用java和处理创建惊人的网络摄像头效果

... 如果你不喜欢Java,那么有一个基于处理的JavaScript库叫做p5.js。它是基于浏览器的,甚至初学者也可以使用它来创建奇妙的反应动画! ...

  • 发布于 2021-03-21 14:43
  • 阅读 ( 339 )

理解基本html代码的5个步骤

... html如何与css和javascript连接 ...

  • 发布于 2021-03-21 16:54
  • 阅读 ( 253 )

开始游戏开发阶段

...个创建2D视频游戏的框架。它使用html5canvas来显示游戏,JavaScript来运行游戏。使用Phaser而不是vanilla JavaScript的好处是,它有一个广泛的库,可以完成视频游戏的大部分物理特性,使您能够集中精力设计游戏本身。 ...

  • 发布于 2021-03-30 00:58
  • 阅读 ( 228 )

30个伟大的photoshop技巧和技巧,帮助您的计算机图形技能

...。我们已经发表了许多关于使用Photoshop的技巧和窍门以及如何解决您可能遇到的恼人问题的文章。 这篇文章汇集了30个最好的技巧和窍门,我们已经记录,以帮助您获得最大的Photoshop。 10个常见的photoshop问题(以及如何在5分...

  • 发布于 2021-04-12 17:13
  • 阅读 ( 296 )

如何修复那些破坏好照片的暗影

...过那些很棒的照片,除了一堆会破坏图像的阴影?下面是如何挽救那张照片,并在几秒钟内把细节从阴影中带回来。 有了这个Photoshop和GIMP友好的方法,你可以把那些令人沮丧的“近乎完美”的照片变成伟大的图像。所以,让我...

  • 发布于 2021-04-12 20:40
  • 阅读 ( 181 )

50多个工具和技术,以消除图像背景在photoshop,pt 2

...现在我们正在深入研究这一说法。请继续阅读下一篇关于如何在Photoshop中移除背景的文章! 今天,我们将介绍掩蔽图像,以及为什么有些人喜欢掩蔽而不是擦除大块的图像,以及一系列使用掩蔽图像擦除方法移除所有这些图像...

  • 发布于 2021-04-12 23:21
  • 阅读 ( 145 )

如何使用javascript自动化photoshop节省时间

JavaScript可能与图像编辑器有什么关系?使用这种独立于平台的脚本语言,今天我们将学习创建自动化任务,无论是Mac版还是PC版的Photoshop都可以快跑。Photoshop有一个API(应用程序编程接口),允许那些有专门知识的人创建脚本...

  • 发布于 2021-04-13 04:51
  • 阅读 ( 225 )
b638482
b638482

0 篇文章

相关推荐