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原型链和原型的一个误区
Oct 22 Javascript
javascript背景时钟实现方法
Jun 18 Javascript
基于JQuery和CSS3实现仿Apple TV海报背景视觉差特效源码分享
Sep 21 Javascript
jQuery unbind()方法实例详解
Jan 19 Javascript
深入理解JavaScript中为什么string可以拥有方法
May 24 Javascript
轻松掌握JavaScript状态模式
Sep 07 Javascript
原生js封装自定义滚动条
Mar 24 Javascript
jQuery实现的上传图片本地预览效果简单示例
Mar 29 jQuery
pm2启动ssr失败的解决方法
Jun 29 Javascript
vue使用代理解决请求跨域问题详解
Jul 24 Javascript
vue 实现单选框设置默认选中值
Nov 07 Javascript
Nuxt pages下不同的页面对应layout下的页面布局操作
Nov 05 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
PHP提取数据库内容中的图片地址并循环输出
2010/03/21 PHP
mysql,mysqli,PDO的各自不同介绍
2012/09/19 PHP
PHP获取和操作配置文件php.ini的几个函数介绍
2013/06/24 PHP
PHP 通过Socket收发十六进制数据的实现代码
2013/08/16 PHP
zf框架db类的分页示例分享
2014/03/14 PHP
PHP自定义函数实现数组比较功能示例
2017/10/19 PHP
PHP封装的mysqli数据库操作类示例
2019/02/16 PHP
js通过更改按钮的显示样式实现按钮的滑动效果
2014/04/23 Javascript
jQuery中scrollTop()方法用法实例
2015/01/16 Javascript
javaScript实现滚动新闻的方法
2015/07/30 Javascript
jquery实现带渐变淡入淡出并向右依次展开的多级菜单效果实例
2015/08/22 Javascript
jQuery超酷平面式时钟效果代码分享
2020/03/30 Javascript
BootStrap Table 后台数据绑定、特殊列处理、排序功能
2017/05/27 Javascript
微信小程序视图template模板引用的实例详解
2017/09/20 Javascript
JQuery元素快速查找与操作
2018/04/22 jQuery
angularJs使用ng-repeat遍历后选中某一个的方法
2018/09/30 Javascript
ztree加载完成后显示勾选节点的实现代码
2018/10/22 Javascript
使用webpack4编译并压缩ES6代码的方法示例
2019/04/24 Javascript
JS实现的自定义map方法示例
2019/05/17 Javascript
一些可能会用到的Node.js面试题
2019/06/15 Javascript
一次微信小程序内地图的使用实战记录
2019/09/09 Javascript
JavaScript 自定义html元素鼠标右键菜单功能
2019/12/02 Javascript
[30:51]DOTA2上海特级锦标赛主赛事日 - 3 胜者组第二轮#1Liquid VS MVP.Phx第一局
2016/03/04 DOTA
Python检测QQ在线状态的方法
2015/05/09 Python
解决python3中解压zip文件是文件名乱码的问题
2018/03/22 Python
对pandas中iloc,loc取数据差别及按条件取值的方法详解
2018/11/06 Python
英国网上香水店:Fragrance Direct
2016/07/20 全球购物
办公室前台的岗位职责
2013/12/20 职场文书
房地产融资计划书
2014/01/10 职场文书
2015年春节标语口号
2014/12/09 职场文书
学生早退检讨书(范文)
2019/08/19 职场文书
python实现网络五子棋
2021/04/11 Python
微信小程序APP的生命周期及页面的生命周期
2022/04/19 Javascript
解决IIS7下无法绑定https主机的问题
2022/04/29 Servers
JavaScript中reduce()的用法
2022/05/11 Javascript
Linux中sftp常用命令整理
2022/06/28 Servers