timmah1 Posted January 28, 2008 Share Posted January 28, 2008 I have a marquee, and when you roll-over the photo in the marquee, it drops down more information about that photo. The problem I'm having is the position of the drop down, I need it to show directly below the photo, but it's showing to the right, sometimes off screen. Can anybody help me out with this? I'm not very familiar with javascript <a href="http://www.thehoneypotclub.com/" id="searchlink" rel="subcontent"><img src="escorts/<?php echo $row1['SampleOne']; ?>" height="110"></a> <DIV id="subcontent" style="position:absolute; visibility: hidden; border: 9px solid orange; background-color: white; width: 150px; padding: 8px; z-index:1;"> <p><b><?php echo $myrow2['EscortName']; ?> Details</b></p> <ul> <li><?php echo $myrow2['EscortName']; ?></li> <li><?php echo $myrow2['Age']; ?></li> <li>£<?php echo $myrow2['priceperhour']; ?></li> <li><a href="index.php?cid=profile&EscortID=<?php echo $myrow2['id']; ?>">View Full Profile</a></li> </ul> </DIV> <script type="text/javascript"> //Call dropdowncontent.init(anchorID, positionString, glideduration) at the end of the page: dropdowncontent.init("searchlink", "left-bottom", 500) </script> It calls this script in the header var dropdowncontent={ delaybeforehide: 100, //set delay in milliseconds before content box disappears onMouseout (1000=1 sec) disableanchorlink: true, //when user clicks on anchor link, should it be disabled? ajaxloadingmsg: "Loading content. Please wait...", //HTML to show while ajax page is being feched ajaxbustcache: true, //Bust cache when fetching pages? getposOffset:function(what, offsettype){ return (what.offsetParent)? what[offsettype]+this.getposOffset(what.offsetParent, offsettype) : what[offsettype] }, isContained:function(m, e){ var e=window.event || e var c=e.relatedTarget || ((e.type=="mouseover")? e.fromElement : e.toElement) while (c && c!=m)try {c=c.parentNode} catch(e){c=m} if (c==m) return true else return false }, show:function(anchorobj, subobj, e){ if (!this.isContained(anchorobj, e)){ var horizontaloffset=(subobj.dropposition[0]=="left")? -(subobj.offsetWidth-anchorobj.offsetWidth) : 0 //calculate user added horizontal offset var verticaloffset=(subobj.dropposition[1]=="top")? -subobj.offsetHeight : anchorobj.offsetHeight //calculate user added vertical offset subobj.style.left=this.getposOffset(anchorobj, "offsetLeft") + horizontaloffset + "px" subobj.style.top=this.getposOffset(anchorobj, "offsetTop")+verticaloffset+"px" subobj.style.clip=(subobj.dropposition[1]=="top")? "rect(auto auto auto 0)" : "rect(0 auto 0 0)" //hide drop down box initially via clipping subobj.style.visibility="visible" subobj.startTime=new Date().getTime() subobj.contentheight=parseInt(subobj.offsetHeight) if (typeof window["hidetimer_"+subobj.id]!="undefined") //clear timer that hides drop down box? clearTimeout(window["hidetimer_"+subobj.id]) this.slideengine(subobj, (subobj.dropposition[1]=="top")? "up" : "down") } }, curveincrement:function(percent){ return (1-Math.cos(percent*Math.PI)) / 2 //return cos curve based value from a percentage input }, slideengine:function(obj, direction){ var elapsed=new Date().getTime()-obj.startTime //get time animation has run if (elapsed<obj.glidetime){ //if time run is less than specified length var distancepercent=(direction=="down")? this.curveincrement(elapsed/obj.glidetime) : 1-this.curveincrement(elapsed/obj.glidetime) var currentclip=(distancepercent*obj.contentheight)+"px" obj.style.clip=(direction=="down")? "rect(0 auto "+currentclip+" 0)" : "rect("+currentclip+" auto auto 0)" window["glidetimer_"+obj.id]=setTimeout(function(){dropdowncontent.slideengine(obj, direction)}, 10) } else{ //if animation finished obj.style.clip="rect(0 auto auto 0)" } }, hide:function(activeobj, subobj, e){ if (!dropdowncontent.isContained(activeobj, e)){ window["hidetimer_"+subobj.id]=setTimeout(function(){ subobj.style.visibility="hidden" subobj.style.left=subobj.style.top=0 clearTimeout(window["glidetimer_"+subobj.id]) }, dropdowncontent.delaybeforehide) } }, ajaxconnect:function(pageurl, divId){ var page_request = false var bustcacheparameter="" if (window.XMLHttpRequest) // if Mozilla, IE7, Safari etc page_request = new XMLHttpRequest() else if (window.ActiveXObject){ // if IE6 or below try { page_request = new ActiveXObject("Msxml2.XMLHTTP") } catch (e){ try{ page_request = new ActiveXObject("Microsoft.XMLHTTP") } catch (e){} } } else return false document.getElementById(divId).innerHTML=this.ajaxloadingmsg //Display "fetching page message" page_request.onreadystatechange=function(){dropdowncontent.loadpage(page_request, divId)} if (this.ajaxbustcache) //if bust caching of external page bustcacheparameter=(pageurl.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime() page_request.open('GET', pageurl+bustcacheparameter, true) page_request.send(null) }, loadpage:function(page_request, divId){ if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1)){ document.getElementById(divId).innerHTML=page_request.responseText } }, init:function(anchorid, pos, glidetime){ var anchorobj=document.getElementById(anchorid) var subobj=document.getElementById(anchorobj.getAttribute("rel")) var subobjsource=anchorobj.getAttribute("rev") if (subobjsource!=null && subobjsource!="") this.ajaxconnect(subobjsource, anchorobj.getAttribute("rel")) subobj.dropposition=pos.split("-") subobj.glidetime=glidetime || 1000 subobj.style.left=subobj.style.top=0 anchorobj.onmouseover=function(e){dropdowncontent.show(this, subobj, e)} anchorobj.onmouseout=function(e){dropdowncontent.hide(subobj, subobj, e)} if (this.disableanchorlink) anchorobj.onclick=function(){return false} subobj.onmouseout=function(e){dropdowncontent.hide(this, subobj, e)} } } Quote Link to comment Share on other sites More sharing options...
phpQuestioner Posted January 28, 2008 Share Posted January 28, 2008 You don't need to double post in the forum to get help refer to this thread: http://www.phpfreaks.com/forums/index.php/topic,179329.0.html Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.