garyennis
asked on
Help with code in NN6
I have a page which uses a couple of javascript/dhtml effects on one page... Everything works as expected in IE4+, NN3, but not NN6.
On NN6, The "magnifier" effect does not work....
can anyone look and advise how to fix the code.
zip file at: http://garethennis.com/help.zip
Thanks
Gary
On NN6, The "magnifier" effect does not work....
can anyone look and advise how to fix the code.
zip file at: http://garethennis.com/help.zip
Thanks
Gary
ASKER
MMmmmm...
In NN6 it sort of works now... However, when you click on the magnifiing glass for a 2nd time, it jumps back to the initial starting point.
Also (even worse), it now does not work in NN4 at all!!
(and don't know if this is related, but the "sliding text" panels is really slow....)
Can you revisit?
Thanks
Gary
In NN6 it sort of works now... However, when you click on the magnifiing glass for a 2nd time, it jumps back to the initial starting point.
Also (even worse), it now does not work in NN4 at all!!
(and don't know if this is related, but the "sliding text" panels is really slow....)
Can you revisit?
Thanks
Gary
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
With your new code, The magnifying glass still does not work in NN4 (it won't drag at all). In fact, something in the code causes NN4 to crash everytime!!!
Everything works fine in ie4 and nn6 now (excellent), but considering it used to work in NN4 there must be something wrong...
I'm more than happy to increase points once its all sorted.
G
Everything works fine in ie4 and nn6 now (excellent), but considering it used to work in NN4 there must be something wrong...
I'm more than happy to increase points once its all sorted.
G
What version of NN4 are you using? I am using NN4.7 and it works fine.
ASKER
Netscape® Communicator 4.79
I think I have NN4.79 at home. I'll have to look at it there tonight.
Gary,
I just tried the code on NN4.79 on my ME machine and it worked fine.
Corey
I just tried the code on NN4.79 on my ME machine and it worked fine.
Corey
ASKER
OK.. I'll trust you with the NN4 issue ;)
The points (increased) are yours!
The points (increased) are yours!
Thanks Gary,
Maybe you just need to reinstall NN4.79? Or you could try it on another machine if you have one available to make sure it works.
Corey
Maybe you just need to reinstall NN4.79? Or you could try it on another machine if you have one available to make sure it works.
Corey
ASKER
More help needed!!!!
https://www.experts-exchange.com/jsp/qManageQuestion.jsp?ta=javascript&qid=20315425
500 points up for offer!!!
Thanks Gary
https://www.experts-exchange.com/jsp/qManageQuestion.jsp?ta=javascript&qid=20315425
500 points up for offer!!!
Thanks Gary
Replace your code in magnify.js with the following:
var isNav = false;
var isIE = false;
var isNav6 = false;
var offsetX, offsetY
var selectedObj
var enlargefactor=2.037
var largewidth = 550
var largeheight = 270
var largeleft = 599
var largetop = 112
var thumbwidth = Math.floor(largewidth/enla
var thumbheight = Math.floor(largeheight/enl
var thumbleft = 316
var thumbtop = 110
var mglasswidth = 48
var mglassheight = 48
var mglassleft = 605
var mglasstop = 270
var difleft= largeleft-thumbleft
var diftop= largetop-thumbtop
var clippoints
var cliptop = (thumbheight-mglassheight)
var clipbottom = cliptop+(mglassheight*enla
var clipleft =(thumbwidth-mglasswidth)*
var clipright = clipleft+(mglasswidth*enla
isIE = (navigator.appName.indexOf
ns = (navigator.appName.indexOf
isNav= (ns && navigator.appVersion.index
isNav6= (ns && navigator.appVersion.index
function setZIndex(obj, zOrder) {
obj.zIndex = zOrder
}
function shiftTo(obj, x, y) {
if (isNav) {
obj.moveTo(x,y);
} else if(isNav6){
obj.style.left = x + "px";
obj.style.top = y + "px";
} else {
obj.pixelLeft = x;
obj.pixelTop = y;
}
cliptop = (y-thumbtop)*enlargefactor
clipbottom = cliptop+(mglassheight*enla
clipleft = (x-thumbleft)*enlargefacto
clipright = clipleft+(mglasswidth*enla
if (document.all) {
clippoints ="rect("+cliptop+" "+clipright+" "+clipbottom+" "+clipleft+")"
document.all.large.style.p
document.all.large.style.p
document.all.large.style.c
}
if (document.layers) {
document.large.top=largeto
document.large.left=largel
document.large.clip.left = clipleft
document.large.clip.right = clipright
document.large.clip.top = cliptop
document.large.clip.bottom
}
if (document.getElementById){
document.getElementById("l
document.getElementById("l
clippoints ="rect("+cliptop+" "+clipright+" "+clipbottom+" "+clipleft+")";
document.getElementById("l
}
}
function setSelectedElem(evt) {
if (isNav) {
var testObj
var clickX = evt.pageX
var clickY = evt.pageY
for (var i = document.layers.length - 1; i >= 0; i--) {
testObj = document.layers[i]
if ((clickX > testObj.left) &&
(clickX < testObj.left + testObj.clip.width) &&
(clickY > testObj.top) &&
(clickY < testObj.top + testObj.clip.height)) {
selectedObj = testObj
setZIndex(selectedObj, 100)
return
}
}
} else if(isIE ){
var imgObj = window.event.srcElement
if (imgObj.parentElement.id.i
selectedObj = imgObj.parentElement.style
setZIndex(selectedObj,100)
return
}
} else if(isNav6){
var imgObj = evt.target;
if (imgObj.parentNode.id == ("mglass")) {
selectedObj = imgObj.parentNode
setZIndex(selectedObj,100)
return
}
}
selectedObj = null
return
}
function dragIt(evt) {
if (selectedObj) {
if (isNav) {
shiftTo(selectedObj, (evt.pageX - offsetX), (evt.pageY - offsetY))
} else if(isNav6){
shiftTo(selectedObj, (evt.clientX - offsetX), (evt.clientY - offsetY))
}else {
shiftTo(selectedObj, (window.event.clientX - offsetX), (window.event.clientY - offsetY))
return false
}
}
}
function engage(evt) {
setSelectedElem(evt)
if (selectedObj) {
if (isNav) {
offsetX = evt.pageX - selectedObj.left;
offsetY = evt.pageY - selectedObj.top;
} else if(isNav6){
offsetX = evt.clientX - selectedObj.left;
offsetY = evt.clientY - selectedObj.top;
}else {
offsetX = window.event.offsetX;
offsetY = window.event.offsetY;
}
}
return false
}
function release(evt) {
if (selectedObj) {
setZIndex(selectedObj, 0)
selectedObj = null
}
}
function setNavEventCapture() {
if (isNav || isNav6) {
document.captureEvents(Eve
}
}
function adoinit() {
if (document.layers) {
document.large.left=largel
document.large.top=largeto
document.thumb.left=thumbl
document.thumb.top=thumbto
document.mglass.left=mglas
document.mglass.top=mglass
document.large.clip.left = 0
document.large.clip.right = 0
document.large.clip.top = 0
document.large.clip.bottom
setNavEventCapture()
}
if (document.all) {
document.all.large.style.p
document.all.large.style.p
document.all.thumb.style.p
document.all.thumb.style.p
document.all.mglass.style.
document.all.mglass.style.
document.all.large.style.c
}
if(document.getElementById
document.getElementById("l
document.getElementById("l
document.getElementById("t
document.getElementById("t
document.getElementById("m
document.getElementById("m
//document.getElementById(
//document.getElementById(
//document.getElementById(
//document.getElementById(
document.getElementById("l
setNavEventCapture();
}
document.onmousedown = engage
document.onmousemove = dragIt
document.onmouseup = release
}
Corey