Results 1 to 2 of 2

Thread: imagetooltip in conjunction with Dynamic AJAX Content

  1. #1
    Join Date
    May 2008
    Posts
    2
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default imagetooltip in conjunction with Dynamic AJAX Content

    Hi All,

    I am trying to get the following script to work - the problem is that the thumbnails are inside an ASP page that is is dynamically loaded using XMLHttpRequest.

    Page in question:

    http://www.alloistudio.co.uk/mjw/pro...roductID=11493

    Any help on the above would be a massive help.

    Thanks in advance.

    Borami

    PS: I have posted the code of the page beneath this post..

  2. #2
    Join Date
    May 2008
    Posts
    2
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default

    Page loaded by the XMLHttpRequest is as follows:

    <script type="text/javascript">

    /***********************************************
    * Image w/ description tooltip- By Dynamic Web Coding (www.dyn-web.com)
    * Copyright 2002-2007 by Sharon Paine
    * Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
    ***********************************************/

    /* IMPORTANT: Put script after tooltip div or
    put tooltip div just before </BODY>. */

    var dom = (document.getElementById) ? true : false;
    var ns5 = (!document.all && dom || window.opera) ? true: false;
    var ie5 = ((navigator.userAgent.indexOf("MSIE")>-1) && dom) ? true : false;
    var ie4 = (document.all && !dom) ? true : false;
    var nodyn = (!ns5 && !ie4 && !ie5 && !dom) ? true : false;

    var origWidth, origHeight;

    // avoid error of passing event object in older browsers
    if (nodyn) { event = "nope" }

    /////////////////////// CUSTOMIZE HERE ////////////////////
    // settings for tooltip
    // Do you want tip to move when mouse moves over link?
    var tipFollowMouse= true;
    // Be sure to set tipWidth wide enough for widest image
    var tipWidth= 100;
    var offX= 30; // how far from mouse to show tip
    var offY= 10;
    var tipFontFamily= "Verdana, arial, helvetica, sans-serif";
    var tipFontSize= "8pt";
    // set default text color and background color for tooltip here
    // individual tooltips can have their own (set in messages arrays)
    // but don't have to
    var tipFontColor= "#000000";
    var tipBgColor= "#DDECFF";
    var tipBorderColor= "#000080";
    var tipBorderWidth= 1;
    var tipBorderStyle= "ridge";
    var tipPadding= 1;

    // tooltip content goes here (image, description, optional bgColor, optional textcolor)
    var messages = new Array();
    // multi-dimensional arrays containing:
    // image and text for tooltip
    // optional: bgColor and color to be sent to tooltip
    <% Do While not RSvariants.EOF %>

    messages[<%=RSvariants("VariantID")%>] = new Array('<%=RSvariants("VariantIMG")%>','test',"#FFFFFF");
    <% RSvariants.MoveNext()
    Loop
    RSvariants.MoveFirst()
    %>
    //////////////////// END OF CUSTOMIZATION AREA ///////////////////

    // preload images that are to appear in tooltip
    // from arrays above
    if (document.images) {
    var theImgs = new Array();
    for (var i=0; i<messages.length; i++) {
    theImgs[i] = new Image();
    theImgs[i].src = messages[i][0];
    }
    }

    // to layout image and text, 2-row table, image centered in top cell
    // these go in var tip in doTooltip function
    // startStr goes before image, midStr goes between image and text
    var startStr = '<table width="' + tipWidth + '"><tr><td align="center" width="100%"><img src="';
    var midStr = '" border="0"></td></tr><tr><td valign="top">';
    var endStr = '</td></tr></table>';

    ////////////////////////////////////////////////////////////
    // initTip - initialization for tooltip.
    // Global variables for tooltip.
    // Set styles
    // Set up mousemove capture if tipFollowMouse set true.
    ////////////////////////////////////////////////////////////
    var tooltip, tipcss;
    function initTip() {
    if (nodyn) return;
    tooltip = (ie4)? document.all['tipDiv']: (ie5||ns5)? document.getElementById('tipDiv'): null;
    tipcss = tooltip.style;
    if (ie4||ie5||ns5) { // ns4 would lose all this on rewrites
    tipcss.width = tipWidth+"px";
    tipcss.fontFamily = tipFontFamily;
    tipcss.fontSize = tipFontSize;
    tipcss.color = tipFontColor;
    tipcss.backgroundColor = tipBgColor;
    tipcss.borderColor = tipBorderColor;
    tipcss.borderWidth = tipBorderWidth+"px";
    tipcss.padding = tipPadding+"px";
    tipcss.borderStyle = tipBorderStyle;
    }
    if (tooltip&&tipFollowMouse) {
    document.onmousemove = trackMouse;
    }
    }

    window.onload = initTip;

    /////////////////////////////////////////////////
    // doTooltip function
    // Assembles content for tooltip and writes
    // it to tipDiv
    /////////////////////////////////////////////////
    var t1,t2; // for setTimeouts
    var tipOn = false; // check if over tooltip link
    function doTooltip(evt,num) {
    if (!tooltip) return;
    if (t1) clearTimeout(t1); if (t2) clearTimeout(t2);
    tipOn = true;
    // set colors if included in messages array
    if (messages[num][2]) var curBgColor = messages[num][2];
    else curBgColor = tipBgColor;
    if (messages[num][3]) var curFontColor = messages[num][3];
    else curFontColor = tipFontColor;
    if (ie4||ie5||ns5) {
    var tip = startStr + messages[num][0] + midStr + '<span style="font-family:' + tipFontFamily + '; font-size:' + tipFontSize + '; color:' + curFontColor + ';">' + messages[num][1] + '</span>' + endStr;
    tipcss.backgroundColor = curBgColor;
    tooltip.innerHTML = tip;
    }
    if (!tipFollowMouse) positionTip(evt);
    else t1=setTimeout("tipcss.visibility='visible'",100);
    }

    var mouseX, mouseY;
    function trackMouse(evt) {
    standardbody=(document.compatMode=="CSS1Compat")? document.documentElement : document.body //create reference to common "body" across doctypes
    mouseX = (ns5)? evt.pageX: window.event.clientX + standardbody.scrollLeft;
    mouseY = (ns5)? evt.pageY: window.event.clientY + standardbody.scrollTop;
    if (tipOn) positionTip(evt);
    }

    /////////////////////////////////////////////////////////////
    // positionTip function
    // If tipFollowMouse set false, so trackMouse function
    // not being used, get position of mouseover event.
    // Calculations use mouseover event position,
    // offset amounts and tooltip width to position
    // tooltip within window.
    /////////////////////////////////////////////////////////////
    function positionTip(evt) {
    if (!tipFollowMouse) {
    standardbody=(document.compatMode=="CSS1Compat")? document.documentElement : document.body
    mouseX = (ns5)? evt.pageX: window.event.clientX + standardbody.scrollLeft;
    mouseY = (ns5)? evt.pageY: window.event.clientY + standardbody.scrollTop;
    }
    // tooltip width and height
    var tpWd = (ie4||ie5)? tooltip.clientWidth: tooltip.offsetWidth;
    var tpHt = (ie4||ie5)? tooltip.clientHeight: tooltip.offsetHeight;
    // document area in view (subtract scrollbar width for ns)
    var winWd = (ns5)? window.innerWidth-20+window.pageXOffset: standardbody.clientWidth+standardbody.scrollLeft;
    var winHt = (ns5)? window.innerHeight-20+window.pageYOffset: standardbody.clientHeight+standardbody.scrollTop;
    // check mouse position against tip and window dimensions
    // and position the tooltip
    if ((mouseX+offX+tpWd)>winWd)
    tipcss.left = mouseX-(tpWd+offX)+"px";
    else tipcss.left = mouseX+offX+"px";
    if ((mouseY+offY+tpHt)>winHt)
    tipcss.top = winHt-(tpHt+offY)+"px";
    else tipcss.top = mouseY+offY+"px";
    if (!tipFollowMouse) t1=setTimeout("tipcss.visibility='visible'",100);
    }

    function hideTip() {
    if (!tooltip) return;
    t2=setTimeout("tipcss.visibility='hidden'",100);
    tipOn = false;
    }

    document.write('<div id="tipDiv" style="position:absolute; visibility:hidden; z-index:100"></div>')

    </script>
    <link href="css/mjwnew.css" rel="stylesheet" type="text/css">

    <table width="100%" border="0" cellspacing="0" cellpadding="2">
    <tr>
    <td width="5%" bgcolor="#999999" class="smallboldwhite">&nbsp;</td>
    <td nowrap bgcolor="#999999" class="smallboldwhite"><span class="style6"><strong>REF</strong></span></td>
    <td bgcolor="#999999" class="smallboldwhite"><strong>Size</strong></td>
    <td bgcolor="#999999" class="smallboldwhite"><strong>Unit</strong></td>
    <% If Session("UserName") <> "" Then %>
    <td bgcolor="#999999" class="smallboldwhite"><strong>QTY</strong></td>
    <% End If %>
    </tr>
    <tr>
    <td height="1" colspan="5" bgcolor="#999999"></td>
    </tr>
    <% Do While Not RSvariants.EOF %>

    <form action="add.asp" method="post" target="_blank">
    <tr>
    <td class="smalltxtblack"><% If RSvariants("VariantIMG") <> "" then %>

    <a href="javascript: void(0)" onmouseover="doTooltip(event,<%=RSvariants("VariantID")%>)" onmouseout="hideTip()"><img src="images/productimages/<%=RSvariants("VariantIMG")%>" width="32" height="32" ></a>
    <% Else %>
    <img src="images/productimages/variantnone.jpg" alt="No Image available" width="32" height="32">
    <% End If %>
    </td>
    <td nowrap class="smalltxtblack"><%=RSvariants("VariantMJWREF")%><input name="ItemREF" type="hidden" value="<%=RSvariants("VariantMJWREF")%>" size="2"></td>
    <td class="smalltxtblack"><%=RSvariants("VariantName")%><input name="ItemSize" type="hidden" value="<%=RSvariants("VariantSize")%>" size="2">
    </td>
    <td nowrap class="smalltxtblack">&pound;<%=RSvariants("VariantUnit")%><input name="ItemUnit" type="hidden" value="<%=RSvariants("VariantUnit")%>" size="2"></td>
    <% If Session("UserName") <> "" Then %>
    <td class="smalltxtblack"><%=RSvariants("VariantPrice")%><input name="ItemPrice" type="hidden" value="<%=RSvariants("VariantPrice")%>" size="2"></td>
    <% End If %>
    <% If Session("UserName") <> "" Then %>
    <td width="45%" class="smalltxtblack">
    <input name="ItemQTY" type="text" class="formtxt" value="1" size="2">
    <input name="ProductID" type="hidden" id="ProductID" value="<%=RSproducts("ProductID")%>">
    <input name="ProductImage" type="hidden" id="ProductImage" value="<%=RSproducts("ProductImage")%>">
    <input name="ProductName" type="hidden" id="ProductName" value="<%=RSproducts("ProductName")%>">
    <input name="ItemFinish" type="hidden" id="ItemFinish" value="<%=RSvariants("FinishProductName")%>">
    <input name="Submit4" type="submit" class="formbutton" value="+ to wishlist">
    </td>
    <% End If %>
    </tr>
    <tr>
    <td height="1" colspan="5" bgcolor="#CCCCCC"></td>
    </tr>
    </form>
    <% RSvariants.MoveNext()
    Loop
    %>
    </table>

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •