Hello and welcome to our community! Is this your first visit?
Register
Enjoy an ad free experience by logging in. Not a member yet? Register.
Results 1 to 4 of 4
  1. #1
    New to the CF scene
    Join Date
    Dec 2006
    Posts
    6
    Thanks
    1
    Thanked 0 Times in 0 Posts

    help with simple mouseover

    I need help with a simple mouseover script. I just need it to popup with an image when i hover over the text. Im new to javascript and any help is greatfull.
    Last edited by Shadypro; 12-29-2007 at 07:46 PM.

  • #2
    Master Coder
    Join Date
    Dec 2007
    Posts
    6,682
    Thanks
    436
    Thanked 890 Times in 879 Posts
    Quote Originally Posted by Shadypro View Post
    I need help with a simple mouseover script. I just need it to popup with an image when i hover over the text. Im new to javascript and any help is greatfull.
    which one of this:
    [1] do you allready have a script and have problem with it?
    [2] do you want to write one?
    [3] do need a link to such a script?

    PS: for [1] post problem and maybe some code

    best regards
    Last edited by oesxyl; 12-29-2007 at 09:31 PM.

  • #3
    New to the CF scene
    Join Date
    Dec 2006
    Posts
    6
    Thanks
    1
    Thanked 0 Times in 0 Posts
    While I was waiting for a reponse I kept looking around and found this one.
    http://www.dynamicdrive.com/dynamici...agetooltip.htm

    Heres a link to the page im working on
    http://www.unreal-gfx.com/tfo/checkout2.php

    As you can see, theres so many images that it takes some time to load, so thats why i want to use the mouseover. What I did on the site was made the border size 0 and and the font size 0px and both are black, but I really would like to just remove both of them.

    Heres the current code im using
    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= 308;
    var offX= 20;	// how far from mouse to show tip
    var offY= 12; 
    var tipFontFamily= "Verdana, arial, helvetica, sans-serif";
    var tipFontSize= "0pt";
    // 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= "#000000"; 
    var tipBorderColor= "#000080";
    var tipBorderWidth= 0;
    var tipBorderStyle= "ridge";
    var tipPadding= 0;
    
    // 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('laserriffle.jpg');
    messages[1] = new Array('quantumchest.jpg');
    messages[2] = new Array('test.gif','Test description','black','white');
    
    ////////////////////  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&#37;"><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>
    Any tips on how to remove those would help.
    Last edited by Shadypro; 12-29-2007 at 09:55 PM.

  • #4
    Master Coder
    Join Date
    Dec 2007
    Posts
    6,682
    Thanks
    436
    Thanked 890 Times in 879 Posts
    Quote Originally Posted by Shadypro View Post
    Heres a link to the page im working on
    http://www.unreal-gfx.com/tfo/checkout2.php
    I like it,

    As you can see, theres so many images that it takes some time to load, so thats why i want to use the mouseover.
    I presume that this don't change the loading time because with or without mouseover the size of your page will be the same. This way you can only move the moment when you load the content.

    you can optimize for image size, see this link:

    http://www.websiteoptimization.com/s.../checkout2.php

    and you can also use ajax, look to this links:

    http://miniajax.com/
    this one:
    http://mondaybynoon.com/2006/03/27/s...hoverlightbox/
    and demo:
    http://www.mondaybynoon.com/examples...orizontal.html

    this have the avantage that the content is loaded only on request.

    What I did on the site was made the border size 0 and and the font size 0px and both are black, but I really would like to just remove both of them.

    Any tips on how to remove those would help.
    I wait an answer and if you still want dd solution I'll try to help you.

    PS: in both cases I'll try to help,

    best regards
    Last edited by oesxyl; 12-29-2007 at 10:32 PM.


  •  

    Posting Permissions

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