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事件绑定快捷键以ctrl+k为例
Sep 30 Javascript
JavaScript按值删除数组元素的方法
Apr 24 Javascript
Bootstrap入门书籍之(一)排版
Feb 17 Javascript
Angularjs结合Bootstrap制作的一个TODO List
Aug 18 Javascript
javascript this详细介绍
Sep 19 Javascript
Three.js基础部分学习
Jan 08 Javascript
js实现选项卡内容切换以及折叠和展开效果【推荐】
Jan 08 Javascript
Node.js 8 中的 util.promisify的详解
Jun 12 Javascript
详解webpack4多入口、多页面项目构建案例
May 25 Javascript
新手入门带你学习JavaScript引擎运行原理
Jun 24 Javascript
原生js代码能实现call和bind吗
Jul 31 Javascript
谈谈node.js中的模块系统
Sep 01 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入门学习知识点四 PHP正则表达式基本应用
2011/07/14 PHP
PHP设计模式之代理模式的深入解析
2013/06/13 PHP
微信支付PHP SDK之微信公众号支付代码详解
2015/12/09 PHP
PHP jpgraph库的配置及生成统计图表:折线图、柱状图、饼状图
2017/05/15 PHP
PHP PDOStatement::errorCode讲解
2019/01/31 PHP
PHP count()函数讲解
2019/02/03 PHP
Laravel-admin之修改操作日志的方法
2019/09/30 PHP
laravel withCount 统计关联数量的方法
2019/10/10 PHP
jquery 可排列的表实现代码
2009/11/13 Javascript
JavaScript 函数replace深入了解
2013/03/14 Javascript
js 页面元素的几个用法总结
2013/11/18 Javascript
innerText 使用示例
2014/01/23 Javascript
浅谈JavaScript事件的属性列表
2015/03/01 Javascript
基于BootStrap的图片轮播效果展示实例代码
2016/05/23 Javascript
Javascript基础学习笔记(菜鸟必看篇)
2016/07/22 Javascript
详解JS去重及字符串奇数位小写转大写
2016/12/29 Javascript
实现div内部滚动条滚动到底部和顶部的代码
2017/11/15 Javascript
Vue实现带进度条的文件拖动上传功能
2018/02/23 Javascript
浅谈vue后台管理系统权限控制思考与实践
2018/12/19 Javascript
JS中的算法与数据结构之二叉查找树(Binary Sort Tree)实例详解
2019/08/16 Javascript
Vue 实现复制功能,不需要任何结构内容直接复制方式
2019/11/09 Javascript
Python 调用PIL库失败的解决方法
2019/01/08 Python
flask框架单元测试原理与用法实例分析
2019/07/23 Python
Python中list的交、并、差集获取方法示例
2019/08/01 Python
Django跨域资源共享问题(推荐)
2020/03/09 Python
Python3.7.0 Shell添加清屏快捷键的实现示例
2020/03/23 Python
pymysql之cur.fetchall() 和cur.fetchone()用法详解
2020/05/15 Python
Otticanet澳大利亚:最顶尖的世界名牌眼镜, 能得到打折季的价格
2018/08/23 全球购物
企划主管岗位职责
2013/12/12 职场文书
婚前财产协议书范本
2014/10/19 职场文书
工程部经理岗位职责
2015/02/02 职场文书
标枪加油稿
2015/07/22 职场文书
入党心得体会
2019/06/20 职场文书
PYTHON使用Matplotlib去实现各种条形图的绘制
2022/03/22 Python
vue使用localStorage持久性存储实现评论列表
2022/04/14 Vue.js
基于Python编写一个监控CPU的应用系统
2022/06/25 Python