Forum Moderators: open

Message Too Old, No Replies

need help with JS mouseover/popup

         

stevemtno

10:59 pm on May 3, 2008 (gmt 0)

10+ Year Member



I'm working on redesigning our site and I'm having a problem with a JS mouseover/popup. Hopefully someone here can help me. Right now, when you mouse over an ad, you get a larger version of the ad in a popup window that appears to the left. What I need to do is make it popup to the right instead.

Go to the Featured Autos section.

This is the JS that it's using:


function showAdLeft(objname) {

if(document.getElementById) {
var adobj=document.getElementById('ad'+objname); // the floating ad
var obj=document.getElementById(objname); // the graphic link
var objleft=obj.offsetLeft;
var objtop=obj.offsetTop;
var objwidth=obj.offsetWidth;
var objheight=obj.offsetHeight;
var objxcenter=(objwidth/2)+objleft;
var objycenter=(objheight/2) +objtop;
var objybottom=obj.offsetHeight;
var adobjwidth=adobj.offsetWidth;
var adobjheight=adobj.offsetHeight;
var adobjxcenter=adobjwidth/2;
var adobjycenter=adobjheight/2;
adobj.style.left=objleft-adobjwidth;
adobj.style.top=objycenter-adobjycenter;
adobj.style.visibility="visible"
}
}

function showAdRight(objname) {

if(document.getElementById) {
var adobj=document.getElementById('ad'+objname); // the floating ad
var obj=document.getElementById(objname); // the graphic link
var objleft=obj.offsetLeft-150; //Make adjustment for being in right column
var objtop=obj.offsetTop;
var objwidth=obj.offsetWidth;
var objheight=obj.offsetHeight;
var objxcenter=(objwidth/2)+objleft;
var objycenter=(objheight/2) +objtop;
var objybottom=obj.offsetHeight;
var adobjwidth=adobj.offsetWidth;
var adobjheight=adobj.offsetHeight;
var adobjxcenter=adobjwidth/2;
var adobjycenter=adobjheight/2;
adobj.style.left=objleft-adobjwidth;
adobj.style.top=objycenter-adobjycenter;
adobj.style.visibility="visible"
}
}

function hideAd(objname) {
if(document.getElementById) {
adobj=document.getElementById('ad' +objname);
adobj.style.visibility="hidden"
}
}

// -->
</script>

I'm assuming this should be an easy fix, but I have no idea where to start. Again, if anyone can help, I would greatly appreciate it. Thanks!

Steve

[edited by: jatar_k at 2:20 am (utc) on May 4, 2008]
[edit reason] no urls thanks [/edit]

daveVk

1:21 am on May 4, 2008 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



Try changing

adobj.style.left=objleft-adobjwidth;

TO

adobj.style.left=obj.offsetLeft+obj.offsetWidth;

stevemtno

4:26 pm on May 4, 2008 (gmt 0)

10+ Year Member



Tried that (in both instances in the script), but it didn't make any difference. The popup still goes to the left. Do I need to change something else too?

SteveMTNO

daveVk

12:20 am on May 5, 2008 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



look for other references to style.left and add alert (for test purposes) after each style.left= ... statements like

adobj.style.left=obj.offsetLeft+obj.offsetWidth;
alert( "in showAdRight set left=" + adobj.style.left )