Hi All,

分享一个通过JS来显示相应图片的详细信息。

需求:进入页面时,动态加载图片信息;当鼠标移动到某一图片上时,则显示该图片的大图片并显示相应说明信息;当鼠标移开图片时,清除新创建的元素。

1. 用HTML画好布局:

1 <body onload="initEvent()">
2 <div id="peopleInfo" style="position:absolute; top:20%; left:30%;">
3 <h2>人员信息:</h2>
4 </div>
5 </body>

2. 用CSS为新创建的元素的添加样式:

     <style type="text/css">
.newDiv {
position:absolute;
width:200px;
height:200px;
border: 1px solid blue;
}
.newImg {
position:absolute;
width:100px;
height:100px;
margin: 2px 2px;
}
.newlbName {
float:right;
color:red;
margin-right:40px;
margin-top: 20px;
}
.newlbHight {
float:right;
color:red;
margin-right:-42px;
margin-top: 50px;
}
.lbDescription {
position:absolute;
font: normal 24px Arial, Helvetica, sans-serif;
color:black;
top:110px;
left:20px;
padding: 8px 1px;
}
</style>

3. 用JS控制行为:

 <script type="text/javascript">
var data = { // 数据源
"/Imgs/katong_4_1440x900.jpg": ["苏童", "158cm", "温柔,委婉"],
"/Imgs/katong_2_1440x900.jpg": ["紫童", "172cm", "性格率真"],
"/Imgs/katong_5_1440x900.jpg": ["小倩", "165cm", "爱好广泛"],
"/Imgs/katong_3_1440x900.jpg": ["顺姬", "158cm", "美丽,大方"]
}; function initEvent() { // load事件触发initEvent()方法
var div = document.getElementById("peopleInfo");
var table = document.createElement("table");
var count = 0;
for (var key in data) { // 动态加载图片详细
var tr, td, img;
var dataValue = data[key];
td = document.createElement("td");
img = document.createElement("img");
img.id = count;
img.setAttribute("src", key);
img.setAttribute("alt1", key);
img.setAttribute("alt2", dataValue[0]);
img.setAttribute("alt3", dataValue[1]);
img.setAttribute("alt4", dataValue[2]);
img.width = '50';
img.height = '50';
img.onmouseover = function () { // 鼠标移动时动态创建相应图片的详细信息
// 动态创建的div,并设置其属性
var newDiv = document.createElement("div");
newDiv.className = "newDiv";
var x = window.event.clientX;
var y = window.event.clientY;
newDiv.style.top = y+"px";
newDiv.style.left = x + "px"; // 动态创建img,并设置相应属性
var newImg = document.createElement("img");
newImg.className = "newImg";
var imgPath = this.getAttribute("alt1").toString();
newImg.src = imgPath;
var name = this.getAttribute("alt2").toString();
var height = this.getAttribute("alt3").toString();
var description=this.getAttribute("alt4").toString(); // 动态创建label,显示姓名信息
var lbName = document.createElement("label");
lbName.className = "newlbName";
lbName.innerText = name;
newDiv.appendChild(lbName); // 动态创建label,显示身高信息
var lbHight = document.createElement("label");
lbHight.className = "newlbHight";
lbHight.innerText = height;
newDiv.appendChild(lbHight); // 动态创建label,显示描述信息
var lbDescription = document.createElement("label");
lbDescription.className = "lbDescription";
lbDescription.innerText = description;
newDiv.appendChild(lbDescription); // 将创建的元素添加到新的div中
newDiv.appendChild(newImg);
document.body.appendChild(newDiv); }
img.onmouseout = function () { //鼠标离开时,移出掉新创建的div元素
var divs = document.getElementsByTagName("div");
for (var i = 0; i < divs.length; i++)
{
var div = divs[i];
if (div.className == "newDiv")
{
document.body.removeChild(div);
}
}
} td.appendChild(img);
if (count % 2 == 0) { // 设置换行
tr = document.createElement("tr");
}
tr.appendChild(td);
table.appendChild(tr);
count++;
}
div.appendChild(table);
}
</script>

4. 显示结果:

一个JS版的例子就好了,大家可以尝试一下 :).

Javascript版-显示相应图片的详细信息的更多相关文章

  1. python 抓取美丽说店铺的宝贝图片及详细信息的实现(爬虫)

    对于页面的抓取,我们使用的是requests,现在大部分的网站都支持动态加载,我们在firefox f12后查找动态的url :http://www.meilishuo.com/aj/shop_lis ...

  2. Exif.js获取图片的详细信息(苹果手机移动端上传图片旋转90度)

    Exif.js插件介绍 http://code.ciaoca.com/javascript/exif-js/ iOS手机竖着拍的照片经过前端处理之后被旋转了90°的原因以及解决方案 https://w ...

  3. VC++ 在Watch窗口显示GetLastError值以及详细信息

    You can display the value GetLastError() will return by putting "@err" in your watch windo ...

  4. 大家的备忘录——xpage_在同一页面展开文档显示该文档详细信息(可显示处理过的Rich Text)

    Xpage大纲: 解析: 1.通过[link2]点击触发jQuery事件来展开[面板:thispanel] 2.[面板:thispanel]写了onClientLoad事件:让thispanel隐藏. ...

  5. easyUI 展开DataGrid里面的行显示详细信息

    http://blog.csdn.net/yanghongchang_/article/details/7854156原著 datagrid 可以改变它的view(视图)去显示不同的效果.使用详细视图 ...

  6. 单击HighCharts柱形体弹框显示详细信息

    上篇博客介绍了如何在HighCharts统计图表下生成表格,二者相互结合,可以对数据进行更好的统计分析.在统计的同时,如果需要想要及时查看详细信息的话,就得再加一个功能,就是单击柱形体,显示该项下的详 ...

  7. Display a Detail View with a List View 主子视图-列表视图与详细信息视图同时显示

    In this lesson, you will learn how to display a Detail View together with a List View. For this purp ...

  8. 最简单的方法是使用标准的 Linux GUI 程序之一: i-nex 收集硬件信息,并且类似于 Windows 下流行的 CPU-Z 的显示。 HardInfo 显示硬件具体信息,甚至包括一组八个的流行的性能基准程序,你可以用它们评估你的系统性能。 KInfoCenter 和 Lshw 也能够显示硬件的详细信息,并且可以从许多软件仓库中获取。

    最简单的方法是使用标准的 Linux GUI 程序之一: i-nex 收集硬件信息,并且类似于 Windows 下流行的 CPU-Z 的显示. HardInfo 显示硬件具体信息,甚至包括一组八个的流 ...

  9. Linux 查找指定名称的进程并显示进程详细信息

    实际应用中可能有这样的场景:给定一个进程名称特征串,查找所有匹配该进程名称的进程的详细信息. 解决的办法是: (1) 先用pgrep [str] 命令进行模糊匹配,找到匹配该特征串的进程ID: (2) ...

随机推荐

  1. 跨web浏览器的IC卡读卡器解决方案

    BS结构的程序,如果要与IC卡读卡器通信本身就是件不容易解决的事情.微软的activex ocx技术将这种应用限制在IE浏览器上了,不兼容其它的浏览器.而Chrome使用插件也不兼容IE和其他的浏览器 ...

  2. 用jQuery模拟淘宝购物车

    首先我们要实现的内容的需求有如下几点: 1.在购物车页面中,当选中"全选"复选框时,所有商品前的复选框被选中,否则所有商品的复选框取消选中. 2.当所有商品前的复选框选中时,&qu ...

  3. ios富文本的简单使用 AttributedString

    富文本,顾名思义就是丰富的文本格式,本文demo使用NSMutableAttributedString //获取富文本 NSMutableAttributedString*attributeStrin ...

  4. 利用原生JS判断组合键

    <script type="text/javascript"> var isAlt = 0; var isEnt = 0; document.onkeydown = f ...

  5. Android系统--输入系统(六)模拟输入驱动程序

    Android系统--输入系统(六)模拟输入驱动程序 1. 回顾输入子系统 简单字符设备驱动:应用程序通过调用驱动所实现的函数使能硬件. 输入子系统:由于有多个应用程序使用输入子系统,故肯定使用的是早 ...

  6. 【caffe-windows】 caffe-master 之 训练自己数据集(图片转换成lmdb or leveldb)

    前期准备: 文件夹train:此文件夹中按类别分好子文件夹,各子文件夹里存放相应图片 文件夹test:同train,有多少类就有多少个子文件夹 trainlabels.txt : 存的是训练集的标签  ...

  7. 业务订单号生成算法,每秒50W左右,不同机器保证不重复,包含日期可读性好

    参考snowflace算法,基本思路: 序列12位(更格式化的输出后,性能损耗导致每毫秒生成不了这么多,所以可以考虑减少这里的位,不过留着也并无影响) 机器位10位 毫秒为左移 22位 上述几个做或运 ...

  8. 多个git账号的SSH配置

    一般使用git都只需要维持一个默认的git账户就可以打天下了. 但如果自己确实需要多个git账号的需求的话,就有必要配置多个ssh key了. 首先为生成多个ssh key ssh-keygen -t ...

  9. STM32学习笔记(五)——通用定时器计数延时

    STM32定时器概述 STM32F40x系列总共最多有14个定时器,定时器分为三类:基本定时器.通用定时器和高级定时器.它们的都是通过计数来达到定时的目的,和51的定时器差不多,基本原理都是一样的,就 ...

  10. ABP入门系列(16)——通过webapi与系统进行交互

    ABP入门系列目录--学习Abp框架之实操演练 源码路径:Github-LearningMpaAbp 1. 引言 上一节我们讲解了如何创建微信公众号模块,这一节我们就继续跟进,来讲一讲公众号模块如何与 ...