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 相关文章推荐
2007/12/23更新创意无限,简单实用(javascript log)
Dec 24 Javascript
JQuery 表单中textarea字数限制实现代码
Dec 07 Javascript
JS删除字符串中重复字符方法
Mar 09 Javascript
处理文本部分内容的TextRange对象应用实例
Jul 29 Javascript
解决js图片加载时出现404的问题
Nov 30 Javascript
JS简单测试循环运行时间的方法
Sep 04 Javascript
BootStrap Validator 版本差异问题导致的submitHandler失效问题的解决方法
Dec 01 Javascript
浅谈vue项目4rs vue-router上线后history模式遇到的坑
Sep 27 Javascript
JavaScript中十种一步拷贝数组的方法实例详解
Apr 22 Javascript
vue 实现移动端键盘搜索事件监听
Nov 06 Javascript
JS实现容器模块左右拖动效果
Jan 14 Javascript
ElementUI实现el-form表单重置功能按钮
Jul 21 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实现时间轴函数代码
2011/10/08 PHP
php根据年月获取季度的方法
2014/03/31 PHP
一张表搞清楚php is_null、empty、isset的区别
2015/07/07 PHP
PHP实现微信红包金额拆分试玩的算法示例
2018/04/07 PHP
Smarty模板配置实例简析
2019/07/20 PHP
PHP随机生成中文段落示例【测试网站内容时使用】
2020/04/26 PHP
javascript给span标签赋值的方法
2015/11/26 Javascript
纯js模仿windows系统日历
2017/02/04 Javascript
基于HTML5+JS实现本地图片裁剪并上传功能
2017/03/24 Javascript
详谈jQuery中使用attr(), prop(), val()获取value的异同
2017/04/25 jQuery
Vue2.0权限树组件实现代码
2017/08/29 Javascript
Express系列之multer上传的使用
2017/10/27 Javascript
WebSocket的通信过程与实现方法详解
2018/04/29 Javascript
JS实现全屏预览F11功能的示例代码
2018/07/23 Javascript
Vue.js获取被选择的option的value和text值方法
2018/08/24 Javascript
快速解决vue动态绑定多个class的官方实例语法无效的问题
2018/09/05 Javascript
element-ui的回调函数Events的用法详解
2018/10/16 Javascript
微信小程序实现工作时间段选择
2019/02/15 Javascript
微信小程序实现电影App导航和轮播
2020/11/30 Javascript
浅谈python多线程和队列管理shell程序
2015/08/04 Python
Python读取Json字典写入Excel表格的方法
2018/01/03 Python
python操作excel的方法(xlsxwriter包的使用)
2018/06/11 Python
pycharm的console输入实现换行的方法
2019/01/16 Python
python实现两个经纬度点之间的距离和方位角的方法
2019/07/05 Python
解决在pycharm运行代码,调用CMD窗口的命令运行显示乱码问题
2019/08/23 Python
Python装饰器原理与基本用法分析
2020/01/07 Python
计算机专业大学生的自我评价
2013/11/14 职场文书
电焊工岗位职责
2014/03/06 职场文书
外联部演讲稿
2014/05/24 职场文书
英语教师自荐信
2014/05/26 职场文书
关于九一八事变的演讲稿2014
2014/09/17 职场文书
给校长的一封检讨书
2014/09/20 职场文书
一年级班主任工作总结2014
2014/11/08 职场文书
婚前保证书范文
2015/02/28 职场文书
创业计划书之水果店
2019/07/18 职场文书
Django如何创作一个简单的最小程序
2021/05/12 Python