Salve a tutti ....come da titolo vorrei poter utilizare questo news-ticker ma ho alcune lacune in js e non so come poterlo far funzionare con un doctype diverso.....
mi spiego meglio...
ho questo script che funziona egregiamente sia su windows (e te pareva che non funzionava!!) ed anche su Firefox (che è quello che mi interessa di più) ma se vado a cambiare il doctype della pagina allora tutto va a farsi friggere!!
Per windows funziona sempre ma non rimane più ristretto dentro al div e quindi il testo scorre su tutta la sua larghezza uscendo quindi dal div.
Su firefox invece oltre a vedersi il testo su tutta la larghezza del monitor, il testo rimane fermo!!!
Vi posto ora lo script con il doc-type funzionante:
codice:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Untitled</title>
<script type="text/javascript" language="JavaScript">
<!--
// Use Freely as long as following disclaimer is intact ::
//---------------------------------------------------------------
// Cross Browser Multi-Directional Scroller v1.0 24th August 2004
// This script written by Rik Comery. www.ricom.co.uk
// For support, visit the "Resources" section at www.ricom.co.uk
// All rights reserved.
// Featured in the SimplytheBest DHTML Scripts Library at http://simplythebest.net/scripts/
Article = new Array;
i=0;
/* DEFINE SCROLLER ELEMENTS
Define new scroller elements here in the following format.
Article[i] = new Array ("display text", "URL", "frame target to load link in");i++
Note: If you do not want the item to be a link, change the URL value to "none".
*/
Article[i] = new Array ("Welcome to PlanMagic", "http://planmagic.com", "_blank");i++
Article[i] = new Array ("We offer a wide range of business planning software:", "none", "");i++
Article[i] = new Array ("Business plan", "http://planmagic.com/business_plan.html", "_blank");i++
Article[i] = new Array ("Marketing plan", "http://planmagic.com/marketing_plan.html", "_blank");i++
Article[i] = new Array ("Financial plan", "http://planmagic.com/financial_plan.html", "_blank");i++
Article[i] = new Array ("Restaurant business plan", "http://planmagic.com/business_plan/restaurant_business_plan.html", "_blank");i++
Article[i] = new Array ("Hotel business plan", "http://planmagic.com/business_plan/hotel_business_plan.html", "_blank");i++
Article[i] = new Array ("Internet business plan", "http://planmagic.com/webquestpro.html", "_blank");i++
Article[i] = new Array ("and more..", "http://planmagic.com", "_blank");i++
////// SCROLLER CONFIGURATION ///////////////////////////////////////////////////////////////////
orientation = "horizontal" // Orientation of scroller (Horizontal or vertical)
scrollerWidth = "350" // Width of entire scroller.
scrollerHeight = "25" // Height of Scroller.
borderWidth = 1 // Width of border. (use 0 for no border).
borderColour = "#006600" // Colour of scroller border. (Use either hexadecimal or text values. e.g. "#FF0000" or "Red")
backColour = "#d7ebff" // Colour of scroller background. (Use either hexadecimal or text values. e.g. "#FF0000" or "Red")
staticColour = "#000000" // Colour of scroller items that are NOT a link. (including scrollerDivider characters)
stopScroll = 0 // Pause the scroller on mouseOver. (use 0 for no.)
textAlignment="left" // Alignment of each scroller item. Only really makes a difference on vertical scroller
// (center, left, right, justify)
// Scroller Links
linkFont = "arial" // Font of scroller links;
linkWeight = "normal" // Weight of scroller links;
linkColour = "#000080" // Colour of scroller links
linkSize = "10" // Size of links (in points)
linkDecoration = "none" // Decoration of links. (underline, overline, none)
// Scroller Links On MouseOver
slinkFont = "arial" // Font of scroller links;
slinkWeight = "normal" // Weight of scroller links;
slinkColour = "#cc3333" // Colour of scroller links
slinkSize = "10" // Size of links (in points)
slinkDecoration = "underline" // Decoration of links. (underline, overline, none)
scrollerDivider = "-" // Character to place between each scroller item.
// <img> tags can be used if an image is required.
// Use "0" for nothing. For Vertical scrollers, it is best to use "
"
/*
Because Netscape version 4 does not support this scroller, configure the values below so NS4 users do not see an error.
In the scroller's place will be a static title which can be a link if require. The appearance of the static text (colour, scroller border etc)
will be exactly the same as for the working version in other browsers.
*/
ns4Text = "Click Here to visit the PlanMagic Software"; // Alternative text to display in Netscape 4.
ns4URL = "http://planmagic.com"; // URL of link in NS4. If no URL is required, enter "none"
ns4Target = "_top"; // Frame target for link in NS4
////// DO NOT EDIT BELOW THIS LINE ///////////////////////////////////////////////////////////////////
//Browser Sniffer
var isIE = (document.getElementById && document.all)?true:false;
var isNS4 = (document.layers)?true:false;
var isNS6 = (document.getElementById && !document.all)?true:false;
style='<style type="text/css">';
style+='p{font-family:'+linkFont+'; color:'+staticColour+'; font-size:'+linkSize+'pt; font-weight:'+linkWeight+'; text-align:'+textAlignment+'}';
style+='a.rcScroller,a.rcScroller:active,a.rcScroller:visited{color:'+linkColour+';text-decoration:'+linkDecoration+'; font-weight:'+linkWeight+'}';
style+='a.rcScroller:hover{color:'+slinkColour+';text-decoration:'+slinkDecoration+'; font-weight:'+slinkWeight+'}';
style+='rcScrollerHoverNS{color:red;text-decoration:'+slinkDecoration+'; font-weight:'+slinkWeight+'}';
style+='<\/style>';
document.writeln(style);
// Build the scroller and place it on the page
function buildScroller()
{
if(isNS4){
scroller='<table border="0" cellpadding="0" cellspacing="0" width="'+scrollerWidth+'" bgcolor="'+borderColour+'"><tr><td>'
scroller+='<table border="0" cellpadding="3" cellspacing="1" width="100%" height="'+scrollerHeight+'" bgcolor="'+backColour+'"><tr><td align="center" nowrap>
';
if(ns4URL.toLowerCase()!="none"){scroller+=''+ns4Text+'';}
else{scroller+=ns4Text;}
scroller+='</p></td></tr></table></td></tr></table>'
}else{
scroller='<table border="0" cellpadding="0" cellspacing="0" style="width:'+scrollerWidth+';height:'+scrollerHeight+';border:'+borderWidth+'px solid '+borderColour+';background-color:'+backColour+'">';
scroller+='<tr valign="middle"><td><div id="div" style="';
if(orientation.toLowerCase()=="vertical"){scroller+='height:'+scrollerHeight+';';}
scroller+='width:'+scrollerWidth+'; position:relative; background-color:'+backColour+'; overflow:hidden">';
scroller+='<div id="div1" style="position:relative; left:0; z-index:1">';
scroller+='<table border="0" name="table" id="table"';
if(orientation.toLowerCase()=="vertical"){scroller+='style="width:'+scrollerWidth+'"';}
scroller+='><tr>';
y=0;
while (y<4)
{
for (x=0; x<(Article.length); x++)
{
if(orientation.toLowerCase()=="vertical"){scroller+='<tr>';}
scroller+='<td ';
if(orientation.toLowerCase()=="horizontal"){scroller+='nowrap';} if(stopScroll==1){scroller+=' onMouseOver="stopScroller();" onMouseOut="setWidth()"';}
scroller+='>
';
if(Article[x][1].toLowerCase()!="none"){scroller+='<a class="rcScroller" href="'+Article[x][1]+'" target="'+Article[x][2]+'" >'+Article[x][0]+'<\/a>';
}else{scroller+=Article[x][0];}
scroller+='</p><\/td>';
if(orientation.toLowerCase()=="vertical"){scroller+='<\/tr>';}
if(scrollerDivider.toLowerCase() != "none"){scroller+='<td nowrap>
'+scrollerDivider+'<\/p><\/td>';}
}
y++
}
scroller+='<\/tr><\/table><\/div><\/div><\/td><\/tr><\/table>';
}
document.writeln(scroller);
}
// Ensure the width of the scroller is divisible by 2. This allows smooth flowing of the scrolled content
function setWidth()
{
tableObj=(isIE)?document.all("table"):document.getElementById("table");
obj=(isIE)?document.all.div1:document.getElementById("div1");
objWidth=(orientation.toLowerCase()=="horizontal")?getOffset(tableObj,"width"):getOffset(tableObj,"height");
HalfWidth=Math.floor(objWidth/2);
newWidth = (HalfWidth*2)+2;
obj.style.width=newWidth
moveLayer(obj, newWidth);
}
// Move the layer by one pixel to the left
function moveLayer(obj, width)
{
maxLeft = (0-(width/2)+2)/2
if(orientation.toLowerCase()=="horizontal"){
obj.style.left=(parseInt(obj.style.left) <= maxLeft)?0:parseInt(obj.style.left)-1
}else{
if(obj.style.top==""){obj.style.top=0;}
// alert(obj.style.top)
if (parseInt(obj.style.top)<(0-(width/2)+6)){
obj.style.top = 0
}else{
obj.style.top = parseInt(obj.style.top)-1
}
}
timer = setTimeout ("moveLayer(obj, "+width+");", 25);
}
// Get width and height of layer
function getOffset(obj, dim)
{
if(dim=="width")
{
oWidth = obj.offsetWidth
return oWidth
}
else if(dim=="height")
{
oHeight = obj.offsetHeight
return oHeight
}
}
function stopScroller()
{
clearTimeout(timer)
}
function runScroller(){
if(!isNS4){setWidth()}
}
////// END OF SCRIPT ///////////////////////////////////////////////////////////////////
//-->
</script>
</head>
<body onLoad="runScroller();">
<script type="text/javascript" language="JavaScript">buildScroller()</script>
</body>
</html>
a questo punto se cambio il doctype esistente con questo :
codice:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
allora non funziona più nulla!!!
Scusate la lunghezza del post e spero che qualcuno di voi mi possa dare una mano d'aiuto a risolvere!!
Grazie mille in anticipo...