JQuery zoom外掛程式學習

2021-09-20 05:54:43 字數 1950 閱讀 3526

jquery zoom是一款放大外掛程式,經常用在**商品頁面裡。

使用jquery zoom外掛程式,除了需要引入jquery.js外,還要引入jquery.zoom.js檔案及jqzoom.css檔案

rel=

"stylesheet"

href=

"css/jqzoom.css"

type=

"text/css"

media=

"screen"

>

下面是要操作的節點

最後加上初始化的js**,不出意外就成了

$(document).ready(function());
但事情總不會這麼順利,這個問題害我忙活了半天,搞的我還以為jquery.zoom.js檔案有錯呢,結果把整個js檔案研究了一遍,好在**不多,用chrome除錯執行一遍還是能看的懂得。

問題是這樣的,當放大鏡放大時,應該在原來的影象旁邊建立乙個div顯示,可到我這裡,這個div卻偏離了原圖幾百個畫素,在左上角,放大後卻跑到了右下角,也就是這個div的left和top偏了幾百個畫素。所以我就把**研究了一遍,最後發現沒有問題,而且我也大概知道了問題的原因,下面的圖是我根據**的意思畫的圖

這個是jquery.zoom.js裡面用來為這個div定位的**

var imageleft =

$(this).offset().left

;var imagetop =

$(this).offset().top

;console.log("imageleft:"

+imageleft+

",imagetop:"

+imagetop);

var imagewidth =

$(this).children('img').get(0).offsetwidth

;var imageheight =

$(this).children('img').get(0).offsetheight

;noalt =

$(this).children("img").attr("alt");

var bigimage =

$(this).children("img").attr("jqimg");

$(this).children("img").attr("alt"

,'');

if ($("div.zoomdiv").get().length

==0)

if (settings.position

=="right")

else

}else

}$("div.zoomdiv").css();

我想對前端比較熟悉的應該知道問題出在**了,沒錯,*這個div定位應該相對瀏覽器才行,而我這裡卻是相對于父節點*。那接下來就簡單多了,原來,在我這個div的祖先節點存在多個position:relative,要知道對於position:absolute;的節點,父元素如果出現relative,則是相對于父元素進行定位,否則才是相對於瀏覽器原點。所以為只要將這些relative去掉,或者覆蓋掉,就沒有問題了

npapi外掛程式學習

作為乙個菜鳥,我是怎麼認識npapi外掛程式的。1 什麼是外掛程式?故名思意,乙個大傢伙的小功能 瀏覽器上的某個功能 2 為什麼要用到外掛程式?在瀏覽器上面可以完成前端資料與後台資料的通訊。3 與這樣的外掛程式功能類似的還有其他的開發程式嗎?我也不知道。4 為什麼要用c 語言開發np外掛程式呢?優勢...

jQuery 外掛程式學習

總結 1.fn.pluginname function opt 就是為jquery的prototype定義了函式,這樣,任何乙個jquery物件都可以使用這個成員函式,這種寫法直觀明了,你只要知道的就是 fn jquery.prototype prototype 2.fn.extend,在jquer...

Jquery外掛程式學習

前端開發也工作了一段時間,jquery 頁寫了很多,但是都是些的很零散的,不是很好用,網上看了很多人寫的jquery 很好用,而且到每個專案中都可以使用,本人就感覺很好奇他們是怎麼做到的呢,於是自己也開始想學習封裝一下,才用了jquery外掛程式的學習,在學習jquery的開發時候網上也看過了很多人...