本文實例講述了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程式設計有所幫助。