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 秒表实现代码
Jul 24 Javascript
JQuery中关于jquery.js与jquery.min.js的比较探讨
May 15 Javascript
javascript随机将第一个dom中的图片添加到第二个div中示例
Oct 08 Javascript
基于jQuery实现下拉框
Nov 24 Javascript
JS设置cookie、读取cookie、删除cookie
Apr 17 Javascript
在JavaScript应用中实现延迟加载的方法
Jun 25 Javascript
Node.js 数据加密传输浅析
Nov 16 Javascript
简单实现js放大镜效果
Jul 24 Javascript
解析Vue.js中的组件
Feb 02 Javascript
vue.js 实现点击展开收起动画效果
Jul 07 Javascript
vue-cli 引入jQuery,Bootstrap,popper的方法
Sep 03 jQuery
原生JS实现音乐播放器
Jan 26 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
攻克CakePHP系列一 连接MySQL数据库
2008/10/22 PHP
PHP工程师VIM配置分享
2015/12/15 PHP
ThinkPHP模板标签eq if 中区分0,null,false的方法
2017/03/24 PHP
PHP7创建COOKIE和销毁COOKIE的实例方法
2020/02/03 PHP
ExtJS 2.0实用简明教程之应用ExtJS
2009/04/29 Javascript
jquery tab标签页的制作
2010/05/10 Javascript
javascript 闭包详解
2015/02/15 Javascript
js中 javascript:void(0) 用法详解
2015/08/11 Javascript
JS+CSS实现六级网站导航主菜单效果
2015/09/28 Javascript
火狐和ie下获取javascript 获取event的方法(推荐)
2016/11/26 Javascript
封装运动框架实战左右与上下滑动的焦点轮播图(实例)
2017/10/17 Javascript
通过nodejs 服务器读取HTML文件渲染到页面的方法
2018/05/17 NodeJs
了解Javascript中函数作为对象的魅力
2019/06/19 Javascript
python查询mysql中文乱码问题
2014/11/09 Python
使用Nginx+uWsgi实现Python的Django框架站点动静分离
2016/03/21 Python
Python环境下搭建属于自己的pip源的教程
2016/05/05 Python
python jenkins 打包构建代码的示例代码
2019/11/29 Python
Django添加bootstrap框架时无法加载静态文件的解决方式
2020/03/27 Python
mac安装python3后使用pip和pip3的区别说明
2020/09/01 Python
python用tkinter实现一个简易能进行随机点名的界面
2020/09/27 Python
用python对excel进行操作(读,写,修改)
2020/12/25 Python
pycharm 复制代码出现空格的解决方式
2021/01/15 Python
CSS3实现银灰色动画效果的导航菜单代码
2015/09/01 HTML / CSS
html5使用Drag事件编辑器拖拽上传图片的示例代码
2017/08/22 HTML / CSS
html2canvas生成的图片偏移不完整的解决方法
2020/05/19 HTML / CSS
伦敦最受欢迎的蛋糕店:Konditor & Cook
2019/11/01 全球购物
祖国在我心中演讲稿
2014/01/15 职场文书
迟到检讨书500字
2014/02/05 职场文书
护士毕业实习感言
2014/03/05 职场文书
银行委托书范本
2014/04/04 职场文书
法语专业求职信
2014/07/20 职场文书
甜品店创业计划书
2014/09/21 职场文书
党员个人批评与自我批评
2014/10/14 职场文书
总账会计岗位职责
2015/04/02 职场文书
新员工辞职信范文
2015/05/12 职场文书
酒店宣传语大全
2015/07/13 职场文书