![]() Topic awaiting preservation: Image zoom script help... |
|
|---|---|
| Author | Thread |
|
Bipolar (III) Inmate From: Kansas City, MO , USA |
posted 09-09-2005 07:20
Hopefully this is a easy fix... I have this script that makes any image with the class tag of zoom the ability to be zoomed by clicks: code: function findDOM(objectId) {
if (document.getElementById) {
return (document.getElementById(objectId));}
if (document.all) {
return (document.all[objectId]);}
}
function zoom(type,imgx,iWidthIn,iHeightIn) {
imgd = findDOM(imgx);
if (type=="+" && imgd.width >= iWidthIn) {
imgd.width = 2*imgd.width;
imgd.height = 2*imgd.height;
}
if (type=="-" && imgd.width > iWidthIn) {
imgd.width = imgd.width/2;
imgd.height = imgd.height/2;
}
}
var zoomClass = "zoom";
var normalWidth = new Array();
var normalHeight = new Array();
var getZoom = new Array();
function initZoom() {
var allImgs = new Array();
allImgs = document.body.getElementsByTagName('IMG');
for ( i = 0; i < allImgs.length; i++ ) {
if (allImgs[i].className.toLowerCase() == zoomClass.toLowerCase())
getZoom[getZoom.length] = allImgs[i];
}
for (i=0; i < getZoom.length; i++) {
normalWidth[i] = getZoom[i].width;
normalHeight[i] = getZoom[i].height;
getZoom[i].width = normalWidth[i];
getZoom[i].height = normalHeight[i];
if (document.addEventListener) {
getZoom[i].addEventListener('click', zoomImg, false);
} else {
getZoom[i].onclick = zoomImg;
}
}
}
function zoomImg(e) {
if (e) {
ctrlPress = e.ctrlKey;
shiftPress = e.shiftKey;
altPress = e.altKey;
} else {
ctrlPress = event.ctrlKey;
shiftPress = event.shiftKey;
altPress = event.altKey;
}
for (i=0;i<getZoom.length;i++) {
if (this == getZoom[i]) imgToZoom = i;
}
if (altPress) {
getZoom[imgToZoom].width = normalWidth[imgToZoom];
getZoom[imgToZoom].height = normalHeight[imgToZoom];
} else if (ctrlPress || shiftPress) {
if (getZoom[imgToZoom].width > normalWidth[imgToZoom]) {
getZoom[imgToZoom].width -= normalWidth[imgToZoom];
getZoom[imgToZoom].height -= normalHeight[imgToZoom];
}
} else {
getZoom[imgToZoom].width += normalWidth[imgToZoom];
getZoom[imgToZoom].height += normalHeight[imgToZoom];
}
}
|
|
Lunatic (VI) Mad Scientist From: Massachusetts, USA |
posted 09-22-2005 22:32
|
|
Maniac (V) Mad Scientist From: 100101010011 <-- right about here |
posted 09-23-2005 01:21
Um this is a bit wierd. |
|
Bipolar (III) Inmate From: Kansas City, MO , USA |
posted 09-23-2005 08:48
Here is the example: http://www.ensellitis.com/index.php?p=197 |
|
Lunatic (VI) Mad Scientist From: Massachusetts, USA |
posted 09-23-2005 09:23
Right, I don't know why I thought position:relative would work. It shouldn't. |
|
Maniac (V) Mad Scientist From: :morF |
posted 09-23-2005 14:19
unless you put the text, as well, inside the containing DIV, possibly placing it inside its own DIV to keep it the same width constantly. |