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 相关文章推荐
Javascript 获取链接(url)参数的方法[正则与截取字符串]
Feb 09 Javascript
详谈jQuery操纵DOM元素属性 attr()和removeAtrr()方法
Jan 22 Javascript
js查看一个函数的执行时间实例代码
Sep 12 Javascript
jQuery中select与datalist制作下拉菜单时的区别浅析
Dec 30 Javascript
深入理解Angularjs中的$resource服务
Dec 31 Javascript
jQuery编写textarea输入字数限制代码
Mar 23 jQuery
用vue的双向绑定简单实现一个todo-list的示例代码
Aug 03 Javascript
浅谈vue-lazyload实现的详细过程
Aug 22 Javascript
vue 引入公共css文件的简单方法(推荐)
Jan 20 Javascript
Angularjs 根据一个select的值去设置另一个select的值方法
Aug 13 Javascript
Node.js 使用request模块下载文件的实例
Sep 05 Javascript
vue+element-ui表格封装tag标签使用插槽
Jun 18 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
第1次亲密接触PHP5(1)
2006/10/09 PHP
查找mysql字段中固定字符串并替换的几个方法
2012/09/23 PHP
PHP快速按行读取CSV大文件的封装类分享(也适用于其它超大文本文件)
2014/04/10 PHP
Linux下安装oracle客户端并配置php5.3
2014/10/12 PHP
php读取txt文件并将数据插入到数据库
2016/02/23 PHP
浅谈PHP面向对象之访问者模式+组合模式
2017/05/22 PHP
php微信开发之谷歌测距
2018/06/14 PHP
php微信扫码支付 php公众号支付
2019/03/24 PHP
PHP下载大文件失败并限制下载速度的实例代码
2019/05/10 PHP
JavaScript下申明对象的几种方法小结
2008/10/02 Javascript
基于jquery创建的一个图片、视频缓冲的效果样式插件
2012/08/28 Javascript
根据表格中的某一列进行排序的javascript代码
2013/11/29 Javascript
JavaScript面向对象编程入门教程
2014/04/16 Javascript
nodejs教程之环境安装及运行
2014/11/21 NodeJs
Javascript的表单验证-提交表单
2016/03/18 Javascript
Bootstrap CSS布局之图像
2016/12/17 Javascript
js基于myFocus实现轮播图效果
2017/02/14 Javascript
mongoose设置unique不生效问题的解决及如何移除unique的限制
2017/11/07 Javascript
form表单数据封装成json格式并提交给服务器的实现方法
2017/12/14 Javascript
响应式框架Bootstrap栅格系统的实例
2017/12/19 Javascript
详解vue如何使用rules对表单字段进行校验
2018/10/17 Javascript
react-native滑动吸顶效果的实现过程
2019/06/03 Javascript
js实现掷骰子小游戏
2019/10/24 Javascript
Vue路由对象属性 .meta $route.matched详解
2019/11/04 Javascript
微信小程序图片自适应实现解析
2020/01/21 Javascript
jquery css实现流程进度条
2020/03/26 jQuery
基于脚手架创建Vue项目实现步骤详解
2020/08/03 Javascript
[02:28]DOTA2 2015国际邀请赛中国区预选赛首日现场百态
2015/05/26 DOTA
Python中的生成器和yield详细介绍
2015/01/09 Python
Python文本处理简单易懂方法解析
2019/12/19 Python
CSS3中颜色线性渐变实战
2015/07/18 HTML / CSS
美国在线打印网站:Overnight Prints
2018/10/11 全球购物
走进敬老院活动总结
2014/07/10 职场文书
惊涛骇浪观后感
2015/06/05 职场文书
2015年暑期社会实践报告
2015/07/13 职场文书
Python上下文管理器Content Manager
2021/06/26 Python