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 相关文章推荐
使用prototype.js 的时候应该特别注意的几个问题.
Apr 12 Javascript
JavaScript操作DOM元素的childNodes和children区别
Apr 01 Javascript
js弹出对话框方式小结
Nov 17 Javascript
AngularJS使用指令增强标准表单元素功能
Jul 01 Javascript
详解handlebars+require基本使用方法
Dec 21 Javascript
bootstrap选项卡扩展功能详解
Jun 14 Javascript
解决bootstrap-select 动态加载数据不显示的问题
Aug 10 Javascript
详解如何在nuxt中添加proxyTable代理
Aug 10 Javascript
angularjs性能优化的方法
Sep 05 Javascript
原生js实现抽奖小游戏
Jun 27 Javascript
Vue实现验证码功能
Dec 03 Javascript
微信小程序实现多行文字滚动
Nov 18 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
ThinkPHP控制器里javascript代码不能执行的解决方法
2014/11/22 PHP
基于PHP如何把汉字转化为拼音
2015/12/11 PHP
基于thinkPHP实现的微信自定义分享功能示例
2016/09/23 PHP
手机开发必备技巧:javascript及CSS功能代码分享
2015/05/25 Javascript
jquery获取select选中值的方法分析
2015/12/22 Javascript
精通JavaScript的this关键字
2020/05/28 Javascript
javascript拖拽应用实例
2016/03/25 Javascript
有关jquery与DOM节点操作方法和属性记录
2016/04/15 Javascript
js实现将json数组显示前台table中
2017/01/10 Javascript
Vue2.0利用 v-model 实现组件props双向绑定的优美解决方案
2017/03/13 Javascript
微信小程序 实现列表项滑动显示删除按钮的功能
2017/04/13 Javascript
详解express与koa中间件模式对比
2017/08/07 Javascript
对存在JavaScript隐式类型转换的四种情况的总结(必看篇)
2017/08/31 Javascript
在Vue组件上动态添加和删除属性方法
2018/02/23 Javascript
Vue2.0 给Tab标签页和页面切换过渡添加样式的方法
2018/03/13 Javascript
微信小程序自定义底部弹出框
2020/11/16 Javascript
浅析vue给不同环境配置不同打包命令
2018/08/17 Javascript
python并发编程之多进程、多线程、异步和协程详解
2016/10/28 Python
Python基于QRCode实现生成二维码的方法【下载,安装,调用等】
2017/07/11 Python
基于python socketserver框架全面解析
2017/09/21 Python
python爬虫的一个常见简单js反爬详解
2019/07/09 Python
python 并发编程 非阻塞IO模型原理解析
2019/08/20 Python
Python实现CAN报文转换工具教程
2020/05/05 Python
Windows 下更改 jupyterlab 默认启动位置的教程详解
2020/05/18 Python
tensorflow 大于某个值为1,小于为0的实例
2020/06/30 Python
使用before和:after伪类制作css3圆形按钮
2014/04/08 HTML / CSS
css3中单位px,em,rem,vh,vw,vmin,vmax的区别及浏览器支持情况
2016/12/06 HTML / CSS
HTML5的文档结构和新增标签完全解析
2017/04/21 HTML / CSS
HTML5 实现图片上传预处理功能
2020/02/06 HTML / CSS
新西兰廉价汽车租赁:Snap Rentals
2018/09/14 全球购物
沙特阿拉伯家用电器和电子产品购物网站:Sheta and Saif
2020/04/03 全球购物
法人代表委托书
2014/04/04 职场文书
大班亲子运动会方案
2014/06/10 职场文书
2014年学生管理工作总结
2014/12/20 职场文书
2015年学校关工委工作总结
2015/04/03 职场文书
2015年事业单位办公室文员工作总结
2015/04/24 职场文书