1
Kellymac
Javascript banner not working
  • 2006/10/30 15:47

  • Kellymac

  • Just popping in

  • Posts: 41

  • Since: 2006/2/1 1


I created a new html banner using banners in XOOPS administration. I'm trying to get a javascript tooltip to work properly. The script works just fine in the banner administration when I'm checking it in edit mode. But, when I place that banner into a custom block. The script does not work.
This is the java code that I'm using in the html banner:
<head>
<script language="javascript" type="text/javascript">
<!--

/*
Image w/ description tooltip- By Dynamic Web Coding (<a href="http://www.dyn-web.com" target="_blank"><a href="http://www.dyn-web.com" target="_blank">www.dyn-web.com</a></a>)
Copyright 2002 by Sharon Paine
Visit <a href="http://www.dynamicdrive.com" target="_blank"><a href="http://www.dynamicdrive.com" target="_blank">http://www.dynamicdrive.com</a></a> for this script
*/

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

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

// resize fix for ns4
var origWidth, origHeight;
if (ns4) {
origWidth = window.innerWidth; origHeight = window.innerHeight;
window.onresize = function() { if (window.innerWidth != origWidth || window.innerHeight != origHeight) history.go(0); }
}

// 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= 160;
var offX= 20; // how far from mouse to show tip
var offY= 12;
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= 3;
var tipBorderStyle= "ridge";
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://happeningsmag.com/kcms/modules/mypage/adtext.jpg','Here is a red balloon on a white background',"#FFFFFF");
messages[1] = new Array('duck2.gif','Here is a duck on a light blue background.',"#DDECFF");
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%"><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 for all but ns4.
// Set up mousemove capture if tipFollowMouse set true.
////////////////////////////////////////////////////////////
var tooltip, tipcss;
function initTip() {
if (nodyn) return;
tooltip = (ns4)? document.tipDiv.document: (ie4)? document.all['tipDiv']: (ie5||ns5)? document.getElementById('tipDiv'): null;
tipcss = (ns4)? document.tipDiv: 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) {
if (ns4) document.captureEvents(Event.MOUSEMOVE);
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 (ns4) {
var tip = '<table bgcolor="' + tipBorderColor + '" width="' + tipWidth + '" cellspacing="0" cellpadding="' + tipBorderWidth + '" border="0"><tr><td><table bgcolor="' + curBgColor + '" width="100%" cellspacing="0" cellpadding="' + tipPadding + '" border="0"><tr><td>'+ startStr + messages[num][0] + midStr + '<span style="font-family:' + tipFontFamily + '; font-size:' + tipFontSize + '; color:' + curFontColor + ';">' + messages[num][1] + '</span>' + endStr + '</td></tr></table></td></tr></table>';
tooltip.write(tip);
tooltip.close();
} else 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) {
mouseX = (ns4||ns5)? evt.pageX: window.event.clientX + document.body.scrollLeft;
mouseY = (ns4||ns5)? evt.pageY: window.event.clientY + document.body.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 = (ns4||ns5)? evt.pageX: window.event.clientX + document.body.scrollLeft;
mouseY = (ns4||ns5)? evt.pageY: window.event.clientY + document.body.scrollTop;
}
// tooltip width and height
var tpWd = (ns4)? tooltip.width: (ie4||ie5)? tooltip.clientWidth: tooltip.offsetWidth;
var tpHt = (ns4)? tooltip.height: (ie4||ie5)? tooltip.clientHeight: tooltip.offsetHeight;
// document area in view (subtract scrollbar width for ns)
var winWd = (ns4||ns5)? window.innerWidth-20+window.pageXOffset: document.body.clientWidth+document.body.scrollLeft;
var winHt = (ns4||ns5)? window.innerHeight-20+window.pageYOffset: document.body.clientHeight+document.body.scrollTop;
// check mouse position against tip and window dimensions
// and position the tooltip
if ((mouseX+offX+tpWd)>winWd)
tipcss.left = (ns4)? mouseX-(tpWd+offX): mouseX-(tpWd+offX)+"px";
else tipcss.left = (ns4)? mouseX+offX: mouseX+offX+"px";
if ((mouseY+offY+tpHt)>winHt)
tipcss.top = (ns4)? winHt-(tpHt+offY): winHt-(tpHt+offY)+"px";
else tipcss.top = (ns4)? mouseY+offY: mouseY+offY+"px";
if (!tipFollowMouse) t1=setTimeout("tipcss.visibility='visible'",100);
}

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

//-->
</script>
</head>
<body>
<table height="100%" cellspacing="4" width="100%" border="0"><tr><td width="50%"><a href="#" onmouseover="doTooltip(event,0)" onmouseout="hideTip()"><img height="253" src="http://happeningsmag.com/kcms/modules/mypage/adtext.jpg" width="175" img="" <="" /> </a></td>
</tr>
</table>
<div id="tipDiv" style="position:absolute; visibility:hidden; z-index:100"></div>

</body>

2
irmtfan
Re: Javascript banner not working
  • 2006/10/30 15:50

  • irmtfan

  • Module Developer

  • Posts: 3419

  • Since: 2003/12/7


do you save the block as HTML format?

3
Kellymac
Re: Javascript banner not working
  • 2006/10/30 16:02

  • Kellymac

  • Just popping in

  • Posts: 41

  • Since: 2006/2/1 1


the custom block that i'm placing the banner into is saved as php code:
echo xoops_getbanner();

4
Kellymac
Re: Javascript banner not working
  • 2006/10/30 17:13

  • Kellymac

  • Just popping in

  • Posts: 41

  • Since: 2006/2/1 1


What I'm trying to accomplish is having a series of banners that rotate in a block. When a user mouses over the banner I would like a window to open with a larger version of the banner. Like what's happening here:
http://www.dynamicdrive.com/dynamicindex4/imagetooltip.htm

5
m0nty
Re: Javascript banner not working
  • 2006/10/30 18:28

  • m0nty

  • XOOPS is my life!

  • Posts: 3337

  • Since: 2003/10/24


anything in the script above that's inbetween the <head> & </head> tags needs to be placed inside the head tags in theme.html

as your theme already has <head> tags, you can't create a 2nd set of head tags as they will be ignored.

and when printing code on the forum can you please insert the code inbetween [ code] [ /code] tags :)

6
Kellymac
Re: Javascript banner not working
  • 2006/10/30 19:12

  • Kellymac

  • Just popping in

  • Posts: 41

  • Since: 2006/2/1 1


The theme already has code for a javascript in the head:
<script type="text/javascript">
<!--
<{
$xoops_js}>
//-->
</script>

Where/how should i place the new script
<script language="javascript" type="text/javascript">
<!--

/*
Image w/ description tooltip- By Dynamic Web Coding (<a href="http://www.dyn-web.com" target="_blank"><a href="http://www.dyn-web.com" target="_blank"><a href="http://www.dyn-web.com" target="_blank">www.dyn-web.com</a></a></a>)
Copyright 2002 by Sharon Paine
Visit <a href="http://www.dynamicdrive.com" target="_blank"><a href="http://www.dynamicdrive.com" target="_blank"><a href="http://www.dynamicdrive.com" target="_blank">http://www.dynamicdrive.com</a></a></a> for this script
*/

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

var dom = (document.getElementById) ? true false;
var 
ns5 = ((navigator.userAgent.indexOf("Gecko")>-1) && dom) ? truefalse;
var 
ie5 = ((navigator.userAgent.indexOf("MSIE")>-1) && dom) ? true false;
var 
ns4 = (document.layers && !dom) ? true false;
var 
ie4 = (document.all && !dom) ? true false;
var 
nodyn = (!ns5 && !ns4 && !ie4 && !ie5) ? true false;

// resize fix for ns4
var origWidthorigHeight;
if (
ns4) {
    
origWidth window.innerWidthorigHeight window.innerHeight;
    
window.onresize = function() { if (window.innerWidth != origWidth || window.innerHeight != origHeighthistory.go(0); }
}

// 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 tipFollowMousetrue;    
// Be sure to set tipWidth wide enough for widest image
var tipWidth160;
var 
offX20;    // how far from mouse to show tip
var offY12
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 
tipBorderWidth3;
var 
tipBorderStyle"ridge";
var 
tipPadding4;

// 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://happeningsmag.com/kcms/modules/mypage/adtext.jpg','Here is a red balloon on a white background',"#FFFFFF");
messages[1] = new Array('duck2.gif','Here is a duck on a light blue background.',"#DDECFF");
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=0i<messages.lengthi++) {
      
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 for all but ns4. 
//        Set up mousemove capture if tipFollowMouse set true.
////////////////////////////////////////////////////////////
var tooltiptipcss;
function 
initTip() {
    if (
nodyn) return;
    
tooltip = (ns4)? document.tipDiv.document: (ie4)? document.all['tipDiv']: (ie5||ns5)? document.getElementById('tipDiv'): null;
    
tipcss = (ns4)? document.tipDivtooltip.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) {
        if (
ns4document.captureEvents(Event.MOUSEMOVE);
        
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 (
t1clearTimeout(t1);    if (t2clearTimeout(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 (
ns4) {
        var 
tip '<table bgcolor="' tipBorderColor '" width="' tipWidth '" cellspacing="0" cellpadding="' tipBorderWidth '" border="0"><tr><td><table bgcolor="' curBgColor '" width="100%" cellspacing="0" cellpadding="' tipPadding '" border="0"><tr><td>'startStr messages[num][0] + midStr '<span style="font-family:' tipFontFamily '; font-size:' tipFontSize '; color:' curFontColor ';">' messages[num][1] + '</span>' endStr '</td></tr></table></td></tr></table>';
        
tooltip.write(tip);
        
tooltip.close();
    } else 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 (!
tipFollowMousepositionTip(evt);
    else 
t1=setTimeout("tipcss.visibility='visible'",100);
}

var 
mouseXmouseY;
function 
trackMouse(evt) {
    
mouseX = (ns4||ns5)? evt.pageXwindow.event.clientX document.body.scrollLeft;
    
mouseY = (ns4||ns5)? evt.pageYwindow.event.clientY document.body.scrollTop;
    if (
tipOnpositionTip(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 = (ns4||ns5)? evt.pageXwindow.event.clientX document.body.scrollLeft;
        
mouseY = (ns4||ns5)? evt.pageYwindow.event.clientY document.body.scrollTop;
    }
    
// tooltip width and height
    
var tpWd = (ns4)? tooltip.width: (ie4||ie5)? tooltip.clientWidthtooltip.offsetWidth;
    var 
tpHt = (ns4)? tooltip.height: (ie4||ie5)? tooltip.clientHeighttooltip.offsetHeight;
    
// document area in view (subtract scrollbar width for ns)
    
var winWd = (ns4||ns5)? window.innerWidth-20+window.pageXOffsetdocument.body.clientWidth+document.body.scrollLeft;
    var 
winHt = (ns4||ns5)? window.innerHeight-20+window.pageYOffsetdocument.body.clientHeight+document.body.scrollTop;
    
// check mouse position against tip and window dimensions
    // and position the tooltip 
    
if ((mouseX+offX+tpWd)>winWd
        
tipcss.left = (ns4)? mouseX-(tpWd+offX): mouseX-(tpWd+offX)+"px";
    else 
tipcss.left = (ns4)? mouseX+offXmouseX+offX+"px";
    if ((
mouseY+offY+tpHt)>winHt
        
tipcss.top = (ns4)? winHt-(tpHt+offY): winHt-(tpHt+offY)+"px";
    else 
tipcss.top = (ns4)? mouseY+offYmouseY+offY+"px";
    if (!
tipFollowMouset1=setTimeout("tipcss.visibility='visible'",100);
}

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

//-->
</script>

7
m0nty
Re: Javascript banner not working
  • 2006/10/30 19:33

  • m0nty

  • XOOPS is my life!

  • Posts: 3337

  • Since: 2003/10/24


u can have more than 1 javascript in the head..

just place it after the </script> that's already there.

8
Kellymac
Re: Javascript banner not working
  • 2006/10/30 20:05

  • Kellymac

  • Just popping in

  • Posts: 41

  • Since: 2006/2/1 1


I tried that and it's still not working
This is what I have in the head of my theme.html
<head>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<
meta http-equiv="content-language" content="<{$xoops_langcode}>" />
<
meta name="robots" content="<{$xoops_meta_robots}>" />
<
meta name="keywords" content="<{$xoops_meta_keywords}>" />
<
meta name="description" content="<{$xoops_meta_description}>" />
<!--
Theme Designed by XOOPS Design.com http://www.xoopsdesign.com -->
<meta name="rating" content="<{$xoops_meta_rating}>" />
<
meta name="author" content="<{$xoops_meta_author}>" />
<
meta name="copyright" content="<{$xoops_meta_copyright}>" />
<
meta name="generator" content="XOOPS" />
<
title><{$xoops_sitename}> - <{$xoops_pagetitle}></title>
<
link href="<{$xoops_url}>/favicon.ico" rel="SHORTCUT ICON" />
<
link rel="stylesheet" type="text/css" media="all" href="<{$xoops_url}>/xoops.css" />
<
link rel="stylesheet" type="text/css" media="all" href="<{$xoops_themecss}>" />
<
link rel="alternate" type="application/rss+xml" title="RSS" href="<{$xoops_url}>/<{$xoops_rss}>" />
<
link href="style.css" rel="stylesheet" type="text/css" />
<
style type="text/css">
<!--
.
style1 {color#FFCC33}
.style2 {color#FFFFFF}
.style3 {color#FFCC00}
-->
</
style>
<{
$xoops_module_header}>
<
script type="text/javascript">
<!--
<{
$xoops_js}>
//-->
</script>
<
script language="javascript" type="text/javascript">
<!--

/*
Image w/ description tooltip- By Dynamic Web Coding (<a href="http://www.dyn-web.com" target="_blank"><a href="http://www.dyn-web.com" target="_blank"><a href="http://www.dyn-web.com" target="_blank">www.dyn-web.com</a></a></a>)
Copyright 2002 by Sharon Paine
Visit <a href="http://www.dynamicdrive.com" target="_blank"><a href="http://www.dynamicdrive.com" target="_blank"><a href="http://www.dynamicdrive.com" target="_blank">http://www.dynamicdrive.com</a></a></a> for this script
*/

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

var dom = (document.getElementById) ? true false;
var 
ns5 = ((navigator.userAgent.indexOf("Gecko")>-1) && dom) ? truefalse;
var 
ie5 = ((navigator.userAgent.indexOf("MSIE")>-1) && dom) ? true false;
var 
ns4 = (document.layers && !dom) ? true false;
var 
ie4 = (document.all && !dom) ? true false;
var 
nodyn = (!ns5 && !ns4 && !ie4 && !ie5) ? true false;

// resize fix for ns4
var origWidthorigHeight;
if (
ns4) {
    
origWidth window.innerWidthorigHeight window.innerHeight;
    
window.onresize = function() { if (window.innerWidth != origWidth || window.innerHeight != origHeighthistory.go(0); }
}

// 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 tipFollowMousetrue;    
// Be sure to set tipWidth wide enough for widest image
var tipWidth160;
var 
offX20;    // how far from mouse to show tip
var offY12
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 
tipBorderWidth3;
var 
tipBorderStyle"ridge";
var 
tipPadding4;

// 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://happeningsmag.com/kcms/modules/mypage/adtext.jpg','Here is a red balloon on a white background',"#FFFFFF");
messages[1] = new Array('duck2.gif','Here is a duck on a light blue background.',"#DDECFF");
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=0i<messages.lengthi++) {
      
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 for all but ns4. 
//        Set up mousemove capture if tipFollowMouse set true.
////////////////////////////////////////////////////////////
var tooltiptipcss;
function 
initTip() {
    if (
nodyn) return;
    
tooltip = (ns4)? document.tipDiv.document: (ie4)? document.all['tipDiv']: (ie5||ns5)? document.getElementById('tipDiv'): null;
    
tipcss = (ns4)? document.tipDivtooltip.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) {
        if (
ns4document.captureEvents(Event.MOUSEMOVE);
        
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 (
t1clearTimeout(t1);    if (t2clearTimeout(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 (
ns4) {
        var 
tip '<table bgcolor="' tipBorderColor '" width="' tipWidth '" cellspacing="0" cellpadding="' tipBorderWidth '" border="0"><tr><td><table bgcolor="' curBgColor '" width="100%" cellspacing="0" cellpadding="' tipPadding '" border="0"><tr><td>'startStr messages[num][0] + midStr '<span style="font-family:' tipFontFamily '; font-size:' tipFontSize '; color:' curFontColor ';">' messages[num][1] + '</span>' endStr '</td></tr></table></td></tr></table>';
        
tooltip.write(tip);
        
tooltip.close();
    } else 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 (!
tipFollowMousepositionTip(evt);
    else 
t1=setTimeout("tipcss.visibility='visible'",100);
}

var 
mouseXmouseY;
function 
trackMouse(evt) {
    
mouseX = (ns4||ns5)? evt.pageXwindow.event.clientX document.body.scrollLeft;
    
mouseY = (ns4||ns5)? evt.pageYwindow.event.clientY document.body.scrollTop;
    if (
tipOnpositionTip(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 = (ns4||ns5)? evt.pageXwindow.event.clientX document.body.scrollLeft;
        
mouseY = (ns4||ns5)? evt.pageYwindow.event.clientY document.body.scrollTop;
    }
    
// tooltip width and height
    
var tpWd = (ns4)? tooltip.width: (ie4||ie5)? tooltip.clientWidthtooltip.offsetWidth;
    var 
tpHt = (ns4)? tooltip.height: (ie4||ie5)? tooltip.clientHeighttooltip.offsetHeight;
    
// document area in view (subtract scrollbar width for ns)
    
var winWd = (ns4||ns5)? window.innerWidth-20+window.pageXOffsetdocument.body.clientWidth+document.body.scrollLeft;
    var 
winHt = (ns4||ns5)? window.innerHeight-20+window.pageYOffsetdocument.body.clientHeight+document.body.scrollTop;
    
// check mouse position against tip and window dimensions
    // and position the tooltip 
    
if ((mouseX+offX+tpWd)>winWd
        
tipcss.left = (ns4)? mouseX-(tpWd+offX): mouseX-(tpWd+offX)+"px";
    else 
tipcss.left = (ns4)? mouseX+offXmouseX+offX+"px";
    if ((
mouseY+offY+tpHt)>winHt
        
tipcss.top = (ns4)? winHt-(tpHt+offY): winHt-(tpHt+offY)+"px";
    else 
tipcss.top = (ns4)? mouseY+offYmouseY+offY+"px";
    if (!
tipFollowMouset1=setTimeout("tipcss.visibility='visible'",100);
}

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

//-->
</script>
</
head>

This is what I have for an html banner:
<body>
<
table height="100%" cellspacing="4" width="100%" border="0"><tr><td width="50%"><a href="http://happeningsmag.com" onmouseover="doTooltip(event,0)" onmouseout="hideTip()"><img height="253" src="http://happeningsmag.com/kcms/modules/mypage/adtext.jpg" width="175" img="" <="" /> </a></td>
</
tr>
</
table>
<
div id="tipDiv" style="position:absolute; visibility:hidden; z-index:100"></div>

</
body>

I'm calling the banner via php in a custom block with this code in it:
echo xoops_getbanner();

I'm going nuts trying to figure this out.

9
Kellymac
Re: Javascript banner not working
  • 2006/11/8 14:33

  • Kellymac

  • Just popping in

  • Posts: 41

  • Since: 2006/2/1 1


Ok, I've got it to work by putting the script in the head of my theme and adding another column in my theme to call for the banners.
The only weird thing is that the scipt only is working in module pages and not in the front page.
Please see that it works here (see 2nd from right column):
http://www.happeningsmag.com/kcms/modules/xcgal/
But not here:
http://www.happeningsmag.com/kcms/

Does any one know how I can fix it?

10
m0nty
Re: Javascript banner not working
  • 2006/11/8 15:13

  • m0nty

  • XOOPS is my life!

  • Posts: 3337

  • Since: 2003/10/24


seems to show for me in both..

altho i have noticed the menu across the top shows the url ashttp://happeningsmag.com/kcms

and the articles and register, lost password etc show it ashttp://www.happeningsmag.com/kcms/

the www. is missing, this could be a potential problem with users.. (they may keep having to login twice depending on the pages they goto)

Login

Who's Online

216 user(s) are online (147 user(s) are browsing Support Forums)


Members: 0


Guests: 216


more...

Donat-O-Meter

Stats
Goal: $100.00
Due Date: May 31
Gross Amount: $0.00
Net Balance: $0.00
Left to go: $100.00
Make donations with PayPal!

Latest GitHub Commits