JQuery鼠标移到小图显示大图效果的方法


Posted in Javascript onJune 10, 2015

本文实例讲述了JQuery鼠标移到小图显示大图效果的方法。分享给大家供大家参考。具体分析如下:

这里的显示大图功能类似上一篇《JQuery实现超链接鼠标提示效果的方法》,稍微修改一下代码,就可以做出一个图片的提示效果。

参考前面的超链接提示效果的代码,只需要将创建的div元素的代码改为:

//创建 div 元素 图片提示
var tooltip = "<div id="tooltip"><img src=""+ this.href +"" alt="预览图"><\/div>"; 
</div>

当鼠标滑过图片后,显示就会有大图提示效果。为了使效果更为人性化,还需要为图片增加说明文字,即提示出来的大图片下面出现图片相应的介绍文字。

可以根据超链接的title属性值来获得图片相应的介绍文字,JQuery代码如下:

this.myTitle = this.title; 
this.title = "";  
var imgTitle = this.myTitle? "<br />" + this.myTitle : "";

然后将它追加到div元素中,代码如下:

// 创建 div 元素
var tooltip = "<div id='tooltip'><img src='"+ this.href +"' alt='产品预览图'/>"+imgTitle+"<\/div>";

在判断this.myTitle是否为""时,使用了三元运算。三元运算结构为:Boolean? 值1 : 值2。它的第1个参数必须为布尔值。当然三元运算也可以用“if(){ }else{ }”代替,例如:

var imgTitle; 
if (this.myTitle) { 
  imgTitle = "<br />" + this.myTitle; 
} else { 
  imgTitle = ""; 
}

这样,图片提示效果就完成了,当鼠标滑过图片时,图片会出现预览的大图,大图下面还会有介绍文字。

本例完整代码如下:

<script type="text/javascript">
//<![CDATA[
$(function(){
  var x = 10;
  var y = 20;
  $("a.tooltip").mouseover(function(e){
    this.myTitle = this.title;
    this.title = "";  
    var imgTitle = this.myTitle? "<br/>" + this.myTitle : "";
    var tooltip = "<div id='tooltip'><img src='"+ this.href +"' alt='预览图'/>"+imgTitle+"<\/div>";
    //创建 div 元素
    $("body").append(tooltip);
    //把它追加到文档中             
    $("#tooltip")
      .css({
        "top": (e.pageY+y) + "px",
        "left": (e.pageX+x) + "px"
      }).show("fast"); //设置x坐标和y坐标,并且显示
 }).mouseout(function(){
    this.title = this.myTitle;  
    $("#tooltip").remove(); //移除 
 }).mousemove(function(e){
    $("#tooltip")
      .css({
        "top": (e.pageY+y) + "px",
        "left": (e.pageX+x) + "px"
      });
  });
})
//]]>
</script>

希望本文所述对大家的jQuery程序设计有所帮助。

Javascript 相关文章推荐
一直复略了的一个问题,关于表单重复提交
Feb 15 Javascript
IE与Firefox在JavaScript上的7个不同写法小结
Sep 14 Javascript
批量修改标签css样式以input标签为例
Jul 31 Javascript
jquery果冻抖动效果实现方法
Jan 15 Javascript
javascript实现简单查找与替换的方法
Jul 22 Javascript
javascript中return,return true,return false三者的用法及区别
Nov 17 Javascript
JavaScript实现获取某个元素相邻兄弟节点的prev与next方法
Jan 25 Javascript
plupload+artdialog实现多平台上传文件
Jul 19 Javascript
JS获取数组中出现次数最多及第二多元素的方法
Oct 27 Javascript
解决layui上传文件提示上传异常,实际文件已经上传成功的问题
Aug 19 Javascript
Vue 通过公共字段,拼接两个对象数组的实例
Nov 07 Javascript
JavaScript 实现轮播图特效的示例
Nov 05 Javascript
JQuery实现超链接鼠标提示效果的方法
Jun 10 #Javascript
jquery序列化方法实例分析
Jun 10 #Javascript
jQuery实现dialog设置focus焦点的方法
Jun 10 #Javascript
jQuery替换textarea中换行的方法
Jun 10 #Javascript
简介JavaScript中getUTCMonth()方法的使用
Jun 10 #Javascript
JavaScript中getUTCMinutes()方法的使用详解
Jun 10 #Javascript
在JS中操作时间之getUTCMilliseconds()方法的使用
Jun 10 #Javascript
You might like
php Smarty 字符比较代码
2011/02/27 PHP
使用PHP和HTML5 FormData实现无刷新文件上传教程
2014/09/06 PHP
php实现有序数组打印或排序的方法【附Python、C及Go语言实现代码】
2016/11/10 PHP
jquery更换文章内容与改变字体大小代码
2013/09/30 Javascript
浅谈javascript六种数据类型以及特殊注意点
2013/12/20 Javascript
javascript 控制input只允许输入的各种指定内容
2014/06/19 Javascript
调试JavaScript中正则表达式中遇到的问题
2015/01/27 Javascript
JS中字符串trim()使用示例
2015/05/26 Javascript
原生js实现弹出层登录拖拽功能
2016/12/05 Javascript
JS实现PC手机端和嵌入式滑动拼图验证码三种效果
2017/02/15 Javascript
深入理解Promise.all
2018/08/08 Javascript
微信小程序五子棋游戏AI实现方法【附demo源码下载】
2019/02/20 Javascript
JS JQuery获取data-*属性值方法解析
2020/09/01 jQuery
js删除指定位置超链接中含有百度与360的标题
2021/01/06 Javascript
[57:47]Fnatic vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
[00:15]天涯墨客终极技能展示
2018/08/25 DOTA
Python数据拟合与广义线性回归算法学习
2017/12/22 Python
Python定义一个跨越多行的字符串的多种方法小结
2018/07/19 Python
python实现智能语音天气预报
2019/12/02 Python
Python 给下载文件显示进度条和下载时间的实现
2020/04/02 Python
利用python实现汉诺塔游戏
2021/03/01 Python
CSS3只让背景图片旋转180度的实现示例
2021/03/09 HTML / CSS
amazeui时间组件的实现示例
2020/08/18 HTML / CSS
特步官方商城:Xtep
2017/03/21 全球购物
维氏瑞士军刀英国网站:Victorinox英国
2019/07/04 全球购物
什么是SCM(软件配置管理)
2014/08/16 面试题
高中同学聚会邀请函
2014/01/11 职场文书
农村葬礼主持词
2014/03/31 职场文书
会计学专业自荐信
2014/06/25 职场文书
售后客服个人自我评价
2014/09/14 职场文书
2014年国庆节寄语
2014/09/19 职场文书
教师党员学习群众路线心得体会
2014/11/04 职场文书
简单的离婚协议书范本
2014/11/16 职场文书
转正申请报告格式
2015/05/15 职场文书
大卫科波菲尔读书笔记
2015/06/30 职场文书
JavaScript ES6的函数拓展
2022/01/18 Javascript