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 URL锚点取值方法
Feb 25 Javascript
jquery事件机制扩展插件 jquery鼠标右键事件。
Dec 26 Javascript
从QQ网站中提取的纯JS省市区三级联动菜单
Dec 25 Javascript
jQuery设置和移除文本框默认值的方法
Mar 09 Javascript
jQuery动画效果相关方法实例分析
Dec 31 Javascript
jQuery实现的tab标签切换效果示例
Sep 05 Javascript
详解React native fetch遇到的坑
Aug 30 Javascript
Vue中的methods、watch、computed的区别
Nov 26 Javascript
jQuery+css last-child实现选择最后一个子元素操作示例
Dec 10 jQuery
Vue-CLI项目中路由传参的方式详解
Sep 01 Javascript
layui写后台表格思路和赋值用法详解
Nov 14 Javascript
JavaScript实现联动菜单特效
Jan 07 Javascript
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
一些星际专用术语解释
2020/03/04 星际争霸
PHP中使用gettext解决国际化问题的例子(i18n)
2014/06/13 PHP
php获取指定日期之间的各个周和月的起止时间
2014/11/24 PHP
PHP爬虫之百万级别知乎用户数据爬取与分析
2016/01/22 PHP
php编程每天必学之表单验证
2016/03/01 PHP
CI配置多数据库访问的方法
2016/03/28 PHP
php使用高斯算法实现图片的模糊处理功能示例
2016/11/11 PHP
PDO::getAttribute讲解
2019/01/28 PHP
php加速缓存器opcache,apc,xcache,eAccelerator原理与配置方法实例分析
2020/03/02 PHP
解决PHP Opcache 缓存刷新、代码重载出现无法更新代码的问题
2020/08/24 PHP
javascript实用小函数使用介绍
2013/11/11 Javascript
jquery如何扑捉回车键触发的事件
2014/04/24 Javascript
jQuery取得设置清空select选择的文本与值
2014/07/08 Javascript
javascript数组去重的方法汇总
2015/04/14 Javascript
jQuery插件开发精品教程(让你的jQuery更上一个台阶)
2015/11/07 Javascript
jquery拖拽排序简单实现方法(效果增强版)
2016/02/16 Javascript
动态的9*9乘法表效果的实现代码
2016/05/16 Javascript
Bootstrap前端开发案例一
2016/06/17 Javascript
Bootstrap页面缩小变形的快速解决办法
2017/02/03 Javascript
JS组件系列之MVVM组件构建自己的Vue组件
2017/04/28 Javascript
jQuery实现火车票买票城市选择切换功能
2017/09/15 jQuery
ES10的13个新特性示例(小结)
2019/09/23 Javascript
浅谈如何优雅处理JavaScript异步错误
2019/11/12 Javascript
[03:12]2016完美“圣”典风云人物:单车专访
2016/12/02 DOTA
Python中itertools模块用法详解
2014/09/25 Python
详解字典树Trie结构及其Python代码实现
2016/06/03 Python
win10环境下python3.5安装步骤图文教程
2017/02/03 Python
python3解析库lxml的安装与基本使用
2018/06/27 Python
Ubuntu下升级 python3.7.1流程备忘(推荐)
2018/12/10 Python
Django Aggregation聚合使用方法解析
2019/08/01 Python
台湾线上百货零售购物平台:friDay购物
2017/08/18 全球购物
全球性的在线婚纱礼服工厂:27dress.com
2019/03/21 全球购物
2014国庆黄金周超市促销活动方案
2014/09/21 职场文书
2016党员干部政治学习心得体会
2016/01/23 职场文书
解析Redis Cluster原理
2021/06/21 Redis
浅谈自定义校验注解ConstraintValidator
2021/06/30 Java/Android