鼠标移动到图片上,显示相关信息

在网页上总是看到这样的效果:将鼠标放到一个小格子里,小格子变暗,同时显示出来一些文字。一直比较好奇,今天我也简单的实现了一下,如果有不对或者更好的方法,请指教。

总体思路是,构建一个新的div,用来覆盖图片并显示字,鼠标移动到img上时即可显示div,移出img时div会消失。

1、构建基本页面:

<div id="ten_model">
  <ul id="little_imgs">
    <li id="li1"><img src="" height="120" width="120"></li>
    <li id="li2"><img src="" height="120" width="120"></li>
    <li id="li3"><img src="" height="120" width="120"></li>
    <li id="li4"><img src="" height="120" width="120"></li>
    <li id="li5"><img src="" height="120" width="120"></li>
    <li id="li6"><img src="" height="120" width="120"></li>
    <li id="li7"><img src="" height="120" width="120"></li>
    <li id="li8"><img src="" height="120" width="120"></li>
    <li id="li9"><img src="" height="120" width="120"></li>
    <li id="li0"><img src="" height="120" width="120"></li>
  </ul>
</div>

以上是十个基本的图片的HTML代码,放到一个ul里面。

 1 ul#little_imgs {
 2   list-style: none;
 3   position: relative;
 4   width: 300px;
 5   height: auto;
 6 }
 7
 8 ul#little_imgs li {
 9   width: 120px;
10   height: 120px;
11   float: left;
12   margin: 3px;
13 }

以上是对于ul和li的css修饰,让其每两个一行,一共五行两列。

<div id="show_model">
 <p></p>
</div>

 

div#show_model {
  width: 120px;
  height: 120px;
  background-color: black;
  opacity: .7;
  position: absolute;
  left: 0;
  top: 0;
  display: none;
}

以上是鼠标移动到每个li上时,li上面显示的div,目的是有变暗效果(通过opacity实现)和文字显示(<p></p>)。

2、添加JavaScript效果:

    $("#little_imgs li").mouseover(function(){
      var ll = $(this).offset().left;
      var tt = $(this).offset().top;
      $("#show_model").css("left",ll-2);
      $("#show_model").css("top",tt-2);

      var li_id = $(this).attr("id");
      if(li_id == ‘li1‘){
          $("#show_model p").html("L");
      }else if(li_id == ‘li2‘){
          $("#show_model p").html("o");
      }else if(li_id == ‘li3‘){
          $("#show_model p").html("A");
      }else if(li_id == ‘li4‘){
          $("#show_model p").html("B");
      }else if(li_id == ‘li5‘){
          $("#show_model p").html("N");
      }else if(li_id == ‘li6‘){
          $("#show_model p").html("Li");
      }else if(li_id == ‘li7‘){
          $("#show_model p").html("D");
      }else if(li_id == ‘li8‘){
          $("#show_model p").html("Na");
      }else if(li_id == ‘li9‘){
          $("#show_model p").html("Ra");
      }else if(li_id == ‘li0‘){
          $("#show_model p").html("RB");
      }

    $("#show_model").css("display","block");
    });

    $("#show_model").mouseover(function(){
      $(this).css("display","block");
    });

    $("#show_model").mouseout(function(){
      $(this).css("display","none");
    });

    $("#ten_model").mouseout(function(){
      $("#show_model").css("display","none");
    });

  利用jQuery,当鼠标移动到每一个li上时,获取li的top和height,并赋值给show_model,并给show_model的p赋值文字,让其显示出来,出现的问题就是最开始上面的覆盖层会不停地闪,后来分析发现:当鼠标移动到li上时,会显示出show_model的div但是此时鼠标已经离开了li,因此show_model的div会消失,一旦消失,鼠标又落在了li上,因此show_model的div又会显示出来,如此往复。解决的办法是将show_model的div加上mouseover事件,当在其上时,div不会消失。

场景基本实现,如果要给img图片添加click事件,因为有div的阻挡,会有影响,解决的方法是:将click事件分成两部分,mousedown时让div消失,mouseup时添加img图片本来的click事件即可。

时间: 2024-08-28 20:15:42

鼠标移动到图片上,显示相关信息的相关文章

鼠标移动到图片上时,显示大图片

HTML标签中的一部分,仅供参考 <tr> <td><input type="checkbox" class="checkbox1"/></td> <td>1002</td> <td>小猫咪</td> <td><img src="img/02.jpg" height="100" width="100&qu

Unity鼠标移动到物体上显示信息

相信大家玩游戏的时候,鼠标移动到游戏装备上,都会显示装备的的具体信息,那么接下来就写代码把,废话不多说. 下面是 效果图 鼠标移动到装备位置显示的信息,鼠标移动不在装备区域后不现实信息,下面是代码 : using UnityEngine;using System.Collections;using UnityEngine.UI;using UnityEngine.EventSystems; public class onmois : MonoBehaviour, IPointerEnterHan

使用ueditor时候修改图片路径及其相关信息

ueditor功能比较强大  使用也比较方便 但是有一些东西是需要我们自己根据实际情况去设置的 以下是关于图片/涂鸦/视频等上传信息的更改: 首先我们要找到配置文件config.json 注意不是config.json.js 路径如下: 找到配置文件后打开,可以看到如下信息: 这里可以修改图片上传的信息,比如图片最大限制,图片格式,图片路径等问题.... 因为默认是保存在根目录下的ueditor下的  我这里我保存在了mymessystem文件加下  文件名仍用默认的  也可以自己修改 但是应该

CSS3实现鼠标移动到图片上图片变大(缓慢变大,有过渡效果,放大的过程是有动画过渡的,这个过渡的时间可以自定义)

转载自:http://blog.csdn.net/u014175572/article/details/51535768 CSS3的transform:scale()可以实现按比例放大或者缩小功能. CSS3的transition允许CSS的属性值在一定的时间区间内平滑地过渡.这种效果可以在鼠标单击.获得焦点.被点击或对元素任何改变中触发,并圆滑地以动画效果改变CSS的属性值. 效果如下图所示: 1.当未鼠标未放到图片上的效果: 2.当鼠标放到图片上后(放大的过程是有动画过渡的,这个过渡的时间可

使用freemaker 导出word 含多张图片,若无图片则显示文本信息

1.使用的Microsoft Office 2007,添加一个无边框的表格,并插入一张图片,最后另存为编码utf-8,一开始保存的word xml格式的,图片的base64编码位于文档最后,暂时没有找到解决方法,所以就保存. 2.用编辑工具打开,找到base64编码替换为ftl标签,红色所示,图片设置长宽(蓝色所示) <w:p wsp:rsidR="00A50283" wsp:rsidRDefault="00A50283" wsp:rsidP="00

纵向文字滚动代码,带上下图片控制的。鼠标放到上下图片上时滚动

<style type="text/css"> #swsh .swsh_body{height:352px;overflow:hidden;}</style></p> <div id="swsh"> <script language="javascript"> var UDMoveflag=true function scrollStart(object,offset){ object.

鼠标移动到图片上图片逐渐变大、变清晰(带有过渡效果)

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>鼠标移动到图片上图片逐渐变大.变清晰(带有过渡效果)</title> <style type="text/css"> div{ width: 300px; height: 300px; margin: 50px auto; overflow: hidden; fil

把鼠标移动到图片上图片就会放大显示

<html><head><script type="text/javascript">function moveover(){document.getElementById('image').width="200"document.getElementById('image').height="360"}function moveback(){document.getElementById('image').w

用BadgeView在actionbar menu上显示提醒信息

有时候需要在actionbar menu上显示消息个数,所以可以用BadgeView来实现. 实现方法是获取actionbar menuitem的view,然后创建BadgeView.注意,通常只能在Optionsmenu创建完成之后去获取menuitem的view.我们可以在onCreate方法中延时1秒去处理. <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="ht