JQuery鼠标移到小图显示大图效果的方法
本文实例讲述了JQuery鼠标移到小图显示大图效果的方法。分享给大家供大家参考。具体分析如下:
这里的显示大图功能类似上一篇《JQuery实现超链接鼠标提示效果的方法》,稍微修改一下代码,就可以做出一个图片的提示效果。
参考前面的超链接提示效果的代码,只需要将创建的div元素的代码改为:
//创建div元素图片提示 vartooltip="<divid="tooltip"><imgsrc=""+this.href+""alt="预览图"><\/div>"; </div>
当鼠标滑过图片后,显示就会有大图提示效果。为了使效果更为人性化,还需要为图片增加说明文字,即提示出来的大图片下面出现图片相应的介绍文字。
可以根据超链接的title属性值来获得图片相应的介绍文字,JQuery代码如下:
this.myTitle=this.title; this.title=""; varimgTitle=this.myTitle?"<br/>"+this.myTitle:"";
然后将它追加到div元素中,代码如下:
//创建div元素 vartooltip="<divid='tooltip'><imgsrc='"+this.href+"'alt='产品预览图'/>"+imgTitle+"<\/div>";
在判断this.myTitle是否为""时,使用了三元运算。三元运算结构为:Boolean?值1:值2。它的第1个参数必须为布尔值。当然三元运算也可以用“if(){}else{}”代替,例如:
varimgTitle; if(this.myTitle){ imgTitle="<br/>"+this.myTitle; }else{ imgTitle=""; }
这样,图片提示效果就完成了,当鼠标滑过图片时,图片会出现预览的大图,大图下面还会有介绍文字。
本例完整代码如下:
<scripttype="text/javascript"> //<![CDATA[ $(function(){ varx=10; vary=20; $("a.tooltip").mouseover(function(e){ this.myTitle=this.title; this.title=""; varimgTitle=this.myTitle?"<br/>"+this.myTitle:""; vartooltip="<divid='tooltip'><imgsrc='"+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程序设计有所帮助。