搜尋
首頁web前端js教程jQuery當滑鼠懸停時放大圖片的效果實例_jquery

這個效果最初源自於小敏同志的一個想法,剛開始做的時候只能實現彈出的圖片是固定的,不能隨滑鼠移動,最後加以改善,終於實現了比較理想的效果。今天就把製作該效果的經驗與大家一同分享。先看看最終效果示範:

jQuery當滑鼠懸停時放大圖片的效果實例_jquery

HTML結構部分:
先寫一個無序列表的結構,a標籤中的img標籤用來存放小圖片,a標籤加入一個rel屬性,用來存放大圖片的路徑。

複製程式碼 程式碼如下:



CSS樣式表部分:
bigimage是用jQuery創建的一個p標籤的id,用來存放大圖片,設定其樣式為絕對定位,並先隱藏。為a標籤加上一個黑色的背景,是為了讓圖片變暗的效果做鋪墊。就這樣,一個簡單的相簿效果就完成了。
複製程式碼 程式碼如下:

ul#gallery { list-style:none; width:n 660px; margin:0 auto 10px; padding-left:20px; border:1px solid #d3d3d3; background:#fff; overflow:hidden; }
 ul#gallery li { width:200px; ; margin:20px 20px 20px 0; }   
 ul#gallery li a.smallimage { background:#333; /*加上一個黑色的背景為圖片變暗的效果做鋪墊*/ display:block; width:200px; height:200px; }  
 #bigimage { position:absolute; display:none; /*大圖片的父標籤設定相對定位並將顯示樣式設為隱藏*/ }  
 #bigimage img { width:400px; height:400px; padding:5px; background:#fff; border:1px solid #e3e3e3; }

jQuery程式碼部分:
先宣告2個變數,y用大圖片離滑鼠的距離。在body中追加一個id為bigimage的p標籤,用來存放大圖片,大圖片的路徑就包含在了a標籤的rel屬性中。當滑鼠在小圖片懸停的時候,將獲取到的滑鼠在瀏覽器中的座標賦值給大圖片絕對定位的座標,並以淡入的效果顯示。之後,再給小圖片綁定一個mousemove事件,也就是當滑鼠移動的時候,大圖片就會跟著滑鼠移動了。看以下的程式碼:
複製程式碼 程式碼如下:


 

到這一步,效果已經差不多了,但是正如藍秋楓同誌所提到的,效果還不完美。如果彈出的大圖片超過了瀏覽器的寬度就會出現滾動條,這對於用戶體驗來說的確很不好。趁週末有時間我又在原來的基礎上進行了修改。
先分析下思路,預設情況下,彈出的大圖片的位置始終是在當前滑鼠指標的右側,如果當前滑鼠指標離瀏覽器右側邊界的寬度小於彈出的大圖片的寬度時,就會出現圖片溢出瀏覽器的現象。那麼只要寫一個語句判斷目前滑鼠指標離瀏覽器右側的邊界的寬度是否小於大圖片的寬度,然後再根據這個判斷來顯示。
有了上面的想法就好辦了,為了讓程式碼更簡潔,提高復用性,我新增了一個widthJudge函數用來判斷寬度:

複製程式碼 程式碼如下:

function widthJudge(e){ 
        //頁面上的總寬度減去滑鼠目前的X座標得到右側邊界的寬度 
    var marginRight = doc
             //取得彈出的大圖片的寬度 
     var imageWidth = $("#big   的寬度小於彈出的大圖片的寬度 
    if(marginRight      { 
               
                 //且此時大影像的位置應該是目前滑鼠指標的寬度減去新的x的值 
        $("#bigimage").css({top:(e.pageY - y ) 'px',left:(e.pageX - x ) 'px'}); 
}else{    //否則 
                  //仍為x定義為22,且此步驟千萬無法省略,因為先前x              //如果右側的寬度值夠顯示大圖片,將仍依照原先的位置顯示 
         $("#bigimage").css({top:(e.pageY - y ) 'px',left:(e.pageX x ) 'px' }); 
     }; 
 }


最後結合上面的程式碼,完整的jQuery程式碼部分如下:









複製程式碼


程式碼如下:


     }   });   //]]>    //]]>   解決了圖片溢位瀏覽器的問題,這個效果還算不錯了。如果你喜歡這個效果,你可以下載原始檔
陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
JavaScript評論:使用//和 / * * / * / * /JavaScript評論:使用//和 / * * / * / * /May 13, 2025 pm 03:49 PM

JavaScriptusestwotypesofcomments:single-line(//)andmulti-line(//).1)Use//forquicknotesorsingle-lineexplanations.2)Use//forlongerexplanationsorcommentingoutblocksofcode.Commentsshouldexplainthe'why',notthe'what',andbeplacedabovetherelevantcodeforclari

Python vs. JavaScript:開發人員的比較分析Python vs. JavaScript:開發人員的比較分析May 09, 2025 am 12:22 AM

Python和JavaScript的主要區別在於類型系統和應用場景。 1.Python使用動態類型,適合科學計算和數據分析。 2.JavaScript採用弱類型,廣泛用於前端和全棧開發。兩者在異步編程和性能優化上各有優勢,選擇時應根據項目需求決定。

Python vs. JavaScript:選擇合適的工具Python vs. JavaScript:選擇合適的工具May 08, 2025 am 12:10 AM

選擇Python還是JavaScript取決於項目類型:1)數據科學和自動化任務選擇Python;2)前端和全棧開發選擇JavaScript。 Python因其在數據處理和自動化方面的強大庫而備受青睞,而JavaScript則因其在網頁交互和全棧開發中的優勢而不可或缺。

Python和JavaScript:了解每個的優勢Python和JavaScript:了解每個的優勢May 06, 2025 am 12:15 AM

Python和JavaScript各有優勢,選擇取決於項目需求和個人偏好。 1.Python易學,語法簡潔,適用於數據科學和後端開發,但執行速度較慢。 2.JavaScript在前端開發中無處不在,異步編程能力強,Node.js使其適用於全棧開發,但語法可能複雜且易出錯。

JavaScript的核心:它是在C還是C上構建的?JavaScript的核心:它是在C還是C上構建的?May 05, 2025 am 12:07 AM

javascriptisnotbuiltoncorc; sanInterpretedlanguagethatrunsonenginesoftenwritteninc.1)JavascriptwasdesignedAsignedAsalightWeight,drackendedlanguageforwebbrowsers.2)Enginesevolvedfromsimpleterterpretpretpretpretpreterterpretpretpretpretpretpretpretpretpretcompilerers,典型地,替代品。

JavaScript應用程序:從前端到後端JavaScript應用程序:從前端到後端May 04, 2025 am 12:12 AM

JavaScript可用於前端和後端開發。前端通過DOM操作增強用戶體驗,後端通過Node.js處理服務器任務。 1.前端示例:改變網頁文本內容。 2.後端示例:創建Node.js服務器。

Python vs. JavaScript:您應該學到哪種語言?Python vs. JavaScript:您應該學到哪種語言?May 03, 2025 am 12:10 AM

選擇Python還是JavaScript應基於職業發展、學習曲線和生態系統:1)職業發展:Python適合數據科學和後端開發,JavaScript適合前端和全棧開發。 2)學習曲線:Python語法簡潔,適合初學者;JavaScript語法靈活。 3)生態系統:Python有豐富的科學計算庫,JavaScript有強大的前端框架。

JavaScript框架:為現代網絡開發提供動力JavaScript框架:為現代網絡開發提供動力May 02, 2025 am 12:04 AM

JavaScript框架的強大之處在於簡化開發、提升用戶體驗和應用性能。選擇框架時應考慮:1.項目規模和復雜度,2.團隊經驗,3.生態系統和社區支持。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用