Announcement

Collapse
No announcement yet.

Bit of scripting help if possible please.

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Bit of scripting help if possible please.

    Hi, can the section of script below be adapted to have a url image in place of the background colour of white. It’s to make a mouse over hint script a little nicer looking.


    var tipFontColor= "#17007c";
    var tipBgColor= "white";
    var tipBorderColor= "#18007b";
    var tipBorderWidth= 5;
    var tipBorderStyle= "solid";
    var tipPadding= 4;


    Hope you can help.

    Thanks.
    Regards Chris.

    Collectables, Collecting, collectors-info.com

    www.chrismorris.co.uk

    House build project

  • #2
    Re: Bit of scripting help if possible please.

    That would depend on the rest of the javascript and what it is doing.

    Register/Login Script
    Do you use a Password Protected Directory? Need a way to allow users to make their own account, try my .htaccess Login Script

    Comment


    • #3
      Re: Bit of scripting help if possible please.

      Hi Watdaflip, & thanks for getting back. This is an example page that I am trying things out on with the mouse over hint/help script.

      Link to test page

      Ps. I forgot. Is there also an easy way to make? lets say Number 3 sticky. IE: if I have a url link in the hint pop out, this type of pop up hint stays open until I close it somehow, to enable a bit more time to click on the url. But dont worry if this is a lot of grief.









      Thanks.
      Regards Chris.

      Collectables, Collecting, collectors-info.com

      www.chrismorris.co.uk

      House build project

      Comment


      • #4
        Re: Bit of scripting help if possible please.

        Hey, is this what you are looking for?



        If so heres the javascript code

        Code:
        <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= 220;
        var tipHeight = 259;
        
        // Padding - how far to push text inward on image
        var pad_top = 20;
        var pad_bottom = 20;
        var pad_left = 42;
        var pad_right = 20
        
        var offX= 10;    // how far from mouse to show tip
        var offY= 12; 
        var tipFontFamily= "Verdana, arial, helvetica, sans-serif";
        var tipFontSize= "12pt";
        // 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= "#17007c";
        var tipBgColor= "white"; 
        
        var tipBorderStyle= "none";
        var tipPadding= 4;
        
        // 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
        messages[0] = new Array('http://www.collectors-info.com/testing/stamp_tip.jpg','To get some extra help we have installed plenty of hints & ideas like this one to help you along with all parts of our site. When ever you see a ? symbol there will be some extra advice or help in the form of a pop up. When you run your mouse over the symbol, these pop ups last for 1 &#189; seconds after you have moved your mouse off the ? symbol, and will then disappear, or will change if you move to another ? symbol. They last for 1 &#189; seconds to enable you to click on some of the links that some pop ups will have. ',"white");
        messages[1] = new Array('http://www.collectors-info.com/testing/stamp_tip.jpg','Test 1',"white");
        messages[2] = new Array('http://www.collectors-info.com/testing/stamp_tip.jpg','Test 2','black','white');
        messages[3] = new Array('http://www.collectors-info.com/testing/stamp_tip.jpg','<a href="http://www.collectors-info.com">Collectors-info.com</a>Test3','#ffffa8','#006400');
        
        ////////////////////  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 + '" height="' + tipHeight + '"><tr><td valign="top" style="border: none; padding-left: ' + pad_left + 'px; padding-top: ' + pad_top + 'px; padding-right: ' + pad_right + 'px; padding-bottom: ' + pad_bottom + 'px;" background="';
        var midStr = '"><span style="color: ' + tipFontColor + '">';
        var endStr = '</span></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.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;
                var tip = startStr + messages[num][0] + midStr + messages[num][1] + 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) {
                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(time) {
            if (!tooltip) return;
            t2=setTimeout("tipcss.visibility='hidden'",time);
            tipOn = false;
        }
        
        document.write('<div id="tipDiv" style="position:absolute; visibility:hidden; z-index:100"></div>')
        
        
        </script>
        Also i edited the hide function. You have to edit the hideTip() function for each tooltip, now instead of not having any parameters you have to have how long you want it to be open. The current functions are

        hideTip()

        you need to change them all to

        hideTip(1200)


        And if there is a tooltip that you want to stay open longer set it to like

        hideTip(4000)

        I hope thats what you wanted.

        Register/Login Script
        Do you use a Password Protected Directory? Need a way to allow users to make their own account, try my .htaccess Login Script

        Comment


        • #5
          Re: Bit of scripting help if possible please.

          I hope thats what you wanted.

          Hi! Sorry I didn’t get back sooner. (time/diff)
          This is just what was needed & absolutely perfect. I really appreciate the help.
          You have even saved my hair. Just got to brush up on my imaging skills now. lol


          Many, many thanks.
          Regards Chris.

          Collectables, Collecting, collectors-info.com

          www.chrismorris.co.uk

          House build project

          Comment


          • #6
            Re: Bit of scripting help if possible please.

            Hi Watdaflip!
            I have had a look around this script & was trying to stop the image repeating, but can’t find this part/function.
            What I was trying to do is set the max image to let say 400x250 but also may want to use a 150x100 image for smaller amounts of info. But when I try to insert a smaller image it repeats.
            Is there a way to use different size images in the script or even stopping the repeat function may solve it?
            Sample--- http://www.collectors-info.com/testing/hint.html 0&2 are fine but 1&3 arent.

            Cheers.
            Regards Chris.

            Collectables, Collecting, collectors-info.com

            www.chrismorris.co.uk

            House build project

            Comment

            Working...
            X