jQuery實現(xiàn)的鼠標(biāo)滑過彈出放大圖片特效
本章節(jié)介紹一下一種比較常用的效果,那就是當(dāng)鼠標(biāo)滑過鏈接的時候,能夠出現(xiàn)跟隨鼠標(biāo)指針移動的圖層,在實際應(yīng)用中,一般是對于鏈接的一些說明文字或者圖片等等,
我們先來看個演示圖
下面是代碼實例:
<link rel="stylesheet" href="../css/common.css" type="text/css" /> <script type="text/javascript" src="../js/jquery-1.2.6.pack.js"></script> <script type="text/javascript" src="../js/jquery.imagePreview.1.0.js"></script> <script type="text/javascript"> $(function(){ $("a.preview").preview(); }); </script> <style type="text/css"> html{overflow-y:scroll;} a.preview,a.preview:hover{text-decoration:none;} a.preview img{margin:20px 10px;} </style> </head> <body> <div class="zxx_out_box"> <div class="zxx_in_box"> <h3 class="zxx_title">圖片放大顯示的jQuery插件演示頁面</h3> <div class="zxx_main_con"> <div class="zxx_test_list"> <a class="preview" title="張含韻"> <img src="http://image.jb51.net/image/study/s/s128/mm1.jpg" /> </a> <a class="preview" title="某不知名美女"> <img src="http://image.jb51.net/image/study/s/s128/mm2.jpg" /> </a> <a class="preview" title="某不知名美女"> <img src="http://image.jb51.net/image/study/s/s128/mm3.jpg" /> </a> <a class="preview" title="某不知名美女"> <img src="http://image.jb51.net/image/study/s/s128/mm4.jpg" /> </a> <a class="preview" title="某不知名美女"> <img src="http://image.jb51.net/image/study/s/s128/mm5.jpg" /> </a> </div> </div> </div> </div> </body> </html>
以上代碼實現(xiàn)了我們的要求,小伙伴們覺著怎么樣呢
接下來我們看看使用方法簡要說明:
1.需要借助a標(biāo)簽的href屬性,此jQuery插件的原理是當(dāng)鼠標(biāo)移至縮略圖(或鏈接文字時),會加載一段含有href指向路徑的大圖html片段,該片段根據(jù)鼠標(biāo)的位置絕對定位。于是產(chǎn)生了鼠標(biāo)移到縮略圖上顯示大圖的效果。大圖的地址就是a標(biāo)簽的href屬性的內(nèi)容。例如:<a href=”xx.jpg”>縮略圖</a> 如果此a標(biāo)簽含有顯示大圖的方法,則頁面就會顯示href所指向的“xx.jpg”這個圖片。
2.使用的方法是:目標(biāo)選擇器.preview();例如上面的<a href=”xx.jpg”>縮略圖</a>就可以使用$(“a”).preview();這段代碼實現(xiàn)鼠標(biāo)移到“縮略圖”這個文字鏈接上顯示xx.jpg這張圖片的效果。
3.僅支持png,gif,jpg,bmp四種格式的圖片,您可以修改插件代碼的正則表達式擴展支持的圖片格式類型。
下面簡單介紹一下實現(xiàn)過程:
一.代碼注釋:
1.this.screenshotPreview=function(){ },聲明一個函數(shù)用來實現(xiàn)跟隨效果,在本效果中,this其實是可以省略,它指向window。
2.xOffset=10,聲明一個變量,用來規(guī)定鼠標(biāo)指針距離彈出圖片的橫向距離。
3.yOffset=30,聲明一個變量,用來規(guī)定鼠標(biāo)指針距離彈出圖片的縱向距離。
4.$("a.screenshot").hover(function(e){},function(e){}),規(guī)定當(dāng)鼠標(biāo)移到鏈接和離開鏈接所要執(zhí)行的函數(shù)。
5.this.t = this.title,將鏈接的title屬性值賦值給t屬性,這里的this是指向當(dāng)前鼠標(biāo)懸浮的鏈接對象。
6.var c = (this.t != "") ? "<br/>" + this.t : "",如果this.t不為空,也就是存在title屬性值,那么插入一個換行符并且連接當(dāng)前標(biāo)題內(nèi)容,否則將c設(shè)置為空。
7.$("body").append("<p id='screenshot'><img src='"+ this.rel +"'/>"+ c +"</p>"),將圖片和相關(guān)說明添加到body。
8.$("#screenshot").css("top",(e.pageY-xOffset)+"px").css("left",(e.pageX+yOffset)+"px").fadeIn("fast"),設(shè)置p元素的top和left屬性值,并且采用淡入效果展現(xiàn)。
9.this.title=this.t,將title內(nèi)容賦值給this.title,其實不要這一句也沒有任何問題,有點多余。
10.$("#screenshot").remove(),移出p元素。
11.$("a.screenshot").mousemove(function(e){}),用來設(shè)置當(dāng)鼠標(biāo)指針移動時,圖片能夠跟隨。
12.$("#screenshot").css("top",(e.pageY-xOffset)+"px") .css("left",(e.pageX+yOffset)+"px"),設(shè)置p元素的top和left屬性值,能夠?qū)崿F(xiàn)跟隨效果。
二.相關(guān)閱讀:
1.hover()函數(shù)可以參閱jQuery的hover事件一章節(jié)。
2.append()函數(shù)可以參閱jQuery的append()方法一章節(jié)。
3.css()函數(shù)可以參閱jQuery的css()方法一章節(jié)。
4.pageY屬性可以參閱jQuery的event.pageY屬性一章節(jié)。
5.fadeIn()函數(shù)可以參閱jQuery的fadeIn()方法一章節(jié)。
6.remove()函數(shù)可以參閱jQuery的remove()方法一章節(jié)。
7.mousemove事件可以參閱jQuery的mousemove事件一章節(jié)。
- jQuery實現(xiàn)鼠標(biāo)滑過Div層背景變顏色的方法
- jquery鼠標(biāo)放上去顯示懸浮層即彈出定位的div層
- 基于jquery的用鼠標(biāo)畫出可移動的div
- jQuery實現(xiàn)div跟隨鼠標(biāo)移動
- jQuery實現(xiàn)鼠標(biāo)跟隨提示層效果代碼(可顯示文本,Div,Table,Html等)
- jQuery實現(xiàn)DIV層收縮展開的方法
- jquery實現(xiàn)鼠標(biāo)滑過顯示提示框的方法
- jQuery實現(xiàn)表格展開與折疊的方法
- Jquery實現(xiàn)由下向上展開效果的例子
- jQuery實現(xiàn)DIV響應(yīng)鼠標(biāo)滑過由下向上展開效果示例【測試可用】
相關(guān)文章
jQuery實現(xiàn)元素拖拽并cookie保存順序的方法
這篇文章主要介紹了jQuery實現(xiàn)元素拖拽并cookie保存順序的方法,涉及jQuery響應(yīng)鼠標(biāo)事件實現(xiàn)頁面元素屬性變換的技巧與使用jQuery的cookie插件保存頁面信息的功能,需要的朋友可以參考下2016-02-02使用Jquery Aajx訪問WCF服務(wù)(GET、POST、PUT、DELETE)
使用Jquery Aajx訪問WCF服務(wù)(GET、POST、PUT、DELETE),需要的朋友可以參考下2012-03-03各瀏覽器中querySelector和querySelectorAll的實現(xiàn)差異分析
querySelector和querySelectorAll的參數(shù)須是符合 css selector 的字符串。不同的是querySelector返回的是一個對象,querySelectorAll返回的一個集合(NodeList)2012-05-05Jquery中request和request.form和request.querystring的區(qū)別
Request.Form是獲取以POST方式提交的表單數(shù)據(jù),Request.QueryString主要是獲取地址欄參數(shù)或者以Get方式提交的數(shù)據(jù),而Request則包含以上兩種方式,會在Request.QueryString和Request.Form中都查詢一遍變量2015-11-11jQuery插件AjaxFileUpload實現(xiàn)ajax文件上傳
這篇文章主要為大家詳細介紹了jQuery插件AjaxFileUpload實現(xiàn)ajax文件上傳的相關(guān)資料,需要的朋友可以參考下2016-05-05使用jquery mobile做幻燈播放效果實現(xiàn)步驟
使用jquery mobile,可以很容易實現(xiàn)幻燈播放效果,擺脫繁雜的步驟輕松實現(xiàn),接下來介紹,有需要的朋友可以參考下2013-01-01jQuery Validate插件自定義驗證規(guī)則的方法
這篇文章主要介紹了jQuery Validate插件自定義驗證規(guī)則的方法,f非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-12-12