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的開發時候網上也看過了很多人...