JavaScript 动态网页实例 —— 图像显示

        图像是网页设计中必不可少的内容之一,而图像的显示方式更是关系到网站的第一印象。本章介绍图像的显示,主要包括:图片的随机显示、图像的显示和隐藏、图像的滚动显示、图像的探照灯扫描显示、多幅图像的翻页显示、图像的水纹效果显示、全景图效果显示手电照射效果显示以及雷达扫描效果显示等。在这些显示效果中,应用了很多CSS的内容读者需要对CSS和JavaScript对CSS的处理有一定了解。

图片的随机显示

        本节给出一段图片随机显示的示例代码。页面出现一幅图像,不断刷新页面,则页面中的图像不断变化。

要点

本节代码主要使用了Math对象的random()方法和round()方法,主要功能和用法如下。

  • Math 对象用于进行属性运算。其属性是数学中一些常见的常数值。
  • 在 Math 对象的方法中,除random()外的所有方法都需要一个或几个参数。典型的是三角函数在作为一个参数的值上进行操作,其他参数决定传递的参数中哪一个是最大值或最小值。random()方法没有参数,返回0~1之间的随机浮点数。
  • Math 对象的 foor(n)返回一个小于或等于n的整数。
  • Math.random()方法返回0~1之间的随机浮点数,假如要设计一个掷骰子的游戏,需要生成1~6之间的随机数。如果要生成0和上限之间的随机数,可使用“Math.floor(Mathrandom()*n)”格式,其中n表示上限。
  • 若要生成不同范围的随机数,使用“Math.floor(Math.random()*n)+m”格式,其中m是下限,n是上限。
  • Math 对象的round(n)方法返回n的四舍五入值。
<script language="JavaScript">
<!--
a = 3 //要显示的图片的数量
var pp = Math.random();  //产生一个随机数
var foot = Math.round(pp * (a-1))+1; //由随机数产生要选择的图片的序号
function create() 
{ //自定义3个属性
this.src = ''
this.border = ''
this.alt = ''	
}
b = new Array()
for(var i=1; i<=a; i++)
{
b[i] = new create()
}  //创建3个数组
//分别定义每个图片的相关属性
b[1].src    = "图片的随机显示.1.gif"
b[1].border = "0"
b[1].alt    = ""
b[2].src    = "图片的随机显示.2.gif"
b[2].border = "0"
b[2].alt    = ""
b[3].src    = "图片的随机显示.3.gif"
b[3].border = "0"
b[3].alt    = ""
var pic = "";  //定义一个变量,存储要显示的图片的相关显示属性
pic += '<img width=222 src='+b[foot].src+' border="0"'+' alt='+b[foot].alt+'>';
document.write(pic) //将图片显示出来
//-->
</script>

分析

  • (1)程序首先使用“Math.random()”产生一个随机数,并将其存储在变量pp中,然后,使用“Math.round(pp*(a-1))+1”产生一个1到图片数量之间的随机数,并将其存储在变量 foot 中。
  • (2)函数 create()用于定义图像的3个属性:src、border 和 alt。
  • (3)随后,使用一个for 循环,定义了a个(a为图像个数)数组对象。然后,分别定义每个数组对象的src属性、border属性和alt属性。
  • (4)最后,使用一个 pic 变量将要显示的图像的属性连接起来,并使用document.write()方法将 pic 输出到页面上。

图像显隐

        本节给出一段图像显示和隐藏的示例代码,程序中出现一幅图像,不断刷新页面,页面中的图像不断显隐交替变化。

要点

本节代码主要使用了 setTimeout()方法、clearTimeout()方法、innerHtml属性、length属性和CSS滤镜的alpha属性,主要功能和用法如下。

  • Window对象支持一些设置计时器的方法,用于执行特定函数。这些方法包括setTimeout()和 clearTimeout( )。
  • setTimeout()方法的功能是设置一个超时,以便在将来的某个时间触发某段代码的运行。基本语法是“timerld=setTimeout(要执行的代码,以毫秒为单位的时间);”。其中,“要执行的代码”可以是一个函数,也可以是其他 JavaScript语句;“以毫秒为单位的时间”指代码执行前需要等待的时间,即超时的时间。
  • 可以在超时事件未执行前中止该超时设置,使用Window对象的 clearTimeout()方法来实现。其语法为“clearTimeout(timerld)”。
  • 不管是由构造函数 Amay()创建的数组,还是由数组直接量创建的数组,都有一个特殊的属性 length,用于说明这个数组包含的元素个数。由于数组可能包含未定义的元素所以属性 length 总是比数组最多元素的个数大1.和常规对象的属性不同,数组的 length属性总是自动更新的,以便在给数组添加新元素时能够保持更新。
  • 在JavaScript中,字符串是一组被引号(单引号或双引号)括起来的文本。例如,“varstringl="This is astring";”和“var string2='So am!,;”分别定义了两个字符串 string!和 string2。
  • 还可以使用 length()方法求出字符串的长度。例如对上述已定义的myName 字符串,可用“var strlen=myName.length();”求出其长度,得到的结果为 6。
  • Netscape 6+、Opera 7+以及【E 4+ 都支持非标准的 innerHTML 属性,该属性允许对HTML元素内容的简单读取和修改。
  • 在IE中,还支持innerText、outerText、outerHTML属性,innerText与innerHTML类似,只是用 innerText设置的内容都被作为纯文本处理。因此,不会生成相应的 HTML 元素。outerText与 outerHTML属性,分别和相对的 Inner 属性相似,只是这两个属性还对元素本身进行修改。
  • alpha属性的 opacity 为可选项,用于设置或检索透明渐变的开始透明度。是一个取值范围为0~100的整数值,默认值为0,即完全透明,100为完全不透明。
  • alpha 属性的 finishOpacity 为可选项,用于设置或检索透明渐变的结束透明度。是一个取值范围为0~100的整数值。默认值为0,即完全透明,100为完全不透明。
<script language=javaScript>
<!--

var i_strngth=1
var i_image=0
var imageurl = new Array()
//Ҫϔʾµij·ùͼƬ
imageurl[0] ="图像显隐.1.jpg"
imageurl[1] ="图像显隐.2.jpg"
imageurl[2] ="图像显隐.3.jpg"
function showimage()
{ 
if(document.all) 
{
if (i_strngth <=110) 
{
testimage.innerHTML="<img width=230 height=250 style='filter:alpha(opacity="+i_strngth+")' src="+imageurl[i_image]+" border=0>";
i_strngth=i_strngth+10
var timer=setTimeout("showimage()",100)
}
else 
{
clearTimeout(timer)
var timer=setTimeout("hideimage()",1000)
}
}
if(document.layers) 
{
clearTimeout(timer)
document.testimage.document.write("<img width=230 height=250 src="+imageurl[i_image]+" border=0>")
document.close()
i_image++
if (i_image >= imageurl.length) {i_image=0} 
var timer=setTimeout("showimage()",2000)
} 
}
function hideimage() 
{ 
if (i_strngth >=-10) 
{
testimage.innerHTML="<img width=230 height=250 style='filter:alpha(opacity="+i_strngth+")' src="+imageurl[i_image]+" border=0>";
i_strngth=i_strngth-10
var timer=setTimeout("hideimage()",100)
} 
else 
{
clearTimeout(timer)
i_image++
if (i_image >= imageurl.length) {i_image=0}
i_strngth=1
var timer=setTimeout("showimage()",500) 
}
}
//-->
</script>

分析

  • (1)程序首先定义了一个名为imageurl的数组,其中存放要显示的图像。读者可根据实际情况进行增、减。
  • (2)函数showimage()的功能用于显示图像。其中,区分正和Netscape 浏览器,在IE中,将要显示图像的相关属性存储在testimage.innerHTML中进行显示输出;在Netscape中,则通过 document.testimage.document.write()方法将图像输出至页面。
  • (3)函数hideimage()的功能用于隐藏图像。将要显示隐藏的相关属性存储在testimage.innerHTML中,通过设置其alpha( )属性来对图像进行隐藏。

图像滚动显示

本节给出一段图像滚动显示的示例代码,页面出现两组图像,两组图像分别沿水平方向和垂直方向滚动显示。

要点

本节代码主要使用了setTimeout()方法、onmouseover事件与onmouseout事件、Math 对象的 foor(n)方法、sin(n)方法、cos(n)方法、ceil(n)方法、random()方法,以及和网页元素坐标位置及尺寸等应用,主要功能和用法如下。

  • Window对象支持一些设置计时器的方法,用于执行特定函数。这些方法包括setTimeout()和 clearTimeout( )。
  • setTimeout()方法的功能是设置一个超时,以便在将来的某个时间触发某段代码的运行。基本语法是“(immerId=setTimeout(要执行的代码,以毫秒为单位的时间);”。其中,“要执行的代码”可以是一个函数,也可以是其他JavaScript语句;“以毫秒为单位的时间”指代码执行前需要等待的时间,即超时时间。
  • 可以在超时事件未执行前中止该超时设置,使用 Window 对象的 clearTimeout()方法来实现。其语法为“clearTimeout(timerld)”。
  • HTML 支持对绝大多数元素进行事件绑定,这些绑定通常作为元素的属性使用,例如onclick与 onouseover,可以使用等号与JavaScript 进行连接。当与之绑定的对象有事件发生时,就会执行相应的JavaScript代码。
  • onmouseover 事件,当鼠标移动过某个元素时被触发。可应用于大部分可显示元素,在正中还有<applet>、<font>,在Netscape Navigator 中还有<ilayer>、<layer>。
  • onmouseout事件,当鼠标移开某个元素(鼠标已不在元素上方)时被触发。可应用于大部分可显示元素,在E中还有<applet>、<font>,在Netscape Navigator 中还有<ilayer>、<layer>。
  • Math 对象用于进行属性运算。其属性是数学中一些常见的常数值。在Math 对象的方法中,除了 random()之外的所有方法都需要一个或几个参数。典型的是三角函数在作为一个参数的值上进行操作,其他参数决定传递的参数中哪一个是最大值或最小值。
  • Math.ceil(n)方法用于求大于或等于n的整数,参数n指定要进行运算的数值。与其对应的方法是 Math.floor(n)。
  • Math.random()方法返回0~1之间的随机浮点数,假如要设计一个掷骰子的游戏,需要生成1~6之间的随机数。如果要生成0和上限之间的随机数,可使用“Math.floor(Math.random()*n)”格式,其中n表示上限。
  • 若要生成不同范围的随机数,使用“Math.floor(Math.random()*n)+m”格式,其中m是下限,n是上限。
  • Math.sin(n)方法和 Math.cos(n)方法用于产生n的正弦值和余弦值。其中的参数n为弧度值。
  • DOM 提供了各种类型的元素对象定位及尺寸属性,这些属性基本上只用于读取,而不可进行设置,使用时的语法规则是“网页元素对象.DOM属性名”。其中,属性名中包含“client”的宽度和高度表示真正能够显示网页内容的区域;属性名中包含“ofset”的宽度和高度表示包括了元素对象边线在内的所有区域;属性名中包含“scroll”的宽度和高度表示包含所有全部网页内容的区域。
<script type='text/java

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/689769.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

16_ Vue.js高级指南:条件渲染、列表渲染与数据双向绑定

文章目录 1. 条件渲染v-if2. 列表渲染v-for3. 数据双项绑定v-model4. 计算属性Appendix 1. 条件渲染v-if v-if标签直接接收函数或boolean类型变量 v-if 为true&#xff0c;则当前元素会进入到dom树v-else会自动执行 前方v-if的取反操作 v-show v-show值为true则值展示值不展示…

【Python】解决Python报错:TypeError: ‘int‘ object is not callable

​​​​ 文章目录 引言1. 错误详解2. 常见的出错场景2.1 误用变量名2.2 混淆函数与结果 3. 解决方案3.1 明确变量类型3.2 使用函数调用() 4. 预防措施4.1 代码审查4.2 单元测试 结语 引言 在Python开发中&#xff0c;TypeError 是一种常见的错误类型&#xff0c;尤其是在尝试…

kafka-重试和死信主题(SpringBoot整合Kafka)

文章目录 1、重试和死信主题2、死信队列3、代码演示3.1、appication.yml3.2、引入spring-kafka依赖3.3、创建SpringBoot启动类3.4、创建生产者发送消息3.5、创建消费者消费消息 1、重试和死信主题 kafka默认支持重试和死信主题 重试主题&#xff1a;当消费者消费消息异常时&…

C++基础7:STL六大组件

目录 一、标准容器 1、顺序容器 vector ​编辑 deque list 容器适配器 stack queue prority_queue: 关联容器 有序关联容器set、mutiset、map、mutimap 增删查O(log n) 无序关联容 unordered_set、unordered_mutiset、unordered_map、unordered_mutimap 增删…

C语言实现map数据结构 key—value对应

1.首先43行 createKeyValuePair(char*key ,int value)这个函数就是给一个keyValuePair *pair的指针来通过内存分配将数据key和value存入这个pair指针所对应的内存空间 2.52行freeKeyValuePair这个函数是释放内存空间 3.头文件 struct结构体KeyValuePair就是一个指针一个值 4…

个人博客的未来出路在哪里?

说起个人博客的未来这就是个悲伤的话题,估计不少个人博客站长们都在苦苦的坚持和挣扎着吧,反正明月这两年感受最深刻的就是又有不少个人博客站点停更和 404 了都。自从坚持写博客这近十来年这种情况也都见怪不怪了,但这两年最突出的就是很多站长都是迷茫和悲观。 明月去年在…

Vue CLI 环境变量使用指南

一、简介 Vue CLI 是一个强大的前端工程化工具&#xff0c;它提供了丰富的配置选项&#xff0c;包括环境变量的管理。环境变量允许开发者根据不同的运行环境&#xff08;如开发、测试和生产&#xff09;应用不同的配置&#xff0c;而无需更改代码。本文将详细介绍如何在 Vue C…

AI图书推荐:用ChatGPT来写非虚构类书籍

这本书《用ChatGPT来写非虚构类书籍 》&#xff08;ChatGPT For KDP_ A manual from an experienced self-publisher to nonfiction authors for writing the book you were born to write with ChatGPT prompts mastering&#xff09;是一本专为非虚构类书籍作者编写的指南&am…

英伟达黄仁勋最新主题演讲:“机器人时代“已经到来

6月2日&#xff0c;英伟达联合创始人兼首席执行官黄仁勋在Computex 2024&#xff08;2024台北国际电脑展&#xff09;上发表主题演讲&#xff0c;分享了人工智能时代如何助推全球新产业革命。 黄仁勋表示&#xff0c;机器人时代已经到来&#xff0c;将来所有移动的物体都将实现…

[职场] 美术学就业方向和前景 #经验分享#学习方法

美术学就业方向和前景 2011年国务院学位委员会、教育部颁布了新的《学位授予和人才培养学科目录》&#xff0c;艺术学首次从文学门类中独立出来&#xff0c;成为新的第13个学科门类&#xff0c;即艺术学门类。其中&#xff0c;美术学又是艺术学门类下的五个一级学科之一。但是…

微信小程序开发,引用Vant Weapp UI样式,报错“没有找到可以构建的 NPM 包……”

文章目录 1.安装 Vant Weapp 的步骤2.常见问题 1.安装 Vant Weapp 的步骤 npm 安装 Vant Weapp修改 app.json构建 npm 包引入组件验证 npm 安装 Vant Weapp npm i vant/weapp -S --production修改 app.json 将 app.json 中的 “style”: “v2” 去除&#xff0c;小程序的新…

【数据分享】《中国文化文物与旅游统计年鉴》2022

最近老有同学过来询问《中国旅游年鉴》、《中国文化文物统计年鉴》、《中国文化和旅游统计年鉴》、《中国文化文物与旅游统计年鉴》&#xff0c;这四本年年鉴的关系以及怎么获取这四本年鉴。今天就在这里给大家分享一下这四本年鉴的具体情况。 实际上2018年&#xff0c;为适应…

mac无法读取windows分区怎么办 苹果硬盘怎么读取

对于Mac电脑用户但有Windows系统使用需求的&#xff0c;我们可以通过Boot Camp启动转换助理安装Windows分区这个方案来解决&#xff0c;不过因为两个系统的磁盘格式不同&#xff0c;相应的也会产生一些问题&#xff0c;例如无法正常读取windows分区。下面本文就详细说明mac无法…

阿里云(域名解析) certbot 证书配置

1、安装 certbot ubuntu 系统&#xff1a; sudo apt install certbot 2、申请certbot 域名证书&#xff0c;如申请二级域名aa.example.com 的ssl证书&#xff0c;同时需要让 bb.aa.example.com 也可以使用此证书 1、命令&#xff1a;sudo certbot certonly -d “域名” -d “…

【计算机毕业设计】基于SSM++jsp的在线医疗服务系统【源码+lw+部署文档】

包含论文源码的压缩包较大&#xff0c;请私信或者加我的绿色小软件获取 免责声明&#xff1a;资料部分来源于合法的互联网渠道收集和整理&#xff0c;部分自己学习积累成果&#xff0c;供大家学习参考与交流。收取的费用仅用于收集和整理资料耗费时间的酬劳。 本人尊重原创作者…

【AIGC+CAD】革新建筑、室内设计与建模领域的GenAI产品

一、产品定位 Augrade,一款专为建筑、室内设计和建模行业打造的AI CAD自动化工具。它凭借先进的AI技术,将2D蓝图迅速转化为精确的3D CAD模型,同时提供设计、成本分析的自动化以及全面的文档生成服务。Augrade致力于简化设计流程,确保技术可行性,并促进跨团队、跨工具的协…

怎么把m4a转换成mp3?四种常见的转换方法介绍!

怎么把m4a转换成mp3&#xff1f;在处理m4a音频文件时&#xff0c;我们可能会遇到一系列复杂的问题&#xff0c;首先&#xff0c;考虑到m4a是一种相对较新的音频格式&#xff0c;老旧的设备或软件可能无法准确识别它&#xff0c;这可能导致用户无法在这些设备上播放或编辑m4a文件…

标准发布实施 |《新能源电池工业废水处理技术指南磷酸铁锂电池》

T/ACEF 130&#xff0d;2024《新能源电池工业废水处理技术指南磷酸铁锂电池》欢迎各单位引用执行&#xff01;有课题也可联合立项&#xff01; 发布日期&#xff1a;2024年02月04日 实施日期&#xff1a;2024年03月01日 主要起草人&#xff1a;刘愿军、孙冬、丁炜鹏、何小芬…

django 内置 JSON 字段 使用场景

Django 内置的 JSON 字段&#xff08;JSONField&#xff09;是在 Django 3.1 版本中引入的&#xff0c;用于处理 JSON 格式的数据。JSONField 允许在数据库表中存储和查询 JSON 数据&#xff0c;并且在与 Python 代码交互时自动转换为合适的 Python 数据类型。以下是一些常见的…

SecureCRT[po破] for Mac SSH终端操作工具[解] 安装教程

文章目录 效果一、准备工作二、开始安装1、双击运行软件&#xff0c;将其从左侧拖入右侧文件夹中&#xff0c;等待安装完毕2、 应用程序显示软件图标&#xff0c;表示安装成功 三、输入对应参数1、解决“软件已损坏&#xff0c;无法打开&#xff0c;要移到废纸篓”问题解决步骤…