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 加入收藏夹的代码(主流浏览器通用)
May 13 Javascript
jquery中使用循环下拉菜单示例代码
Sep 24 Javascript
纯js实现无限空间大小的本地存储
Jun 18 Javascript
jQuery实现的背景动态变化导航菜单效果
Aug 24 Javascript
Backbone.js框架中Model与Collection的使用实例
May 07 Javascript
js基础之DOM中document对象的常用属性方法详解
Oct 28 Javascript
AngularJS实现在ng-Options加上index的解决方法
Nov 03 Javascript
Node.js获取前端ajax提交的request信息
Feb 20 Javascript
jQuery EasyUI Draggable拖动组件
Mar 01 Javascript
利用vueJs实现图片轮播实例代码
Jun 03 Javascript
vue实现验证码输入框组件
Dec 14 Javascript
微信小程序实现上传word、txt、Excel、PPT等文件功能
May 23 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 静态化实现代码
2009/03/20 PHP
PHP中文乱码解决方案
2015/03/05 PHP
用PHP代码给图片加水印
2015/07/01 PHP
smarty内部日期函数html_select_date()用法实例分析
2015/07/08 PHP
JavaScript 继承的实现
2009/07/09 Javascript
Javascript 自适应高度的Tab选项卡
2011/04/05 Javascript
面向对象的Javascript之三(封装和信息隐藏)
2012/01/27 Javascript
用js来刷新当前页面保留参数的具体实现
2013/12/23 Javascript
Javascript节点关系实例分析
2015/05/15 Javascript
jquery读取xml文件实现省市县三级联动的方法
2015/05/29 Javascript
微信js-sdk分享功能接口常用逻辑封装示例
2016/10/13 Javascript
JavaScript微信定位功能实现方法
2016/11/29 Javascript
Bootstrap CSS组件之下拉菜单(dropdown)
2016/12/17 Javascript
Bootstrap源码解读下拉菜单(4)
2016/12/23 Javascript
jquery实现下拉框多选方法介绍
2017/01/03 Javascript
QRCode.js:基于JQuery的生成二维码JS库的使用
2017/06/23 jQuery
node的process以及child_process模块学习笔记
2018/03/06 Javascript
原生nodejs使用websocket代码分享
2018/04/07 NodeJs
详解关于vue-area-linkage走过的坑
2018/06/27 Javascript
JS异步执行结果获取的3种解决方式
2019/02/19 Javascript
让你30分钟快速掌握vue3教程
2020/10/26 Javascript
Python基于Flask框架配置依赖包信息的项目迁移部署
2018/03/02 Python
Python cookbook(数据结构与算法)从字典中提取子集的方法示例
2018/03/22 Python
python使用pygame模块实现坦克大战游戏
2020/03/25 Python
Python学习笔记之抓取某只基金历史净值数据实战案例
2019/06/03 Python
Python实现微信翻译机器人的方法
2019/08/13 Python
python exit出错原因整理
2020/08/31 Python
python操作ini类型配置文件的实例教程
2020/10/30 Python
Django实现简单的分页功能
2021/02/22 Python
英国最受欢迎的平价女士时装零售商:Roman Originals
2019/11/02 全球购物
财务总经理岗位职责
2014/02/16 职场文书
导师推荐信范文
2014/05/09 职场文书
本科毕业生自荐信
2014/06/02 职场文书
2015年大学班主任工作总结
2015/04/30 职场文书
鸦片战争观后感
2015/06/09 职场文书
安全生产感想
2015/08/07 职场文书