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 相关文章推荐
JS URL传中文参数引发的乱码问题
Sep 02 Javascript
学习ExtJS Column布局
Oct 08 Javascript
JavaScript中的ArrayBuffer详细介绍
Dec 08 Javascript
jQuery基础的工厂函数以及定时器的经典实例分析
May 20 Javascript
jQuery插件ContextMenu自定义图标
Mar 15 Javascript
使用js实现将后台传入的json数据放在前台显示
Aug 06 Javascript
微信小程序与后台PHP交互的方法实例分析
Dec 10 Javascript
vue 父组件中调用子组件函数的方法
Jun 06 Javascript
javascript面向对象创建对象的方式小结
Jul 29 Javascript
js利用递归与promise 按顺序请求数据的方法
Aug 30 Javascript
微信小程序获取位置展示地图并标注信息的实例代码
Sep 01 Javascript
koa中间件核心(koa-compose)源码解读分析
Jun 15 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
抓取并下载CSS中所有图片文件的php代码
2011/09/26 PHP
windows的文件系统机制引发的PHP路径爆破问题分析
2014/07/28 PHP
PHP图片处理之使用imagecopyresampled函数实现图片缩放例子
2014/11/19 PHP
PHP模块化安装教程
2016/06/01 PHP
一些不错的js函数ajax
2008/08/20 Javascript
JQuery 选择器、过滤器介绍
2011/02/14 Javascript
为Javascript中的String对象添加去除左右空格的方法(示例代码)
2013/11/30 Javascript
基于javascript实现图片切换效果
2016/04/17 Javascript
easyui validatebox验证
2016/04/29 Javascript
如何用JavaScript实现动态修改CSS样式表
2016/05/20 Javascript
JavaScript面试题(指针、帽子和女朋友)
2016/11/23 Javascript
浅述Javascript的外部对象
2016/12/07 Javascript
Vue 项目中遇到的跨域问题及解决方法(后台php)
2018/03/28 Javascript
JavaScript栈和队列相关操作与实现方法详解
2018/12/07 Javascript
微信小程序日历/日期选择插件使用方法详解
2018/12/28 Javascript
layui固定下拉框的显示条数(有滚动条)的方法
2019/09/10 Javascript
微信小程序实现多行文字超出部分省略号显示功能
2019/10/23 Javascript
Python中的字符串切片(截取字符串)的详解
2019/05/15 Python
python实现将文件夹内的每张图片批量分割成多张
2019/07/22 Python
Python3 批量扫描端口的例子
2019/07/25 Python
详解python 利用echarts画地图(热力图)(世界地图,省市地图,区县地图)
2019/08/06 Python
HTML5 CSS3新的WEB标准和浏览器支持
2009/07/16 HTML / CSS
Michael Kors香港官网:美国奢侈品品牌
2019/12/26 全球购物
教育专业自荐书范文
2013/12/17 职场文书
汽车维修专业自荐书
2014/05/26 职场文书
报效祖国演讲稿
2014/09/15 职场文书
2014年幼儿园学期工作总结
2014/12/05 职场文书
2015年计划生育责任书
2015/05/08 职场文书
信息简报范文
2015/07/21 职场文书
开学典礼致辞
2015/07/29 职场文书
2016教师暑期培训学习心得体会
2016/01/09 职场文书
导游词之上海东方明珠塔
2019/09/25 职场文书
MySQL利用UNION连接2个查询排序失效详解
2021/11/20 MySQL
SpringBoot中获取profile的方法详解
2022/04/08 Java/Android
golang定时器
2022/04/14 Golang
MySQL批量更新不同表中的数据
2022/05/11 MySQL