Javascript基础_嵌入图像的简单实现


Posted in Javascript onJune 14, 2016

img元素允许我们在HTML文档里嵌入图像。

要嵌入一张图像需要使用src和alt属性,代码如下:

<img src="../img/example/img-map.jpg" alt="Products Image" width="580" height="266" />

显示效果:

Javascript基础_嵌入图像的简单实现

1 在超链接里嵌入图像

img元素的一个常见用法是结合a元素创建一个基于图像的超链接,代码如下:

<a href="otherpage.html">
  <img src="../img/example/img-map.jpg" ismap alt="Products Image" width="580" height="266" />
</a>

浏览器显示这张图片的方式没有什么不同。因此,重要的一点事要向用户提供视觉提示,表明特定图像所代表的是超链接。具体的做法可以是利用CSS,能在图像内容里表达则更好。

如果点击这种图片,浏览器会导航至父元素a的href属性所指定的URL上。给 img 元素应用 ismap 属性就创建了一个服务器端分部响应图,意思是在图像上点击的位置会附加到URL上。举个例子,如果点击的位置是距图像顶部8像素,左边缘10像素,浏览器就会导航到下面的地址:

https://yexiaochao.github.io/show4cnblogs/otherpage.html?10,8

下面代码展示了 otherpage.html 中的内容,它包含了一个简单的脚本,用来显示点击位置的坐标:

<body>
<p>The X-coordinate is <b><span id="xco">??</span></b></p>
<p>The Y-coordinate is <b><span id="yco">??</span></b></p>
<script type="application/javascript">
  var coords = window.location.href.split('?')[1].split(',');
  document.getElementById("xco").innerHTML = coords[0];
  document.getElementById("yco").innerHTML = coords[1];
</script>
</body>

浏览器显示这张图片的方式没有什么不同。因此,重要的一点事要向用户提供视觉提示,表明特定图像所代表的是超链接。具体的做法可以是利用CSS,能在图像内容里表达则更好。

如果点击这种图片,浏览器会导航至父元素a的href属性所指定的URL上。给 img 元素应用 ismap 属性就创建了一个服务器端分部响应图,意思是在图像上点击的位置会附加到URL上。举个例子,如果点击的位置是距图像顶部8像素,左边缘10像素,浏览器就会导航到下面的地址:

https://yexiaochao.github.io/show4cnblogs/otherpage.html?10,8

下面代码展示了 otherpage.html 中的内容,它包含了一个简单的脚本,用来显示点击位置的坐标:

<body>
<p>The X-coordinate is <b><span id="xco">??</span></b></p>
<p>The Y-coordinate is <b><span id="yco">??</span></b></p>
<script type="application/javascript">
  var coords = window.location.href.split('?')[1].split(',');
  document.getElementById("xco").innerHTML = coords[0];
  document.getElementById("yco").innerHTML = coords[1];
</script>
</body>

可以看到鼠标点击产生的效果:

Javascript基础_嵌入图像的简单实现

服务器端分区响应图通常意味着服务器会根据用户在图像上点击区域的不同做出有差别的反应,比如返回不同的响应信息。如果省略了img元素上的 ismap 属性,鼠标点击的坐标就不会被包含在请求 URL 中。

2 创建客户端分区响应图

我们可以创建一个客户端分区响应图,通过点击某张图像上的不同区域让浏览器导航到不同的URL上。这一过程不需要通过服务器引导,因此需要使用元素定义图像上的各个区域以及它们所代表的行为。客户端分区响应图的关键元素是 map,map元素包含一个或多个area元素,它们各自代表了图像上可被点击的一块区域 。

area元素的属性可以分为两类,第一类处理的是area所代表的图像区域被用户点击后浏览器会导航到的URL。下图介绍了这一类属性,它们类似于在其他元素上见到过的对应属性。

Javascript基础_嵌入图像的简单实现

第二类则包含了更有意思的属性:shape 和 coords 属性。可以用这些属性来标明用户可以点击的各个图像区域。 shape 和 coords 属性是共同起作用的。 coords 属性的意思根据 shape 属性的值而定,正如下图所示:

Javascript基础_嵌入图像的简单实现

介绍完这些元素后,举个例子,代码如下:

<body>
  <img src="../img/example/img-map.jpg" ismap alt="Products Image" usemap="#mymap" width="580" height="266" />

<map name="mymap">
  <area href="javascript:show_page(1)" shape="rect" coords="'34,60,196,230" alt="product 1" />
  <area href="javascript:show_page(2)" shape="rect" coords="'210,60,370,230" alt="product 2" />
  <area href="javascript:show_page(3)" shape="rect" coords="'383,60,545,230" alt="product 3" />
</map>

<script type="application/javascript">
   function show_page(num){
     //通过对话框显示产品,表示对应的跳转页面
     alert("This is product "+num);
   }
</script>
</body>

显示效果是一样的,只是在点击对应的产品图片,会弹出对应的产品名称,表示跳转的产品页面。

以上这篇Javascript基础_嵌入图像的简单实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript prototype对象的属性说明
Mar 13 Javascript
js 格式化时间日期函数小结
Mar 20 Javascript
解决js正则匹配换行问题实现代码
Dec 10 Javascript
JS数组的赋值介绍
Mar 10 Javascript
js给selected添加options的方法
May 06 Javascript
jquery动态导航插件dynamicNav用法实例分析
Sep 06 Javascript
AngularJS实用开发技巧(推荐)
Jul 13 Javascript
深入理解Vue transition源码分析
Jul 30 Javascript
jquery登录的异步验证操作示例
May 09 jQuery
在React中写一个Animation组件为组件进入和离开加上动画/过度效果
Jun 24 Javascript
vue使用vue-quill-editor富文本编辑器且将图片上传到服务器的功能
Jan 13 Vue.js
Vue CLI中模式与环境变量的深入详解
May 30 Vue.js
jQuery实例—选项卡的简单实现(js源码和jQuery)
Jun 14 #Javascript
浅析JS获取url中的参数实例代码
Jun 14 #Javascript
Javascript基础_标记文字的实现方法
Jun 14 #Javascript
深入浅析JavaScript的API设计原则
Jun 14 #Javascript
jQuery.Callbacks()回调函数队列用法详解
Jun 14 #Javascript
基于gulp合并压缩Seajs模块的方式说明
Jun 14 #Javascript
JS去除空格和换行的正则表达式(推荐)
Jun 14 #Javascript
You might like
用PHP编写PDF文档生成器
2006/10/09 PHP
PHP convert_uudecode()函数讲解
2019/02/14 PHP
laravel7学习之无限级分类的最新实现方法
2020/09/30 PHP
JQuery获取表格数据示例代码
2014/05/26 Javascript
JavaScript中的getTime()方法使用详解
2015/06/10 Javascript
完善的jquery处理机制
2016/02/21 Javascript
JavaScript中定义对象原型的两种使用方法
2016/12/15 Javascript
老生常谈jquery中detach()和remove()的区别
2017/03/02 Javascript
JS中使用gulp实现压缩文件及浏览器热加载功能
2017/07/12 Javascript
js实现随机点名小功能
2017/08/17 Javascript
canvas轨迹回放功能实现
2017/12/20 Javascript
JS+CSS实现随机点名(实例代码)
2019/11/04 Javascript
Node如何后台数据库使用增删改查功能
2019/11/21 Javascript
[03:24]CDEC.Y赛前采访 努力备战2016国际邀请赛中国区预选赛
2016/06/25 DOTA
python正则表达式判断字符串是否是全部小写示例
2013/12/25 Python
python机器学习理论与实战(二)决策树
2018/01/19 Python
使用Python AIML搭建聊天机器人的方法示例
2018/07/09 Python
selenium+python 对输入框的输入处理方法
2018/10/11 Python
Python批处理更改文件名os.rename的方法
2018/10/26 Python
解决python执行不输出系统命令弹框的问题
2019/06/24 Python
Python单元测试与测试用例简析
2019/11/09 Python
Tensorflow加载Vgg预训练模型操作
2020/05/26 Python
改变 Python 中线程执行顺序的方法
2020/09/24 Python
Django执行源生mysql语句实现过程解析
2020/11/12 Python
Django filter动态过滤与排序实现过程解析
2020/11/26 Python
Whittard官方海外旗舰店:英国百年茶叶品牌
2018/02/22 全球购物
整个世界的设计师家具在哈恩:Designathome
2019/03/25 全球购物
Farfetch阿联酋:奢侈品牌时尚购物平台
2019/07/26 全球购物
天逸系统(武汉)有限公司Java笔试题
2015/12/29 面试题
初中物理教学反思
2014/01/14 职场文书
年级组长自我鉴定
2014/02/22 职场文书
医药销售自荐书
2014/05/29 职场文书
经营场所使用证明
2015/06/19 职场文书
2016党员三严三实心得体会
2016/01/15 职场文书
教师理论学习心得体会
2016/01/21 职场文书
干货分享:推荐信写作技巧!
2019/06/21 职场文书