Version Notes
1)To have a better view of zoom functionality you need to upload image equal or greater than 800*800 pixels
2)template/catalog/product/view/media.phtml file will be ignored and the one in the extension will be used for the zoom function to work on the product page. So if you have customized your media.phtml file, you will need to copy your custom code and paste it in this "new" file located at /design/frontend/default/default/template/zoom/media.phtml. For help, please get in touch with us at magento@cueblocks.com
3)This extension will work for simple,configurable,bundled,virtual and grouped products.
Download this release
Release Info
Developer | Magento Core Team |
Extension | CueBlocks_Zoom |
Version | 1.2 |
Comparing to | |
See all releases |
Code changes from version 1.1 to 1.2
- app/code/community/JM/Zoom/Helper/Data.php +2 -2
- app/code/community/JM/Zoom/etc/adminhtml.xml +0 -33
- app/code/community/JM/Zoom/etc/config.xml +2 -2
- app/code/community/JM/Zoom/etc/system.xml +0 -19
- app/code/community/JM/readme.txt +2 -2
- app/design/frontend/default/default/layout/zoom.xml +11 -9
- app/design/frontend/default/default/template/zoom/media.phtml +55 -54
- app/etc/modules/JM_Zoom.xml +2 -2
- js/jquery/Cuejqzoom.js +8 -10
- js/jquery/jquery.jqzoom1.0.1.js +1143 -0
- js/jquery/jqzoom.pack.1.0.1.js +0 -12
- package.xml +5 -5
- skin/frontend/default/default/css/jqzoom.css +2 -1
- skin/frontend/default/default/images/zoomloader.gif +0 -0
app/code/community/JM/Zoom/Helper/Data.php
CHANGED
@@ -1,8 +1,8 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
*
|
4 |
-
* Package :- CueBlocks_Zoom-1.
|
5 |
-
* Version :- 1.
|
6 |
* Edition :- Community
|
7 |
* Developed By :- CueBlocks.com
|
8 |
*
|
1 |
<?php
|
2 |
/**
|
3 |
*
|
4 |
+
* Package :- CueBlocks_Zoom-1.2.tgz
|
5 |
+
* Version :- 1.2
|
6 |
* Edition :- Community
|
7 |
* Developed By :- CueBlocks.com
|
8 |
*
|
app/code/community/JM/Zoom/etc/adminhtml.xml
DELETED
@@ -1,33 +0,0 @@
|
|
1 |
-
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
-
<!--
|
3 |
-
/**
|
4 |
-
*
|
5 |
-
* Package :- CueBlocks_Zoom-1.1.tgz
|
6 |
-
* Version :- 1.1
|
7 |
-
* Edition :- Community
|
8 |
-
* Developed By :- CueBlocks.com
|
9 |
-
*
|
10 |
-
*/
|
11 |
-
-->
|
12 |
-
<config>
|
13 |
-
<acl>
|
14 |
-
<resources>
|
15 |
-
<admin>
|
16 |
-
<children>
|
17 |
-
<system>
|
18 |
-
<children>
|
19 |
-
<config>
|
20 |
-
<children>
|
21 |
-
<zoom translate="title" module="zoom">
|
22 |
-
<title>Zoom Section</title>
|
23 |
-
<sort_order>55</sort_order>
|
24 |
-
</zoom>
|
25 |
-
</children>
|
26 |
-
</config>
|
27 |
-
</children>
|
28 |
-
</system>
|
29 |
-
</children>
|
30 |
-
</admin>
|
31 |
-
</resources>
|
32 |
-
</acl>
|
33 |
-
</config>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/JM/Zoom/etc/config.xml
CHANGED
@@ -2,8 +2,8 @@
|
|
2 |
<!--
|
3 |
/**
|
4 |
*
|
5 |
-
* Package :- CueBlocks_Zoom-1.
|
6 |
-
* Version :- 1.
|
7 |
* Edition :- Community
|
8 |
* Developed By :- CueBlocks.com
|
9 |
*
|
2 |
<!--
|
3 |
/**
|
4 |
*
|
5 |
+
* Package :- CueBlocks_Zoom-1.2.tgz
|
6 |
+
* Version :- 1.2
|
7 |
* Edition :- Community
|
8 |
* Developed By :- CueBlocks.com
|
9 |
*
|
app/code/community/JM/Zoom/etc/system.xml
DELETED
@@ -1,19 +0,0 @@
|
|
1 |
-
<?xml version="1.0"?>
|
2 |
-
<!--
|
3 |
-
/**
|
4 |
-
*
|
5 |
-
* Package :- CueBlocks_Zoom-1.1.tgz
|
6 |
-
* Version :- 1.1
|
7 |
-
* Edition :- Community
|
8 |
-
* Developed By :- CueBlocks.com
|
9 |
-
*
|
10 |
-
*/
|
11 |
-
-->
|
12 |
-
<config>
|
13 |
-
<tabs>
|
14 |
-
<zoom-master translate="label" module="zoom">
|
15 |
-
<label>zoom-master</label>
|
16 |
-
<sort_order>196</sort_order>
|
17 |
-
</zoom-master>
|
18 |
-
</tabs>
|
19 |
-
</config>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/JM/readme.txt
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
/**
|
2 |
-
* Package :- CueBlocks_Zoom-1.
|
3 |
-
* Version :- 1.
|
4 |
* Edition :- Community
|
5 |
* Developed By :- CueBlocks.com
|
6 |
*
|
1 |
/**
|
2 |
+
* Package :- CueBlocks_Zoom-1.2.tgz
|
3 |
+
* Version :- 1.2
|
4 |
* Edition :- Community
|
5 |
* Developed By :- CueBlocks.com
|
6 |
*
|
app/design/frontend/default/default/layout/zoom.xml
CHANGED
@@ -2,8 +2,8 @@
|
|
2 |
<!--
|
3 |
/**
|
4 |
*
|
5 |
-
* Package :- CueBlocks_Zoom-1.
|
6 |
-
* Version :- 1.
|
7 |
* Edition :- Community
|
8 |
* Developed By :- CueBlocks.com
|
9 |
*
|
@@ -12,11 +12,12 @@
|
|
12 |
<layout version="0.1.0">
|
13 |
|
14 |
<catalog_product_view>
|
15 |
-
<reference name="head">
|
|
|
16 |
<action method="addJs"><script>jquery/jquery-1.3.2.min.js</script></action>
|
17 |
-
<action method="addJs"><script>jquery/
|
18 |
<action method="addJs"><script>jquery/Cuejqzoom.js</script></action>
|
19 |
-
|
20 |
</reference>
|
21 |
<reference name="product.info.media">
|
22 |
<action method="setTemplate" ifconfig="zoom/general/enabled"><template>zoom/media.phtml</template></action>
|
@@ -24,11 +25,12 @@
|
|
24 |
</catalog_product_view>
|
25 |
|
26 |
<review_product_list>
|
27 |
-
<reference name="head">
|
|
|
28 |
<action method="addJs"><script>jquery/jquery-1.3.2.min.js</script></action>
|
29 |
-
<action method="addJs"><script>jquery/
|
30 |
-
<action method="addJs"><script>jquery/Cuejqzoom.js</script></action>
|
31 |
-
|
32 |
</reference>
|
33 |
<reference name="product.info.media">
|
34 |
<action method="setTemplate" ifconfig="zoom/general/enabled"><template>zoom/media.phtml</template></action>
|
2 |
<!--
|
3 |
/**
|
4 |
*
|
5 |
+
* Package :- CueBlocks_Zoom-1.2.tgz
|
6 |
+
* Version :- 1.2
|
7 |
* Edition :- Community
|
8 |
* Developed By :- CueBlocks.com
|
9 |
*
|
12 |
<layout version="0.1.0">
|
13 |
|
14 |
<catalog_product_view>
|
15 |
+
<reference name="head">
|
16 |
+
<action method="addItem"><type>skin_css</type><name>css/jqzoom.css</name><params/></action>
|
17 |
<action method="addJs"><script>jquery/jquery-1.3.2.min.js</script></action>
|
18 |
+
<action method="addJs"><script>jquery/jquery.jqzoom1.0.1.js</script></action>
|
19 |
<action method="addJs"><script>jquery/Cuejqzoom.js</script></action>
|
20 |
+
|
21 |
</reference>
|
22 |
<reference name="product.info.media">
|
23 |
<action method="setTemplate" ifconfig="zoom/general/enabled"><template>zoom/media.phtml</template></action>
|
25 |
</catalog_product_view>
|
26 |
|
27 |
<review_product_list>
|
28 |
+
<reference name="head">
|
29 |
+
<action method="addItem"><type>skin_css</type><name>css/jqzoom.css</name><params/></action>
|
30 |
<action method="addJs"><script>jquery/jquery-1.3.2.min.js</script></action>
|
31 |
+
<action method="addJs"><script>jquery/jquery.jqzoom1.0.1.js</script></action>
|
32 |
+
<action method="addJs"><script>jquery/Cuejqzoom.js</script></action>
|
33 |
+
|
34 |
</reference>
|
35 |
<reference name="product.info.media">
|
36 |
<action method="setTemplate" ifconfig="zoom/general/enabled"><template>zoom/media.phtml</template></action>
|
app/design/frontend/default/default/template/zoom/media.phtml
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
-
* Package :- CueBlocks_Zoom-1.
|
4 |
-
* Version :- 1.
|
5 |
* Edition :- Community
|
6 |
* Developed By :- CueBlocks.com
|
7 |
*
|
@@ -11,31 +11,7 @@
|
|
11 |
* For help, please get in touch with us at cueblocks.com
|
12 |
*/
|
13 |
?>
|
14 |
-
<script type="text/javascript">
|
15 |
|
16 |
-
jQuery(document).ready(function(){
|
17 |
-
|
18 |
-
var options = {
|
19 |
-
|
20 |
-
zoomWidth: 200,
|
21 |
-
|
22 |
-
zoomHeight: 200,
|
23 |
-
|
24 |
-
showEffect: 'show',
|
25 |
-
|
26 |
-
hideEffect: 'fadeout',
|
27 |
-
|
28 |
-
fadeoutSpeed: 'slow',
|
29 |
-
|
30 |
-
title: false
|
31 |
-
|
32 |
-
}
|
33 |
-
|
34 |
-
jQuery(".jqzoom").jqzoom(options);
|
35 |
-
|
36 |
-
});
|
37 |
-
|
38 |
-
</script>
|
39 |
<?php
|
40 |
$_product = $this->getProduct();
|
41 |
$_helper = $this->helper('catalog/output');
|
@@ -43,16 +19,7 @@
|
|
43 |
$_zoomConfig = Mage::getStoreConfig('zoom/general');
|
44 |
|
45 |
?>
|
46 |
-
|
47 |
-
// show main image
|
48 |
-
jQuery(document).ready(function() {
|
49 |
-
|
50 |
-
// On document ready hide all images first
|
51 |
-
jQuery("#imageShowcase img").hide();
|
52 |
-
jQuery("#productImgDefault").show();
|
53 |
-
|
54 |
-
});
|
55 |
-
</script>
|
56 |
|
57 |
<div id="imageShowcase">
|
58 |
<?php if ($_product->getImage() != 'no_selection' && $_product->getImage()): ?>
|
@@ -74,17 +41,16 @@
|
|
74 |
|
75 |
if (count($this->getGalleryImages()) > 0):
|
76 |
foreach ($this->getGalleryImages() as $_image):
|
77 |
-
|
78 |
-
{
|
79 |
// Find out image name from image URL
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
|
89 |
?>
|
90 |
|
@@ -107,14 +73,11 @@
|
|
107 |
<ul>
|
108 |
<?php foreach ($this->getGalleryImages() as $_image):
|
109 |
|
110 |
-
|
111 |
-
|
112 |
|
113 |
-
|
114 |
-
|
115 |
-
$moreImg = $_image->getLabel();
|
116 |
-
|
117 |
-
}
|
118 |
?>
|
119 |
<li><img border="0" src="<?php echo $this->helper('catalog/image')->init($this->getProduct(), 'thumbnail', $_image->getFile())->resize(56); ?>" onclick="switchmore('<?php echo $moreImg;?>');" alt="<?php echo $this->htmlEscape($_image->getLabel()) ?>" title="<?php echo $this->htmlEscape($_image->getLabel()) ?>" />
|
120 |
|
@@ -140,4 +103,42 @@ function ExtractImageName($fullImagePath)
|
|
140 |
return $ImgName;
|
141 |
}
|
142 |
|
143 |
-
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
<?php
|
2 |
/**
|
3 |
+
* Package :- CueBlocks_Zoom-1.2.tgz
|
4 |
+
* Version :- 1.2
|
5 |
* Edition :- Community
|
6 |
* Developed By :- CueBlocks.com
|
7 |
*
|
11 |
* For help, please get in touch with us at cueblocks.com
|
12 |
*/
|
13 |
?>
|
|
|
14 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
<?php
|
16 |
$_product = $this->getProduct();
|
17 |
$_helper = $this->helper('catalog/output');
|
19 |
$_zoomConfig = Mage::getStoreConfig('zoom/general');
|
20 |
|
21 |
?>
|
22 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
|
24 |
<div id="imageShowcase">
|
25 |
<?php if ($_product->getImage() != 'no_selection' && $_product->getImage()): ?>
|
41 |
|
42 |
if (count($this->getGalleryImages()) > 0):
|
43 |
foreach ($this->getGalleryImages() as $_image):
|
44 |
+
|
|
|
45 |
// Find out image name from image URL
|
46 |
+
|
47 |
+
$img_name = ExtractImageName($this->helper('catalog/image')->init($this->getProduct(), 'image',$_image->getFile()));
|
48 |
+
$_img = '<a href="'.$this->helper('catalog/image')->init($this->getProduct(), 'image',$_image->getFile()).'" id="anchorproductImg'.$img_name.'"><img border="0" id="productImg'.$img_name.'" src="'.$this->helper('catalog/image')->init($this->getProduct(), 'image',$_image->getFile())->resize(270).'" alt="'.$this->htmlEscape($_image->getLabel()).'" title="'.$this->htmlEscape($_image->getLabel()).'"/></a>';
|
49 |
+
|
50 |
+
echo $_helper->productAttribute($this->getProduct(), $_img, 'image');
|
51 |
+
|
52 |
+
endforeach;
|
53 |
+
endif;
|
54 |
|
55 |
?>
|
56 |
|
73 |
<ul>
|
74 |
<?php foreach ($this->getGalleryImages() as $_image):
|
75 |
|
76 |
+
|
77 |
+
$moreImg = ExtractImageName($this->helper('catalog/image')->init($this->getProduct(), 'image',$_image->getFile()));
|
78 |
|
79 |
+
|
80 |
+
|
|
|
|
|
|
|
81 |
?>
|
82 |
<li><img border="0" src="<?php echo $this->helper('catalog/image')->init($this->getProduct(), 'thumbnail', $_image->getFile())->resize(56); ?>" onclick="switchmore('<?php echo $moreImg;?>');" alt="<?php echo $this->htmlEscape($_image->getLabel()) ?>" title="<?php echo $this->htmlEscape($_image->getLabel()) ?>" />
|
83 |
|
103 |
return $ImgName;
|
104 |
}
|
105 |
|
106 |
+
?>
|
107 |
+
|
108 |
+
jQuery(document).ready(function(){
|
109 |
+
|
110 |
+
var options = {
|
111 |
+
|
112 |
+
zoomWidth: 200,
|
113 |
+
|
114 |
+
zoomHeight: 200,
|
115 |
+
|
116 |
+
showEffect: 'show',
|
117 |
+
|
118 |
+
hideEffect: 'fadeout',
|
119 |
+
|
120 |
+
fadeoutSpeed: 'slow',
|
121 |
+
|
122 |
+
title: false,
|
123 |
+
|
124 |
+
zoomtype:'innerzoom',
|
125 |
+
|
126 |
+
showPreload: false
|
127 |
+
|
128 |
+
}
|
129 |
+
|
130 |
+
jQuery(".jqzoom").jqzoom(options);
|
131 |
+
|
132 |
+
});
|
133 |
+
|
134 |
+
</script>
|
135 |
+
<script type="text/javascript">
|
136 |
+
// show main image
|
137 |
+
jQuery(document).ready(function() {
|
138 |
+
|
139 |
+
// On document ready hide all images first
|
140 |
+
jQuery("#imageShowcase img").hide();
|
141 |
+
jQuery("#productImgDefault").show();
|
142 |
+
|
143 |
+
});
|
144 |
+
</script>
|
app/etc/modules/JM_Zoom.xml
CHANGED
@@ -2,8 +2,8 @@
|
|
2 |
<!--
|
3 |
/**
|
4 |
*
|
5 |
-
* Package :- CueBlocks_Zoom-1.
|
6 |
-
* Version :- 1.
|
7 |
* Edition :- Community
|
8 |
* Developed By :- CueBlocks.com
|
9 |
*
|
2 |
<!--
|
3 |
/**
|
4 |
*
|
5 |
+
* Package :- CueBlocks_Zoom-1.2.tgz
|
6 |
+
* Version :- 1.2
|
7 |
* Edition :- Community
|
8 |
* Developed By :- CueBlocks.com
|
9 |
*
|
js/jquery/Cuejqzoom.js
CHANGED
@@ -1,12 +1,10 @@
|
|
1 |
-
|
2 |
-
*
|
3 |
-
* Package :- CueBlocks_Zoom-1.1.tgz
|
4 |
-
* Version :- 1.1
|
5 |
* Edition :- Community
|
6 |
* Developed By :- CueBlocks.com
|
7 |
*
|
8 |
*/
|
9 |
-
var zoomDone = new Array();
|
10 |
// SWITCH MAIN IMAGE BASED ON MORE IMAGES ON MEDIA FILE
|
11 |
function switchmore(imagename){
|
12 |
jQuery("#imageShowcase a").hide();
|
@@ -30,11 +28,11 @@ function switchmore(imagename){
|
|
30 |
|
31 |
}
|
32 |
|
33 |
-
if(!zoomDone.in_array(imagename))
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
|
39 |
}
|
40 |
|
1 |
+
/* :- CueBlocks_Zoom-1.2.tgz
|
2 |
+
* Version :- 1.2
|
|
|
|
|
3 |
* Edition :- Community
|
4 |
* Developed By :- CueBlocks.com
|
5 |
*
|
6 |
*/
|
7 |
+
//var zoomDone = new Array();
|
8 |
// SWITCH MAIN IMAGE BASED ON MORE IMAGES ON MEDIA FILE
|
9 |
function switchmore(imagename){
|
10 |
jQuery("#imageShowcase a").hide();
|
28 |
|
29 |
}
|
30 |
|
31 |
+
//if(!zoomDone.in_array(imagename))
|
32 |
+
//{
|
33 |
+
jQuery("#anchorproductImg" + imagename).jqzoom(options);
|
34 |
+
// zoomDone.push(imagename);
|
35 |
+
//}
|
36 |
|
37 |
}
|
38 |
|
js/jquery/jquery.jqzoom1.0.1.js
ADDED
@@ -0,0 +1,1143 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*
|
2 |
+
* JQZoom Evolution 1.0.1 - Javascript Image magnifier
|
3 |
+
*
|
4 |
+
* Copyright (c) Engineer Renzi Marco(www.mind-projects.it)
|
5 |
+
*
|
6 |
+
* $Date: 12-12-2008
|
7 |
+
*
|
8 |
+
* ChangeLog:
|
9 |
+
*
|
10 |
+
* $License : GPL,so any change to the code you should copy and paste this section,and would be nice to report this to me(renzi.mrc@gmail.com).
|
11 |
+
*/
|
12 |
+
(function($)
|
13 |
+
{
|
14 |
+
$.fn.jqzoom = function(options)
|
15 |
+
{
|
16 |
+
|
17 |
+
|
18 |
+
var settings = {
|
19 |
+
zoomType: 'standard', //standard/reverse/innerzoom
|
20 |
+
zoomWidth: 200, //zoomed width default width
|
21 |
+
zoomHeight: 200, //zoomed div default width
|
22 |
+
xOffset: 10, //zoomed div default offset
|
23 |
+
yOffset: 0,
|
24 |
+
position: "right" ,//zoomed div default position,offset position is to the right of the image
|
25 |
+
lens:true, //zooming lens over the image,by default is 1;
|
26 |
+
lensReset : false,
|
27 |
+
imageOpacity: 0.2,
|
28 |
+
title : true,
|
29 |
+
alwaysOn: false,
|
30 |
+
showEffect: 'show',
|
31 |
+
hideEffect: 'hide',
|
32 |
+
fadeinSpeed: 'fast',
|
33 |
+
fadeoutSpeed: 'slow',
|
34 |
+
preloadImages :true,
|
35 |
+
showPreload: true,
|
36 |
+
preloadText : 'Loading zoom',
|
37 |
+
preloadPosition : 'center' //bycss
|
38 |
+
};
|
39 |
+
|
40 |
+
//extending options
|
41 |
+
options = options || {};
|
42 |
+
$.extend(settings, options);
|
43 |
+
|
44 |
+
|
45 |
+
return this.each(function()
|
46 |
+
{
|
47 |
+
var a = $(this);
|
48 |
+
var aTitle = a.attr('title'); //variabile per memorizzare il titolo href
|
49 |
+
$(a).removeAttr('title');
|
50 |
+
$(a).css('outline-style','none');
|
51 |
+
|
52 |
+
|
53 |
+
var img = $("img", this);
|
54 |
+
var imageTitle = img.attr('title');
|
55 |
+
img.removeAttr('title'); //variabile per memorizzare il titolo immagine
|
56 |
+
|
57 |
+
var smallimage = new Smallimage( img );
|
58 |
+
var smallimagedata = {};
|
59 |
+
//imageborder
|
60 |
+
var btop = 0;
|
61 |
+
var bleft = 0;
|
62 |
+
|
63 |
+
var loader = null; //variabile per memorizzare oggetto loader
|
64 |
+
loader = new Loader();
|
65 |
+
|
66 |
+
var ZoomTitle = (trim(aTitle).length > 0) ? aTitle :
|
67 |
+
(trim(imageTitle).length > 0) ? imageTitle : null; //setting zoomtitle
|
68 |
+
var ZoomTitleObj = new zoomTitle();
|
69 |
+
|
70 |
+
var largeimage = new Largeimage( a[0].href );
|
71 |
+
|
72 |
+
var lens = new Lens();
|
73 |
+
var lensdata = {};
|
74 |
+
//lensborder
|
75 |
+
|
76 |
+
|
77 |
+
|
78 |
+
var largeimageloaded = false;
|
79 |
+
var scale = {}; //rapporto tra immagine grande e piccola scale.x/scale.y
|
80 |
+
var stage = null; // quadrato che mostra l'immagine ingrandita
|
81 |
+
var running = false; // running = true quando si verifica l'evento che mostra lo zoom(adesso mouseover).
|
82 |
+
var mousepos = {};
|
83 |
+
var firstime = 0;
|
84 |
+
var preloadshow = false;
|
85 |
+
var isMouseDown = false;
|
86 |
+
var dragstatus = false
|
87 |
+
//loading smallimagedata
|
88 |
+
smallimage.loadimage();
|
89 |
+
|
90 |
+
//ritorna false al click dell href
|
91 |
+
$(this).click(function(){return false;});
|
92 |
+
|
93 |
+
//se settato alwaysOn attivo lo Zoom e lo mostro.
|
94 |
+
|
95 |
+
//attivo al mouseover
|
96 |
+
$(this).hover(function(e)
|
97 |
+
{
|
98 |
+
mousepos.x = e.pageX;
|
99 |
+
mousepos.y = e.pageY;
|
100 |
+
activate();
|
101 |
+
},function()
|
102 |
+
{
|
103 |
+
deactivate();
|
104 |
+
});
|
105 |
+
|
106 |
+
|
107 |
+
//ALWAYS ON
|
108 |
+
if(settings.alwaysOn)
|
109 |
+
{
|
110 |
+
setTimeout(function(){activate();},150);
|
111 |
+
}
|
112 |
+
|
113 |
+
|
114 |
+
function activate()
|
115 |
+
{
|
116 |
+
|
117 |
+
if ( !running ) {
|
118 |
+
|
119 |
+
//finding border
|
120 |
+
smallimage.findborder();
|
121 |
+
|
122 |
+
running = true;
|
123 |
+
|
124 |
+
//rimuovo il titolo al mouseover
|
125 |
+
imageTitle = img.attr('title');
|
126 |
+
img.removeAttr('title');
|
127 |
+
aTitle = a.attr('title');
|
128 |
+
$(a).removeAttr('title');
|
129 |
+
|
130 |
+
//se non c� creo l'oggetto largeimage
|
131 |
+
if (!largeimage || $.browser.safari) {
|
132 |
+
largeimage = new Largeimage( a[0].href );
|
133 |
+
}
|
134 |
+
|
135 |
+
//se l'immagine grande non � stata caricata la carico
|
136 |
+
if(!largeimageloaded || $.browser.safari)
|
137 |
+
{
|
138 |
+
largeimage.loadimage();
|
139 |
+
}else
|
140 |
+
{
|
141 |
+
//after preload
|
142 |
+
if(settings.zoomType != 'innerzoom')
|
143 |
+
{
|
144 |
+
stage = new Stage();
|
145 |
+
stage.activate();
|
146 |
+
}
|
147 |
+
lens = new Lens;
|
148 |
+
lens.activate();
|
149 |
+
}
|
150 |
+
|
151 |
+
//hack per MAC
|
152 |
+
/* if($.browser.safari)
|
153 |
+
{
|
154 |
+
if(settings.zoomType != 'innerzoom') //se innerzoom non mostro la finestra dello zoom
|
155 |
+
{
|
156 |
+
stage = new Stage();
|
157 |
+
stage.activate();
|
158 |
+
}
|
159 |
+
if($('div.jqZoomPup').length <= 0)
|
160 |
+
{
|
161 |
+
lens = new Lens();
|
162 |
+
}
|
163 |
+
//if(settings.zoomType == 'innerzoom'){lens = new Lens()};
|
164 |
+
lens.activate();
|
165 |
+
(settings.alwaysOn) ? lens.center() : lens.setposition(null);
|
166 |
+
}
|
167 |
+
*/
|
168 |
+
a[0].blur();
|
169 |
+
//alert($('div.jqZoomPup').length);
|
170 |
+
return false;
|
171 |
+
}
|
172 |
+
|
173 |
+
|
174 |
+
|
175 |
+
|
176 |
+
}
|
177 |
+
|
178 |
+
function deactivate()
|
179 |
+
{
|
180 |
+
if(settings.zoomType == 'reverse' && !settings.alwaysOn)
|
181 |
+
{
|
182 |
+
img.css({'opacity' : 1});
|
183 |
+
}
|
184 |
+
|
185 |
+
if(!settings.alwaysOn)
|
186 |
+
{
|
187 |
+
//resetting parameters
|
188 |
+
running = false;
|
189 |
+
largeimageloaded = false;
|
190 |
+
$(lens.node).unbind('mousemove');
|
191 |
+
lens.remove();
|
192 |
+
if($('div.jqZoomWindow').length >0)
|
193 |
+
{
|
194 |
+
stage.remove();
|
195 |
+
}
|
196 |
+
if($('div.jqZoomTitle').length > 0)
|
197 |
+
{
|
198 |
+
ZoomTitleObj.remove();
|
199 |
+
}
|
200 |
+
//resetting title
|
201 |
+
img.attr('title',imageTitle);
|
202 |
+
a.attr('title',aTitle);
|
203 |
+
$().unbind();
|
204 |
+
|
205 |
+
a.unbind('mousemove');
|
206 |
+
//resetto il parametro che mi dice che � la prima volta che mostor lo zoom
|
207 |
+
firstime = 0;
|
208 |
+
//remove ieiframe
|
209 |
+
if(jQuery('.zoom_ieframe').length > 0)
|
210 |
+
{
|
211 |
+
jQuery('.zoom_ieframe').remove();
|
212 |
+
}
|
213 |
+
}else
|
214 |
+
{
|
215 |
+
if(settings.lensReset)
|
216 |
+
{
|
217 |
+
switch(settings.zoomType)
|
218 |
+
{
|
219 |
+
case 'innerzoom':
|
220 |
+
largeimage.setcenter();
|
221 |
+
break;
|
222 |
+
default:
|
223 |
+
lens.center();
|
224 |
+
break;
|
225 |
+
}
|
226 |
+
}
|
227 |
+
}
|
228 |
+
|
229 |
+
//non so se serve da provare
|
230 |
+
if(settings.alwaysOn)
|
231 |
+
{
|
232 |
+
activate();
|
233 |
+
}
|
234 |
+
};
|
235 |
+
|
236 |
+
|
237 |
+
|
238 |
+
|
239 |
+
|
240 |
+
//smallimage
|
241 |
+
function Smallimage( image )
|
242 |
+
{
|
243 |
+
this.node = image[0];
|
244 |
+
|
245 |
+
this.loadimage = function() {
|
246 |
+
this.node.src = image[0].src;
|
247 |
+
if (typeof smallimagedata.top === "undefined") {
|
248 |
+
this.node.onload();
|
249 |
+
}
|
250 |
+
|
251 |
+
};
|
252 |
+
|
253 |
+
this.findborder = function()
|
254 |
+
{
|
255 |
+
var bordertop = '';
|
256 |
+
bordertop = $(img).css('border-top-width');
|
257 |
+
btop = '';
|
258 |
+
var borderleft = '';
|
259 |
+
borderleft = $(img).css('border-left-width');
|
260 |
+
bleft = '';
|
261 |
+
/*if($.browser.msie)
|
262 |
+
{
|
263 |
+
var temp = bordertop.split(' ');
|
264 |
+
|
265 |
+
bordertop = temp[1];
|
266 |
+
var temp = borderleft.split(' ');
|
267 |
+
borderleft = temp[1];
|
268 |
+
}*/
|
269 |
+
|
270 |
+
if(bordertop)
|
271 |
+
{
|
272 |
+
for(i=0;i<3;i++)
|
273 |
+
{
|
274 |
+
var x = [];
|
275 |
+
x = bordertop.substr(i,1);
|
276 |
+
|
277 |
+
if(isNaN(x) == false)
|
278 |
+
{
|
279 |
+
btop = btop +''+ bordertop.substr(i,1);
|
280 |
+
}else
|
281 |
+
{
|
282 |
+
break;
|
283 |
+
}
|
284 |
+
}
|
285 |
+
}
|
286 |
+
|
287 |
+
if(borderleft)
|
288 |
+
{
|
289 |
+
for(i=0;i<3;i++)
|
290 |
+
{
|
291 |
+
if(!isNaN(borderleft.substr(i,1)))
|
292 |
+
{
|
293 |
+
bleft = bleft + borderleft.substr(i,1)
|
294 |
+
}else
|
295 |
+
{
|
296 |
+
break;
|
297 |
+
}
|
298 |
+
}
|
299 |
+
}
|
300 |
+
btop = (btop.length > 0) ? eval(btop) : 0;
|
301 |
+
bleft = (bleft.length > 0) ? eval(bleft) : 0;
|
302 |
+
|
303 |
+
|
304 |
+
}
|
305 |
+
|
306 |
+
|
307 |
+
this.node.onload = function()
|
308 |
+
{
|
309 |
+
//setto il cursor e la posizione dell'href
|
310 |
+
|
311 |
+
|
312 |
+
a.css({'cursor':'crosshair','display':'block'});
|
313 |
+
|
314 |
+
if(a.css('position')!= 'absolute' && a.parent().css('position'))
|
315 |
+
{
|
316 |
+
a.css({'cursor':'crosshair','position':'relative','display':'block'});
|
317 |
+
}
|
318 |
+
if(a.parent().css('position') != 'absolute')
|
319 |
+
{
|
320 |
+
a.parent().css('position','relative');
|
321 |
+
//a.css('position','relative');
|
322 |
+
}
|
323 |
+
else{
|
324 |
+
//a.css('position','relative');
|
325 |
+
}
|
326 |
+
if($.browser.safari || $.browser.opera)
|
327 |
+
{
|
328 |
+
$(img).css({position:'absolute',top:'0px',left:'0px'});
|
329 |
+
}
|
330 |
+
/*if(a.css('position')!= 'absolute' && a.parent().css('position'))
|
331 |
+
{
|
332 |
+
a.css({'cursor':'crosshair','position':'relative','display':'block'});
|
333 |
+
}
|
334 |
+
if(a.parent().css('position') != 'absolute')
|
335 |
+
{
|
336 |
+
alert('in');
|
337 |
+
a.parent().css('position','relative');
|
338 |
+
//a.css('position','relative');
|
339 |
+
}
|
340 |
+
else{
|
341 |
+
//a.css('position','relative');
|
342 |
+
}*/
|
343 |
+
|
344 |
+
|
345 |
+
|
346 |
+
/*
|
347 |
+
if(a.parent().css('position') != 'relative' && a.css('position') != 'absolute')
|
348 |
+
{
|
349 |
+
a.css({'cursor':'crosshair','position':'relative','display':'block'});
|
350 |
+
}*/
|
351 |
+
|
352 |
+
//al docuemnt ready viene caricato l'src quindi viene azionato l'onload e carico tutti i dati
|
353 |
+
smallimagedata.w = $( this ).width();
|
354 |
+
smallimagedata.h = $( this ).height();
|
355 |
+
|
356 |
+
|
357 |
+
//non viene fatta assegnazione alla variabile globale
|
358 |
+
smallimagedata.h = $( this ).height();
|
359 |
+
smallimagedata.pos = $( this ).offset();
|
360 |
+
smallimagedata.pos.l = $( this ).offset().left;
|
361 |
+
smallimagedata.pos.t = $( this ).offset().top;
|
362 |
+
smallimagedata.pos.r = smallimagedata.w + smallimagedata.pos.l;
|
363 |
+
smallimagedata.pos.b = smallimagedata.h + smallimagedata.pos.t;
|
364 |
+
|
365 |
+
//per sicurezza setto l'altezza e la width dell'href
|
366 |
+
a.height(smallimagedata.h);
|
367 |
+
a.width(smallimagedata.w);
|
368 |
+
|
369 |
+
|
370 |
+
//PRELOAD IMAGES
|
371 |
+
if(settings.preloadImages)
|
372 |
+
{
|
373 |
+
largeimage.loadimage();
|
374 |
+
}
|
375 |
+
|
376 |
+
|
377 |
+
|
378 |
+
};
|
379 |
+
|
380 |
+
|
381 |
+
return this;
|
382 |
+
};
|
383 |
+
|
384 |
+
|
385 |
+
|
386 |
+
|
387 |
+
|
388 |
+
//Lens
|
389 |
+
function Lens()
|
390 |
+
{
|
391 |
+
|
392 |
+
|
393 |
+
//creating element and adding class
|
394 |
+
this.node = document.createElement("div");
|
395 |
+
$(this.node).addClass('jqZoomPup');
|
396 |
+
|
397 |
+
this.node.onerror = function() {
|
398 |
+
$( lens.node ).remove();
|
399 |
+
lens = new Lens();
|
400 |
+
lens.activate() ;
|
401 |
+
};
|
402 |
+
|
403 |
+
|
404 |
+
|
405 |
+
|
406 |
+
//funzione privata per il caricamento dello zoom
|
407 |
+
this.loadlens = function()
|
408 |
+
{
|
409 |
+
|
410 |
+
|
411 |
+
switch(settings.zoomType)
|
412 |
+
{
|
413 |
+
case 'reverse':
|
414 |
+
this.image = new Image();
|
415 |
+
this.image.src = smallimage.node.src; // fires off async
|
416 |
+
this.node.appendChild( this.image );
|
417 |
+
$( this.node ).css({'opacity' : 1});
|
418 |
+
break;
|
419 |
+
case 'innerzoom':
|
420 |
+
|
421 |
+
this.image = new Image();
|
422 |
+
this.image.src = largeimage.node.src; // fires off async
|
423 |
+
this.node.appendChild( this.image );
|
424 |
+
$( this.node ).css({'opacity' : 1});
|
425 |
+
break
|
426 |
+
default:
|
427 |
+
break;
|
428 |
+
}
|
429 |
+
|
430 |
+
|
431 |
+
|
432 |
+
switch(settings.zoomType)
|
433 |
+
{
|
434 |
+
case 'innerzoom':
|
435 |
+
lensdata.w = smallimagedata.w;
|
436 |
+
lensdata.h = smallimagedata.h;
|
437 |
+
break;
|
438 |
+
default:
|
439 |
+
lensdata.w = (settings.zoomWidth)/scale.x;
|
440 |
+
lensdata.h = (settings.zoomHeight)/scale.y;
|
441 |
+
break;
|
442 |
+
}
|
443 |
+
|
444 |
+
$( this.node ).css({
|
445 |
+
width: lensdata.w + 'px',
|
446 |
+
height: lensdata.h + 'px',
|
447 |
+
position: 'absolute',
|
448 |
+
/*cursor: 'crosshair',*/
|
449 |
+
display: 'none',
|
450 |
+
//border: '1px solid blue'
|
451 |
+
borderWidth: 1+'px'
|
452 |
+
});
|
453 |
+
a.append(this.node);
|
454 |
+
}
|
455 |
+
return this;
|
456 |
+
};
|
457 |
+
|
458 |
+
Lens.prototype.activate = function()
|
459 |
+
{
|
460 |
+
//carico la lente
|
461 |
+
this.loadlens();
|
462 |
+
|
463 |
+
switch(settings.zoomType)
|
464 |
+
{
|
465 |
+
case 'reverse':
|
466 |
+
img.css({'opacity' : settings.imageOpacity});
|
467 |
+
|
468 |
+
(settings.alwaysOn) ? lens.center() : lens.setposition(null);
|
469 |
+
//lens.center();
|
470 |
+
//bindo ad a il mousemove della lente
|
471 |
+
a.bind( 'mousemove', function(e)
|
472 |
+
{
|
473 |
+
mousepos.x = e.pageX;
|
474 |
+
mousepos.y = e.pageY;
|
475 |
+
lens.setposition( e );
|
476 |
+
});
|
477 |
+
break;
|
478 |
+
case 'innerzoom':
|
479 |
+
|
480 |
+
// lens = new Lens();
|
481 |
+
// lens.activate();
|
482 |
+
|
483 |
+
$( this.node ).css({top : 0 ,left: 0});
|
484 |
+
if(settings.title)
|
485 |
+
{
|
486 |
+
ZoomTitleObj.loadtitle();
|
487 |
+
}
|
488 |
+
|
489 |
+
largeimage.setcenter();
|
490 |
+
|
491 |
+
a.bind( 'mousemove', function(e)
|
492 |
+
{
|
493 |
+
mousepos.x = e.pageX;
|
494 |
+
mousepos.y = e.pageY;
|
495 |
+
largeimage.setinner( e );
|
496 |
+
|
497 |
+
/*if(settings.zoomType == 'innerzoom' && running)
|
498 |
+
{
|
499 |
+
$(a).mousemove(function(){
|
500 |
+
if($('div.jqZoomPup').length <= 0)
|
501 |
+
{
|
502 |
+
lens = new Lens();
|
503 |
+
lens.activate();
|
504 |
+
}
|
505 |
+
});
|
506 |
+
}*/
|
507 |
+
|
508 |
+
/*if($('div.jqZoomPup').length <= 0)
|
509 |
+
{
|
510 |
+
lens = new Lens();
|
511 |
+
lens.activate();
|
512 |
+
}*/
|
513 |
+
|
514 |
+
});
|
515 |
+
break;
|
516 |
+
default:
|
517 |
+
/*$(document).mousemove(function(e){
|
518 |
+
if(isMouseDown && dragstatus != false){
|
519 |
+
lens.setposition( e );
|
520 |
+
}
|
521 |
+
});
|
522 |
+
lens.center()
|
523 |
+
|
524 |
+
|
525 |
+
dragstatus = 'on'
|
526 |
+
$(document).mouseup(function(e){
|
527 |
+
if(isMouseDown && dragstatus != false){
|
528 |
+
isMouseDown = false;
|
529 |
+
dragstatus = false;
|
530 |
+
|
531 |
+
}
|
532 |
+
});
|
533 |
+
|
534 |
+
$(this.node).mousedown(function(e){
|
535 |
+
$('div.jqZoomPup').css("cursor", "move");
|
536 |
+
$(this.node).css("position", "absolute");
|
537 |
+
|
538 |
+
// set z-index
|
539 |
+
$(this.node).css("z-index", parseInt( new Date().getTime()/1000 ));
|
540 |
+
if($.browser.safari)
|
541 |
+
{
|
542 |
+
$(a).css("cursor", "move");
|
543 |
+
}
|
544 |
+
isMouseDown = true;
|
545 |
+
dragstatus = 'on';
|
546 |
+
lens.setposition( e );
|
547 |
+
});
|
548 |
+
*/
|
549 |
+
|
550 |
+
|
551 |
+
(settings.alwaysOn) ? lens.center() : lens.setposition(null);
|
552 |
+
|
553 |
+
//bindo ad a il mousemove della lente
|
554 |
+
$(a).bind( 'mousemove', function(e)
|
555 |
+
{
|
556 |
+
|
557 |
+
mousepos.x = e.pageX;
|
558 |
+
mousepos.y = e.pageY;
|
559 |
+
lens.setposition( e );
|
560 |
+
});
|
561 |
+
|
562 |
+
break;
|
563 |
+
}
|
564 |
+
|
565 |
+
|
566 |
+
return this;
|
567 |
+
};
|
568 |
+
|
569 |
+
Lens.prototype.setposition = function( e)
|
570 |
+
{
|
571 |
+
|
572 |
+
|
573 |
+
if(e)
|
574 |
+
{
|
575 |
+
mousepos.x = e.pageX;
|
576 |
+
mousepos.y = e.pageY;
|
577 |
+
}
|
578 |
+
|
579 |
+
if(firstime == 0)
|
580 |
+
{
|
581 |
+
var lensleft = (smallimagedata.w)/2 - (lensdata.w)/2 ;
|
582 |
+
var lenstop = (smallimagedata.h)/2 - (lensdata.h)/2 ;
|
583 |
+
//ADDED
|
584 |
+
|
585 |
+
|
586 |
+
|
587 |
+
|
588 |
+
$('div.jqZoomPup').show()
|
589 |
+
if(settings.lens)
|
590 |
+
{
|
591 |
+
this.node.style.visibility = 'visible';
|
592 |
+
document.getElementById("roll_on").innerHTML = "Roll off to zoom out";
|
593 |
+
}
|
594 |
+
else
|
595 |
+
{
|
596 |
+
this.node.style.visibility = 'hidden';
|
597 |
+
document.getElementById("roll_on").innerHTML = "Roll on to zoom in";
|
598 |
+
$('div.jqZoomPup').hide();
|
599 |
+
|
600 |
+
}
|
601 |
+
//ADDED
|
602 |
+
firstime = 1;
|
603 |
+
|
604 |
+
}else
|
605 |
+
{
|
606 |
+
var lensleft = mousepos.x - smallimagedata.pos.l - (lensdata.w)/2 ;
|
607 |
+
var lenstop = mousepos.y - smallimagedata.pos.t -(lensdata.h)/2 ;
|
608 |
+
}
|
609 |
+
|
610 |
+
|
611 |
+
//a sinistra
|
612 |
+
if(overleft())
|
613 |
+
{
|
614 |
+
lensleft = 0 + bleft;
|
615 |
+
}else
|
616 |
+
//a destra
|
617 |
+
if(overright())
|
618 |
+
{
|
619 |
+
if($.browser.msie)
|
620 |
+
{
|
621 |
+
lensleft = smallimagedata.w - lensdata.w + bleft + 1 ;
|
622 |
+
}else
|
623 |
+
{
|
624 |
+
lensleft = smallimagedata.w - lensdata.w + bleft - 1 ;
|
625 |
+
}
|
626 |
+
|
627 |
+
|
628 |
+
}
|
629 |
+
|
630 |
+
//in alto
|
631 |
+
if(overtop())
|
632 |
+
{
|
633 |
+
lenstop = 0 + btop ;
|
634 |
+
}else
|
635 |
+
//sotto
|
636 |
+
if(overbottom())
|
637 |
+
{
|
638 |
+
|
639 |
+
if($.browser.msie)
|
640 |
+
{
|
641 |
+
lenstop = smallimagedata.h - lensdata.h + btop + 1 ;
|
642 |
+
}else
|
643 |
+
{
|
644 |
+
lenstop = smallimagedata.h - lensdata.h - 1 + btop ;
|
645 |
+
}
|
646 |
+
|
647 |
+
}
|
648 |
+
lensleft = parseInt(lensleft);
|
649 |
+
lenstop = parseInt(lenstop);
|
650 |
+
|
651 |
+
//setto lo zoom ed un eventuale immagine al centro
|
652 |
+
$('div.jqZoomPup',a).css({top: lenstop,left: lensleft });
|
653 |
+
|
654 |
+
if(settings.zoomType == 'reverse')
|
655 |
+
{
|
656 |
+
$('div.jqZoomPup img',a).css({'position': 'absolute','top': -( lenstop - btop +1) ,'left': -(lensleft - bleft +1) });
|
657 |
+
}
|
658 |
+
|
659 |
+
this.node.style.left = lensleft + 'px';
|
660 |
+
this.node.style.top = lenstop + 'px';
|
661 |
+
|
662 |
+
//setto l'immagine grande
|
663 |
+
largeimage.setposition();
|
664 |
+
|
665 |
+
function overleft() {
|
666 |
+
return mousepos.x - (lensdata.w +2*1)/2 - bleft < smallimagedata.pos.l;
|
667 |
+
}
|
668 |
+
|
669 |
+
function overright() {
|
670 |
+
|
671 |
+
return mousepos.x + (lensdata.w + 2* 1)/2 > smallimagedata.pos.r + bleft ;
|
672 |
+
}
|
673 |
+
|
674 |
+
function overtop() {
|
675 |
+
return mousepos.y - (lensdata.h + 2* 1)/2 - btop < smallimagedata.pos.t;
|
676 |
+
}
|
677 |
+
|
678 |
+
function overbottom() {
|
679 |
+
return mousepos.y + (lensdata.h + 2* 1)/2 > smallimagedata.pos.b + btop;
|
680 |
+
}
|
681 |
+
|
682 |
+
return this;
|
683 |
+
};
|
684 |
+
|
685 |
+
|
686 |
+
//mostra la lente al centro dell'immagine
|
687 |
+
Lens.prototype.center = function()
|
688 |
+
{
|
689 |
+
$('div.jqZoomPup',a).css('display','none');
|
690 |
+
document.getElementById("roll_on").innerHTML = "Roll on to zoom in";
|
691 |
+
var lensleft = (smallimagedata.w)/2 - (lensdata.w)/2 ;
|
692 |
+
var lenstop = (smallimagedata.h)/2 - (lensdata.h)/2;
|
693 |
+
this.node.style.left = lensleft + 'px';
|
694 |
+
this.node.style.top = lenstop + 'px';
|
695 |
+
$('div.jqZoomPup',a).css({top: lenstop,left: lensleft });
|
696 |
+
|
697 |
+
if(settings.zoomType == 'reverse')
|
698 |
+
{
|
699 |
+
/*if($.browser.safari){
|
700 |
+
alert('safari');
|
701 |
+
alert(2*bleft);
|
702 |
+
$('div.jqZoomPup img',a).css({'position': 'absolute','top': -( lenstop - btop +1) ,'left': -(lensleft - 2*bleft) });
|
703 |
+
}else
|
704 |
+
{*/
|
705 |
+
$('div.jqZoomPup img',a).css({'position': 'absolute','top': -(lenstop - btop + 1) ,'left': -( lensleft - bleft +1) });
|
706 |
+
//}
|
707 |
+
}
|
708 |
+
|
709 |
+
largeimage.setposition();
|
710 |
+
if($.browser.msie)
|
711 |
+
{
|
712 |
+
$('div.jqZoomPup',a).show();
|
713 |
+
document.getElementById("roll_on").innerHTML = "Roll off to zoom out";
|
714 |
+
}else
|
715 |
+
{
|
716 |
+
setTimeout(function(){$('div.jqZoomPup').fadeIn('fast');},10);
|
717 |
+
}
|
718 |
+
};
|
719 |
+
|
720 |
+
|
721 |
+
//ritorna l'offset
|
722 |
+
Lens.prototype.getoffset = function() {
|
723 |
+
var o = {};
|
724 |
+
o.left = parseInt(this.node.style.left) ;
|
725 |
+
o.top = parseInt(this.node.style.top) ;
|
726 |
+
return o;
|
727 |
+
};
|
728 |
+
|
729 |
+
//rimuove la lente
|
730 |
+
Lens.prototype.remove = function()
|
731 |
+
{
|
732 |
+
|
733 |
+
if(settings.zoomType == 'innerzoom')
|
734 |
+
{
|
735 |
+
$('div.jqZoomPup',a).fadeOut('fast',function(){/*$('div.jqZoomPup img').remove();*/$(this).remove();});
|
736 |
+
|
737 |
+
}else
|
738 |
+
{
|
739 |
+
//$('div.jqZoomPup img').remove();
|
740 |
+
$('div.jqZoomPup',a).remove();
|
741 |
+
document.getElementById("roll_on").innerHTML = "Roll on to zoom in";
|
742 |
+
}
|
743 |
+
};
|
744 |
+
|
745 |
+
Lens.prototype.findborder = function()
|
746 |
+
{
|
747 |
+
var bordertop = '';
|
748 |
+
bordertop = $('div.jqZoomPup').css('borderTop');
|
749 |
+
//alert(bordertop);
|
750 |
+
lensbtop = '';
|
751 |
+
var borderleft = '';
|
752 |
+
borderleft = $('div.jqZoomPup').css('borderLeft');
|
753 |
+
lensbleft = '';
|
754 |
+
if($.browser.msie)
|
755 |
+
{
|
756 |
+
var temp = bordertop.split(' ');
|
757 |
+
|
758 |
+
bordertop = temp[1];
|
759 |
+
var temp = borderleft.split(' ');
|
760 |
+
borderleft = temp[1];
|
761 |
+
}
|
762 |
+
|
763 |
+
if(bordertop)
|
764 |
+
{
|
765 |
+
for(i=0;i<3;i++)
|
766 |
+
{
|
767 |
+
var x = [];
|
768 |
+
x = bordertop.substr(i,1);
|
769 |
+
|
770 |
+
if(isNaN(x) == false)
|
771 |
+
{
|
772 |
+
lensbtop = lensbtop +''+ bordertop.substr(i,1);
|
773 |
+
}else
|
774 |
+
{
|
775 |
+
break;
|
776 |
+
}
|
777 |
+
}
|
778 |
+
}
|
779 |
+
|
780 |
+
if(borderleft)
|
781 |
+
{
|
782 |
+
for(i=0;i<3;i++)
|
783 |
+
{
|
784 |
+
if(!isNaN(borderleft.substr(i,1)))
|
785 |
+
{
|
786 |
+
lensbleft = lensbleft + borderleft.substr(i,1)
|
787 |
+
}else
|
788 |
+
{
|
789 |
+
break;
|
790 |
+
}
|
791 |
+
}
|
792 |
+
}
|
793 |
+
|
794 |
+
|
795 |
+
lensbtop = (lensbtop.length > 0) ? eval(lensbtop) : 0;
|
796 |
+
lensbleft = (lensbleft.length > 0) ? eval(lensbleft) : 0;
|
797 |
+
}
|
798 |
+
|
799 |
+
//LARGEIMAGE
|
800 |
+
function Largeimage( url )
|
801 |
+
{
|
802 |
+
this.url = url;
|
803 |
+
this.node = new Image();
|
804 |
+
|
805 |
+
/*if(settings.preloadImages)
|
806 |
+
{
|
807 |
+
preload.push(new Image());
|
808 |
+
preload.slice(-1).src = url ;
|
809 |
+
}*/
|
810 |
+
|
811 |
+
this.loadimage = function()
|
812 |
+
{
|
813 |
+
|
814 |
+
|
815 |
+
if(!this.node)
|
816 |
+
this.node = new Image();
|
817 |
+
|
818 |
+
this.node.style.position = 'absolute';
|
819 |
+
this.node.style.display = 'none';
|
820 |
+
this.node.style.left = '-5000px';
|
821 |
+
this.node.style.top = '10px';
|
822 |
+
loader = new Loader();
|
823 |
+
|
824 |
+
if(settings.showPreload && !preloadshow)
|
825 |
+
{
|
826 |
+
loader.show();
|
827 |
+
preloadshow = true;
|
828 |
+
}
|
829 |
+
|
830 |
+
document.body.appendChild( this.node );
|
831 |
+
this.node.src = this.url; // fires off async
|
832 |
+
}
|
833 |
+
|
834 |
+
this.node.onload = function()
|
835 |
+
{
|
836 |
+
this.style.display = 'block';
|
837 |
+
var w = Math.round($(this).width());
|
838 |
+
var h = Math.round($(this).height());
|
839 |
+
|
840 |
+
this.style.display = 'none';
|
841 |
+
|
842 |
+
//setting scale
|
843 |
+
scale.x = (w / smallimagedata.w);
|
844 |
+
scale.y = (h / smallimagedata.h);
|
845 |
+
|
846 |
+
|
847 |
+
|
848 |
+
|
849 |
+
|
850 |
+
if($('div.preload').length > 0)
|
851 |
+
{
|
852 |
+
$('div.preload').remove();
|
853 |
+
}
|
854 |
+
|
855 |
+
largeimageloaded = true;
|
856 |
+
|
857 |
+
if(settings.zoomType != 'innerzoom' && running){
|
858 |
+
stage = new Stage();
|
859 |
+
stage.activate();
|
860 |
+
}
|
861 |
+
|
862 |
+
if(running)
|
863 |
+
{
|
864 |
+
//alert('in');
|
865 |
+
lens = new Lens();
|
866 |
+
|
867 |
+
lens.activate() ;
|
868 |
+
|
869 |
+
}
|
870 |
+
//la attivo
|
871 |
+
|
872 |
+
if($('div.preload').length > 0)
|
873 |
+
{
|
874 |
+
$('div.preload').remove();
|
875 |
+
}
|
876 |
+
}
|
877 |
+
return this;
|
878 |
+
}
|
879 |
+
|
880 |
+
|
881 |
+
Largeimage.prototype.setposition = function()
|
882 |
+
{
|
883 |
+
this.node.style.left = Math.ceil( - scale.x * parseInt(lens.getoffset().left) + bleft) + 'px';
|
884 |
+
this.node.style.top = Math.ceil( - scale.y * parseInt(lens.getoffset().top) +btop) + 'px';
|
885 |
+
};
|
886 |
+
|
887 |
+
//setto la posizione dell'immagine grande nel caso di innerzoom
|
888 |
+
Largeimage.prototype.setinner = function(e) {
|
889 |
+
this.node.style.left = Math.ceil( - scale.x * Math.abs(e.pageX - smallimagedata.pos.l)) + 'px';
|
890 |
+
this.node.style.top = Math.ceil( - scale.y * Math.abs(e.pageY - smallimagedata.pos.t)) + 'px';
|
891 |
+
$('div.jqZoomPup img',a).css({'position': 'absolute','top': this.node.style.top,'left': this.node.style.left });
|
892 |
+
};
|
893 |
+
|
894 |
+
|
895 |
+
Largeimage.prototype.setcenter = function() {
|
896 |
+
this.node.style.left = Math.ceil(- scale.x * Math.abs((smallimagedata.w)/2)) + 'px';
|
897 |
+
this.node.style.top = Math.ceil( - scale.y * Math.abs((smallimagedata.h)/2)) + 'px';
|
898 |
+
|
899 |
+
|
900 |
+
$('div.jqZoomPup img',a).css({'position': 'absolute','top': this.node.style.top,'left': this.node.style.left });
|
901 |
+
};
|
902 |
+
|
903 |
+
|
904 |
+
//STAGE
|
905 |
+
function Stage()
|
906 |
+
{
|
907 |
+
|
908 |
+
var leftpos = smallimagedata.pos.l;
|
909 |
+
var toppos = smallimagedata.pos.t;
|
910 |
+
//creating element and class
|
911 |
+
this.node = document.createElement("div");
|
912 |
+
$(this.node).addClass('jqZoomWindow');
|
913 |
+
|
914 |
+
$( this.node )
|
915 |
+
.css({
|
916 |
+
position: 'absolute',
|
917 |
+
width: Math.round(settings.zoomWidth) + 'px',
|
918 |
+
height: Math.round(settings.zoomHeight) + 'px',
|
919 |
+
display: 'none',
|
920 |
+
zIndex: 10000,
|
921 |
+
overflow: 'hidden'
|
922 |
+
});
|
923 |
+
|
924 |
+
//fa il positionamento
|
925 |
+
switch(settings.position)
|
926 |
+
{
|
927 |
+
case "right":
|
928 |
+
|
929 |
+
leftpos = (smallimagedata.pos.r + Math.abs(settings.xOffset) + settings.zoomWidth < screen.width)
|
930 |
+
? (smallimagedata.pos.l + smallimagedata.w + Math.abs(settings.xOffset))
|
931 |
+
: (smallimagedata.pos.l - settings.zoomWidth - Math.abs(settings.xOffset));
|
932 |
+
|
933 |
+
topwindow = smallimagedata.pos.t + settings.yOffset + settings.zoomHeight;
|
934 |
+
toppos = (topwindow < screen.height && topwindow > 0)
|
935 |
+
? smallimagedata.pos.t + settings.yOffset
|
936 |
+
: smallimagedata.pos.t;
|
937 |
+
|
938 |
+
break;
|
939 |
+
case "left":
|
940 |
+
|
941 |
+
leftpos = (smallimagedata.pos.l - Math.abs(settings.xOffset) - settings.zoomWidth > 0)
|
942 |
+
? (smallimagedata.pos.l - Math.abs(settings.xOffset) - settings.zoomWidth)
|
943 |
+
: (smallimagedata.pos.l + smallimagedata.w + Math.abs(settings.xOffset));
|
944 |
+
|
945 |
+
topwindow = smallimagedata.pos.t + settings.yOffset + settings.zoomHeight;
|
946 |
+
toppos = (topwindow < screen.height && topwindow > 0)
|
947 |
+
? smallimagedata.pos.t + settings.yOffset
|
948 |
+
: smallimagedata.pos.t;
|
949 |
+
|
950 |
+
break;
|
951 |
+
case "top":
|
952 |
+
|
953 |
+
toppos = (smallimagedata.pos.t - Math.abs(settings.yOffset) - settings.zoomHeight > 0)
|
954 |
+
? (smallimagedata.pos.t - Math.abs(settings.yOffset) - settings.zoomHeight)
|
955 |
+
: (smallimagedata.pos.t + smallimagedata.h + Math.abs(settings.yOffset));
|
956 |
+
|
957 |
+
|
958 |
+
leftwindow = smallimagedata.pos.l + settings.xOffset + settings.zoomWidth;
|
959 |
+
leftpos = (leftwindow < screen.width && leftwindow > 0)
|
960 |
+
? smallimagedata.pos.l + settings.xOffset
|
961 |
+
: smallimagedata.pos.l;
|
962 |
+
|
963 |
+
break;
|
964 |
+
case "bottom":
|
965 |
+
|
966 |
+
|
967 |
+
toppos = (smallimagedata.pos.b + Math.abs(settings.yOffset) + settings.zoomHeight < $('body').height())
|
968 |
+
? (smallimagedata.pos.b + Math.abs(settings.yOffset))
|
969 |
+
: (smallimagedata.pos.t - settings.zoomHeight - Math.abs(settings.yOffset));
|
970 |
+
|
971 |
+
|
972 |
+
leftwindow = smallimagedata.pos.l + settings.xOffset + settings.zoomWidth;
|
973 |
+
leftpos = (leftwindow < screen.width && leftwindow > 0)
|
974 |
+
? smallimagedata.pos.l + settings.xOffset
|
975 |
+
: smallimagedata.pos.l;
|
976 |
+
|
977 |
+
break;
|
978 |
+
default:
|
979 |
+
|
980 |
+
leftpos = (smallimagedata.pos.l + smallimagedata.w + settings.xOffset + settings.zoomWidth < screen.width)
|
981 |
+
? (smallimagedata.pos.l + smallimagedata.w + Math.abs(settings.xOffset))
|
982 |
+
: (smallimagedata.pos.l - settings.zoomWidth - Math.abs(settings.xOffset));
|
983 |
+
|
984 |
+
toppos = (smallimagedata.pos.b + Math.abs(settings.yOffset) + settings.zoomHeight < screen.height)
|
985 |
+
? (smallimagedata.pos.b + Math.abs(settings.yOffset))
|
986 |
+
: (smallimagedata.pos.t - settings.zoomHeight - Math.abs(settings.yOffset));
|
987 |
+
|
988 |
+
break;
|
989 |
+
}
|
990 |
+
|
991 |
+
this.node.style.left = leftpos + 'px';
|
992 |
+
this.node.style.top = toppos + 'px';
|
993 |
+
return this;
|
994 |
+
}
|
995 |
+
|
996 |
+
|
997 |
+
Stage.prototype.activate = function()
|
998 |
+
{
|
999 |
+
|
1000 |
+
if ( !this.node.firstChild )
|
1001 |
+
this.node.appendChild( largeimage.node );
|
1002 |
+
|
1003 |
+
|
1004 |
+
if(settings.title)
|
1005 |
+
{
|
1006 |
+
ZoomTitleObj.loadtitle();
|
1007 |
+
}
|
1008 |
+
|
1009 |
+
|
1010 |
+
|
1011 |
+
document.body.appendChild( this.node );
|
1012 |
+
|
1013 |
+
|
1014 |
+
switch(settings.showEffect)
|
1015 |
+
{
|
1016 |
+
case 'show':
|
1017 |
+
$(this.node).show();
|
1018 |
+
break;
|
1019 |
+
case 'fadein':
|
1020 |
+
$(this.node).fadeIn(settings.fadeinSpeed);
|
1021 |
+
break;
|
1022 |
+
default:
|
1023 |
+
$(this.node).show();
|
1024 |
+
break;
|
1025 |
+
}
|
1026 |
+
|
1027 |
+
$(this.node).show();
|
1028 |
+
|
1029 |
+
if ($.browser.msie && $.browser.version < 7) {
|
1030 |
+
this.ieframe = $('<iframe class="zoom_ieframe" frameborder="0" src="#"></iframe>')
|
1031 |
+
.css({ position: "absolute", left:this.node.style.left,top:this.node.style.top,zIndex: 99,width:settings.zoomWidth,height:settings.zoomHeight })
|
1032 |
+
.insertBefore(this.node);
|
1033 |
+
};
|
1034 |
+
|
1035 |
+
|
1036 |
+
largeimage.node.style.display = 'block';
|
1037 |
+
}
|
1038 |
+
|
1039 |
+
Stage.prototype.remove = function() {
|
1040 |
+
switch(settings.hideEffect)
|
1041 |
+
{
|
1042 |
+
case 'hide':
|
1043 |
+
$('.jqZoomWindow').remove();
|
1044 |
+
break;
|
1045 |
+
case 'fadeout':
|
1046 |
+
$('.jqZoomWindow').fadeOut(settings.fadeoutSpeed);
|
1047 |
+
break;
|
1048 |
+
default:
|
1049 |
+
$('.jqZoomWindow').remove();
|
1050 |
+
break;
|
1051 |
+
}
|
1052 |
+
}
|
1053 |
+
|
1054 |
+
function zoomTitle()
|
1055 |
+
{
|
1056 |
+
|
1057 |
+
this.node = jQuery('<div />')
|
1058 |
+
.addClass('jqZoomTitle')
|
1059 |
+
.html('' + ZoomTitle +'');
|
1060 |
+
|
1061 |
+
this.loadtitle = function()
|
1062 |
+
{
|
1063 |
+
if(settings.zoomType == 'innerzoom')
|
1064 |
+
{
|
1065 |
+
$(this.node)
|
1066 |
+
.css({position: 'absolute',
|
1067 |
+
top: smallimagedata.pos.b +3,
|
1068 |
+
left: (smallimagedata.pos.l+1),
|
1069 |
+
width:smallimagedata.w
|
1070 |
+
})
|
1071 |
+
.appendTo('body');
|
1072 |
+
}else
|
1073 |
+
{
|
1074 |
+
$(this.node).appendTo(stage.node);
|
1075 |
+
}
|
1076 |
+
};
|
1077 |
+
}
|
1078 |
+
|
1079 |
+
zoomTitle.prototype.remove = function() {
|
1080 |
+
$('.jqZoomTitle').remove();
|
1081 |
+
}
|
1082 |
+
|
1083 |
+
|
1084 |
+
function Loader()
|
1085 |
+
{
|
1086 |
+
|
1087 |
+
this.node = document.createElement("div");
|
1088 |
+
$(this.node).addClass('preload');
|
1089 |
+
$(this.node).html(settings.preloadText);//appendo il testo
|
1090 |
+
|
1091 |
+
$(this.node )
|
1092 |
+
.appendTo("body")
|
1093 |
+
.css('visibility','hidden');
|
1094 |
+
|
1095 |
+
|
1096 |
+
|
1097 |
+
this.show = function()
|
1098 |
+
{
|
1099 |
+
switch(settings.preloadPosition)
|
1100 |
+
{
|
1101 |
+
case 'center':
|
1102 |
+
loadertop = smallimagedata.pos.t + (smallimagedata.h - $(this.node ).height())/2;
|
1103 |
+
loaderleft = smallimagedata.pos.l + (smallimagedata.w - $(this.node ).width())/2;
|
1104 |
+
break;
|
1105 |
+
default:
|
1106 |
+
var loaderoffset = this.getoffset();
|
1107 |
+
loadertop = !isNaN(loaderoffset.top) ? smallimagedata.pos.t + loaderoffset.top : smallimagedata.pos.t + 0;
|
1108 |
+
loaderleft = !isNaN(loaderoffset.left) ? smallimagedata.pos.l + loaderoffset.left : smallimagedata.pos.l + 0;
|
1109 |
+
break;
|
1110 |
+
}
|
1111 |
+
|
1112 |
+
//setting position
|
1113 |
+
$(this.node).css({
|
1114 |
+
top: loadertop ,
|
1115 |
+
left: loaderleft ,
|
1116 |
+
position: 'absolute',
|
1117 |
+
visibility:'visible'
|
1118 |
+
});
|
1119 |
+
}
|
1120 |
+
return this;
|
1121 |
+
}
|
1122 |
+
|
1123 |
+
Loader.prototype.getoffset = function()
|
1124 |
+
{
|
1125 |
+
var o = null;
|
1126 |
+
o = $('div.preload').offset();
|
1127 |
+
return o;
|
1128 |
+
}
|
1129 |
+
|
1130 |
+
});
|
1131 |
+
}
|
1132 |
+
})(jQuery);
|
1133 |
+
|
1134 |
+
function trim(stringa)
|
1135 |
+
{
|
1136 |
+
while (stringa.substring(0,1) == ' '){
|
1137 |
+
stringa = stringa.substring(1, stringa.length);
|
1138 |
+
}
|
1139 |
+
while (stringa.substring(stringa.length-1, stringa.length) == ' '){
|
1140 |
+
stringa = stringa.substring(0,stringa.length-1);
|
1141 |
+
}
|
1142 |
+
return stringa;
|
1143 |
+
}
|
js/jquery/jqzoom.pack.1.0.1.js
DELETED
@@ -1,12 +0,0 @@
|
|
1 |
-
/*
|
2 |
-
* JQZoom Evolution 1.0.1 - Javascript Image magnifier
|
3 |
-
*
|
4 |
-
* Copyright (c) Engineer Renzi Marco(www.mind-projects.it)
|
5 |
-
*
|
6 |
-
* $Date: 12-12-2008
|
7 |
-
*
|
8 |
-
* ChangeLog:
|
9 |
-
*
|
10 |
-
* $License : GPL,so any change to the code you should copy and paste this section,and would be nice to report this to me(renzi.mrc@gmail.com).
|
11 |
-
*/
|
12 |
-
eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(6($){$.30.31=6(G){I H={17:\'32\',18:2l,19:2l,1a:10,1b:0,Q:"2m",2n:1s,2o:12,2p:0.3,14:1s,1p:12,2q:\'1g\',2r:\'23\',2s:\'24\',2t:\'33\',2u:12,2v:1s,2w:\'34 35\',2x:\'1t\'};G=G||{};$.36(H,G);R 4.37(6(){I a=$(4);I d=a.1q(\'14\');$(a).1Q(\'14\');$(a).J(\'38-K\',\'1r\');$(a).J(\'39-3a\',\'1r\');I f=$(a).1q(\'3b\');I g=$("1H",4);I j=g.1q(\'14\');g.1Q(\'14\');I k=U 25(g);I l={};I m=0;I n=0;I p=1u;p=U 1R();I q=(26(d).Y>0)?d:(26(j).Y>0)?j:1u;I r=U 27();I s=U 1v(a[0].2y);I t=U 1c();I u={};I v=12;I y={};I z=1u;I A=12;I B={};I C=0;I D=12;I E=12;I F=12;k.1I();$(4).3c(6(){R 12});$(4).3d(6(e){B.x=e.1w;B.y=e.1x;k.1S();1d()},6(){k.1S();2z()});8(H.1p){2A(6(){1d()},3e)}6 1d(){8(!A){k.28();A=1s;j=g.1q(\'14\');g.1Q(\'14\');d=a.1q(\'14\');$(a).1Q(\'14\');s=U 1v(a[0].2y);8(!v||$.1e.2B){s.1I()}V{8(H.17!=\'1j\'){z=U 1J();z.1d()}t=U 1c;t.1d()}a[0].3f();R 12}};6 2z(){8(H.17==\'1K\'&&!H.1p){g.J({\'1T\':1})}8(!H.1p){A=12;v=12;$(t.5).29(\'1L\');t.Z();8($(\'P.1M\').Y>0){z.Z()}8($(\'P.2a\').Y>0){r.Z()}g.1q(\'14\',j);a.1q(\'14\',d);$().29();a.29(\'1L\');C=0;8(1y(\'.2b\').Y>0){1y(\'.2b\').Z()}}V{8(H.2o){1k(H.17){11\'1j\':s.2c();N;1l:t.1t();N}}}8(H.1p){1d()}};6 25(c){4.5=c[0];4.1I=6(){4.5.1m=c[0].1m};4.28=6(){I a=\'\';a=$(g).J(\'2C-L-W\');m=\'\';I b=\'\';b=$(g).J(\'2C-M-W\');n=\'\';8(a){1U(i=0;i<3;i++){I x=[];x=a.1n(i,1);8(1V(x)==12){m=m+\'\'+a.1n(i,1)}V{N}}}8(b){1U(i=0;i<3;i++){8(!1V(b.1n(i,1))){n=n+b.1n(i,1)}V{N}}}m=(m.Y>0)?1W(m):0;n=(n.Y>0)?1W(n):0};4.5.2D=6(){a.J({\'2E\':\'2F\',\'1h\':\'1X\'});8(a.J(\'Q\')!=\'15\'&&a.2d().J(\'Q\')){a.J({\'2E\':\'2F\',\'Q\':\'2G\',\'1h\':\'1X\'})}8(a.2d().J(\'Q\')!=\'15\'){a.2d().J(\'Q\',\'2G\')}V{}8($.1e.2B||$.1e.3g){$(g).J({Q:\'15\',L:\'2H\',M:\'2H\'})}l.w=$(4).W();l.h=$(4).1f();l.9=$(4).1i();l.9.l=$(4).1i().M;l.9.t=$(4).1i().L;l.9.r=l.w+l.9.l;l.9.b=l.h+l.9.t;a.1f(l.h);a.W(l.w);8(H.2u){k.1S();s.1I()}};R 4};25.13.1S=6(){l.9=$(g).1i();l.9.l=$(g).1i().M;l.9.t=$(g).1i().L;l.9.r=l.w+l.9.l;l.9.b=l.h+l.9.t};6 1c(){4.5=16.2e("P");$(4.5).1Y(\'X\');4.5.3h=6(){$(t.5).Z();t=U 1c();t.1d()};4.2I=6(){1k(H.17){11\'1K\':4.1z=U 1Z();4.1z.1m=k.5.1m;4.5.1N(4.1z);$(4.5).J({\'1T\':1});N;11\'1j\':4.1z=U 1Z();4.1z.1m=s.5.1m;4.5.1N(4.1z);$(4.5).J({\'1T\':1});N;1l:N}1k(H.17){11\'1j\':u.w=l.w;u.h=l.h;N;1l:u.w=(H.18)/y.x;u.h=(H.19)/y.y;N}$(4.5).J({W:u.w+\'S\',1f:u.h+\'S\',Q:\'15\',1h:\'1r\',3i:1+\'S\'});a.3j(4.5)};R 4};1c.13.1d=6(){4.2I();1k(H.17){11\'1K\':g.J({\'1T\':H.2p});(H.1p)?t.1t():t.1o(1u);a.2f(\'1L\',6(e){B.x=e.1w;B.y=e.1x;t.1o(e)});N;11\'1j\':$(4.5).J({L:0,M:0});8(H.14){r.2g()}s.2c();a.2f(\'1L\',6(e){B.x=e.1w;B.y=e.1x;s.2J(e)});N;1l:(H.1p)?t.1t():t.1o(1u);$(a).2f(\'1L\',6(e){B.x=e.1w;B.y=e.1x;t.1o(e)});N}R 4};1c.13.1o=6(e){8(e){B.x=e.1w;B.y=e.1x}8(C==0){I b=(l.w)/2-(u.w)/2;I c=(l.h)/2-(u.h)/2;$(\'P.X\').1g();8(H.2n){4.5.K.20=\'2K\'}V{4.5.K.20=\'2h\';$(\'P.X\').23()}C=1}V{I b=B.x-l.9.l-(u.w)/2;I c=B.y-l.9.t-(u.h)/2}8(2L()){b=0+n}V 8(2M()){8($.1e.1O&&$.1e.2i<7){b=l.w-u.w+n-1}V{b=l.w-u.w+n-1}}8(2N()){c=0+m}V 8(2O()){8($.1e.1O&&$.1e.2i<7){c=l.h-u.h+m-1}V{c=l.h-u.h-1+m}}b=1A(b);c=1A(c);$(\'P.X\',a).J({L:c,M:b});8(H.17==\'1K\'){$(\'P.X 1H\',a).J({\'Q\':\'15\',\'L\':-(c-m+1),\'M\':-(b-n+1)})}4.5.K.M=b+\'S\';4.5.K.L=c+\'S\';s.1o();6 2L(){R B.x-(u.w+2*1)/2-n<l.9.l}6 2M(){R B.x+(u.w+2*1)/2>l.9.r+n}6 2N(){R B.y-(u.h+2*1)/2-m<l.9.t}6 2O(){R B.y+(u.h+2*1)/2>l.9.b+m}R 4};1c.13.1t=6(){$(\'P.X\',a).J(\'1h\',\'1r\');I b=(l.w)/2-(u.w)/2;I c=(l.h)/2-(u.h)/2;4.5.K.M=b+\'S\';4.5.K.L=c+\'S\';$(\'P.X\',a).J({L:c,M:b});8(H.17==\'1K\'){$(\'P.X 1H\',a).J({\'Q\':\'15\',\'L\':-(c-m+1),\'M\':-(b-n+1)})}s.1o();8($.1e.1O){$(\'P.X\',a).1g()}V{2A(6(){$(\'P.X\').2P(\'24\')},10)}};1c.13.1P=6(){I o={};o.M=1A(4.5.K.M);o.L=1A(4.5.K.L);R o};1c.13.Z=6(){8(H.17==\'1j\'){$(\'P.X\',a).2Q(\'24\',6(){$(4).Z()})}V{$(\'P.X\',a).Z()}};1c.13.28=6(){I a=\'\';a=$(\'P.X\').J(\'3k\');1B=\'\';I b=\'\';b=$(\'P.X\').J(\'3l\');1C=\'\';8($.1e.1O){I c=a.2R(\' \');a=c[1];I c=b.2R(\' \');b=c[1]}8(a){1U(i=0;i<3;i++){I x=[];x=a.1n(i,1);8(1V(x)==12){1B=1B+\'\'+a.1n(i,1)}V{N}}}8(b){1U(i=0;i<3;i++){8(!1V(b.1n(i,1))){1C=1C+b.1n(i,1)}V{N}}}1B=(1B.Y>0)?1W(1B):0;1C=(1C.Y>0)?1W(1C):0};6 1v(a){4.2S=a;4.5=U 1Z();4.1I=6(){8(!4.5)4.5=U 1Z();4.5.K.Q=\'15\';4.5.K.1h=\'1r\';4.5.K.M=\'-3m\';4.5.K.L=\'3n\';p=U 1R();8(H.2v&&!D){p.1g();D=1s}16.2j.1N(4.5);4.5.1m=4.2S};4.5.2D=6(){4.K.1h=\'1X\';I w=O.21($(4).W());I h=O.21($(4).1f());4.K.1h=\'1r\';y.x=(w/l.w);y.y=(h/l.h);8($(\'P.1D\').Y>0){$(\'P.1D\').Z()}v=1s;8(H.17!=\'1j\'&&A){z=U 1J();z.1d()}8(A){t=U 1c();t.1d()}8($(\'P.1D\').Y>0){$(\'P.1D\').Z()}};R 4};1v.13.1o=6(){4.5.K.M=O.1E(-y.x*1A(t.1P().M)+n)+\'S\';4.5.K.L=O.1E(-y.y*1A(t.1P().L)+m)+\'S\'};1v.13.2J=6(e){4.5.K.M=O.1E(-y.x*O.T(e.1w-l.9.l))+\'S\';4.5.K.L=O.1E(-y.y*O.T(e.1x-l.9.t))+\'S\';$(\'P.X 1H\',a).J({\'Q\':\'15\',\'L\':4.5.K.L,\'M\':4.5.K.M})};1v.13.2c=6(){4.5.K.M=O.1E(-y.x*O.T((l.w)/2))+\'S\';4.5.K.L=O.1E(-y.y*O.T((l.h)/2))+\'S\';$(\'P.X 1H\',a).J({\'Q\':\'15\',\'L\':4.5.K.L,\'M\':4.5.K.M})};6 1J(){I a=1y(g).1i().M;I b=1y(g).1i().L;4.5=16.2e("P");$(4.5).1Y(\'1M\');$(4.5).J({Q:\'15\',W:O.21(H.18)+\'S\',1f:O.21(H.19)+\'S\',1h:\'1r\',2T:3o,3p:\'2h\'});1k(H.Q){11"2m":a=(a+$(g).W()+O.T(H.1a)+H.18<$(16).W())?(a+$(g).W()+O.T(H.1a)):(a-H.18-10);1F=b+H.1b+H.19;b=(1F<$(16).1f()&&1F>0)?b+H.1b:b;N;11"M":a=(l.9.l-O.T(H.1a)-H.18>0)?(l.9.l-O.T(H.1a)-H.18):(l.9.l+l.w+10);1F=l.9.t+H.1b+H.19;b=(1F<$(16).1f()&&1F>0)?l.9.t+H.1b:l.9.t;N;11"L":b=(l.9.t-O.T(H.1b)-H.19>0)?(l.9.t-O.T(H.1b)-H.19):(l.9.t+l.h+10);1G=l.9.l+H.1a+H.18;a=(1G<$(16).W()&&1G>0)?l.9.l+H.1a:l.9.l;N;11"3q":b=(l.9.b+O.T(H.1b)+H.19<$(16).1f())?(l.9.b+O.T(H.1b)):(l.9.t-H.19-10);1G=l.9.l+H.1a+H.18;a=(1G<$(16).W()&&1G>0)?l.9.l+H.1a:l.9.l;N;1l:a=(l.9.l+l.w+H.1a+H.18<$(16).W())?(l.9.l+l.w+O.T(H.1a)):(l.9.l-H.18-O.T(H.1a));b=(l.9.b+O.T(H.1b)+H.19<$(16).1f())?(l.9.b+O.T(H.1b)):(l.9.t-H.19-O.T(H.1b));N}4.5.K.M=a+\'S\';4.5.K.L=b+\'S\';R 4};1J.13.1d=6(){8(!4.5.3r)4.5.1N(s.5);8(H.14){r.2g()}16.2j.1N(4.5);1k(H.2q){11\'1g\':$(4.5).1g();N;11\'3s\':$(4.5).2P(H.2s);N;1l:$(4.5).1g();N}$(4.5).1g();8($.1e.1O&&$.1e.2i<7){4.3t=$(\'<2U 3u="2b" 3v="3w" 3x="0" 1m="#" K="3y-3z: 2V" 3A="2V"></2U>\').J({Q:"15",M:4.5.K.M,L:4.5.K.L,2T:3B,W:(H.18+2),1f:(H.19)}).3C(4.5)};s.5.K.1h=\'1X\'};1J.13.Z=6(){1k(H.2r){11\'23\':$(\'.1M\').Z();N;11\'3D\':$(\'.1M\').2Q(H.2t);N;1l:$(\'.1M\').Z();N}};6 27(){4.5=1y(\'<P />\').1Y(\'2a\').2W(\'\'+q+\'\');4.2g=6(){8(H.17==\'1j\'){$(4.5).J({Q:\'15\',L:l.9.b+3,M:(l.9.l+1),W:l.w}).2k(\'2j\')}V{$(4.5).2k(z.5)}}};27.13.Z=6(){$(\'.2a\').Z()};6 1R(){4.5=16.2e("P");$(4.5).1Y(\'1D\');$(4.5).2W(H.2w);$(4.5).2k(a).J(\'20\',\'2h\');4.1g=6(){1k(H.2x){11\'1t\':2X=(l.h-$(4.5).1f())/2;2Y=(l.w-$(4.5).W())/2;$(4.5).J({L:2X,M:2Y});N;1l:I a=4.1P();N}$(4.5).J({Q:\'15\',20:\'2K\'})};R 4};1R.13.1P=6(){I o=1u;o=$(\'P.1D\').1i();R o}})}})(1y);6 26(a){2Z(a.22(0,1)==\' \'){a=a.22(1,a.Y)}2Z(a.22(a.Y-1,a.Y)==\' \'){a=a.22(0,a.Y-1)}R a};',62,226,'||||this|node|function||if|pos|||||||||||||||||||||||||||||||||||var|css|style|top|left|break|Math|div|position|return|px|abs|new|else|width|jqZoomPup|length|remove||case|false|prototype|title|absolute|document|zoomType|zoomWidth|zoomHeight|xOffset|yOffset|Lens|activate|browser|height|show|display|offset|innerzoom|switch|default|src|substr|setposition|alwaysOn|attr|none|true|center|null|Largeimage|pageX|pageY|jQuery|image|parseInt|lensbtop|lensbleft|preload|ceil|topwindow|leftwindow|img|loadimage|Stage|reverse|mousemove|jqZoomWindow|appendChild|msie|getoffset|removeAttr|Loader|setpos|opacity|for|isNaN|eval|block|addClass|Image|visibility|round|substring|hide|fast|Smallimage|trim|zoomTitle|findborder|unbind|jqZoomTitle|zoom_ieframe|setcenter|parent|createElement|bind|loadtitle|hidden|version|body|appendTo|200|right|lens|lensReset|imageOpacity|showEffect|hideEffect|fadeinSpeed|fadeoutSpeed|preloadImages|showPreload|preloadText|preloadPosition|href|deactivate|setTimeout|safari|border|onload|cursor|crosshair|relative|0px|loadlens|setinner|visible|overleft|overright|overtop|overbottom|fadeIn|fadeOut|split|url|zIndex|iframe|transparent|html|loadertop|loaderleft|while|fn|jqzoom|standard|slow|Loading|zoom|extend|each|outline|text|decoration|rel|click|hover|150|blur|opera|onerror|borderWidth|append|borderTop|borderLeft|5000px|10px|10000|overflow|bottom|firstChild|fadein|ieframe|class|name|content|frameborder|background|color|bgcolor|99|insertBefore|fadeout'.split('|'),0,{}))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
package.xml
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>CueBlocks_Zoom</name>
|
4 |
-
<version>1.
|
5 |
<stability>stable</stability>
|
6 |
<license>OSL v3.0</license>
|
7 |
<channel>community</channel>
|
@@ -12,11 +12,11 @@
|
|
12 |
|
13 |
2)template/catalog/product/view/media.phtml file will be ignored and the one in the extension will be used for the zoom function to work on the product page. So if you have customized your media.phtml file, you will need to copy your custom code and paste it in this "new" file located at /design/frontend/default/default/template/zoom/media.phtml. For help, please get in touch with us at magento@cueblocks.com
|
14 |
|
15 |
-
3)This extension will work for simple,configurable,bundled and grouped products.</notes>
|
16 |
<authors><author><name>ekta puri</name><user>auto-converted</user><email>ekta.puri@cueblocks.com</email></author></authors>
|
17 |
-
<date>2010-12-
|
18 |
-
<time>08:
|
19 |
-
<contents><target name="magedesign"><dir name="frontend"><dir name="default"><dir name="default"><dir name="layout"><file name="zoom.xml" hash="
|
20 |
<compatible/>
|
21 |
<dependencies/>
|
22 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>CueBlocks_Zoom</name>
|
4 |
+
<version>1.2</version>
|
5 |
<stability>stable</stability>
|
6 |
<license>OSL v3.0</license>
|
7 |
<channel>community</channel>
|
12 |
|
13 |
2)template/catalog/product/view/media.phtml file will be ignored and the one in the extension will be used for the zoom function to work on the product page. So if you have customized your media.phtml file, you will need to copy your custom code and paste it in this "new" file located at /design/frontend/default/default/template/zoom/media.phtml. For help, please get in touch with us at magento@cueblocks.com
|
14 |
|
15 |
+
3)This extension will work for simple,configurable,bundled,virtual and grouped products.</notes>
|
16 |
<authors><author><name>ekta puri</name><user>auto-converted</user><email>ekta.puri@cueblocks.com</email></author></authors>
|
17 |
+
<date>2010-12-22</date>
|
18 |
+
<time>08:06:00</time>
|
19 |
+
<contents><target name="magedesign"><dir name="frontend"><dir name="default"><dir name="default"><dir name="layout"><file name="zoom.xml" hash="08b141509cfe1ee0446284cdc7f96190"/></dir><dir name="template"><dir name="zoom"><file name="media.phtml" hash="bade83e2391b1c516904d838260e9653"/></dir></dir></dir></dir></dir></target><target name="magecommunity"><dir name="JM"><dir name="Zoom"><dir name="etc"><file name="config.xml" hash="f26eb7b6402402352fa5652048e08ade"/></dir><dir name="Helper"><file name="Data.php" hash="2245b8126f8ebf4298f860b4ee281dca"/></dir></dir><file name="readme.txt" hash="138b38dbe41de82e75ac53b3c229e4ae"/></dir></target><target name="mage"><dir name="js"><dir name="jquery"><file name="Cuejqzoom.js" hash="f5c86178d61b4f4dada2e116a6ce104a"/><file name="jquery-1.3.2.min.js" hash="25e59325cb47d2ab5ea650d47f431a9c"/><file name="jquery.jqzoom1.0.1.js" hash="e15445b6384c0be0b55b6d9b3f873867"/></dir></dir><dir name="skin"><dir name="frontend"><dir name="default"><dir name="default"><dir name="css"><file name="jqzoom.css" hash="6b12d033e477ead2050d9d5cd58d7185"/></dir><dir name="images"><file name="zoomloader.gif" hash="7b9776076d5fceef4993b55c9383dedd"/></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="JM_Zoom.xml" hash="a663efed0c95b85798e6aa7ffd644c8b"/></dir></target></contents>
|
20 |
<compatible/>
|
21 |
<dependencies/>
|
22 |
</package>
|
skin/frontend/default/default/css/jqzoom.css
CHANGED
@@ -56,11 +56,12 @@ div.jqZoomTitle
|
|
56 |
position:absolute;
|
57 |
top:3px;
|
58 |
left:3px;
|
|
|
59 |
}
|
60 |
|
61 |
.jqZoomWindow
|
62 |
{
|
63 |
-
|
64 |
margin-top:30px;
|
65 |
background-color: #FFF;
|
66 |
}
|
56 |
position:absolute;
|
57 |
top:3px;
|
58 |
left:3px;
|
59 |
+
|
60 |
}
|
61 |
|
62 |
.jqZoomWindow
|
63 |
{
|
64 |
+
border: 1px solid #000;
|
65 |
margin-top:30px;
|
66 |
background-color: #FFF;
|
67 |
}
|
skin/frontend/default/default/images/zoomloader.gif
ADDED
Binary file
|