pensavo anche io, ma...
allora:
io ho uno script che mi aggiunge o toglie una parte di un form
da 0 a inf... (copia una parte dell'albero DOM con Javascript)
io vorrei limitarlo con un min e/o un max in modo da non tagliare o aggiungere oltre i bordi...
il problema è appunto oltre i bordi... e considerato che non so a priori quanti saranno i set di campi con sto problema, non so come risolvere!
cmq i custom tag funzionano mi pare, guarda questo codice:
codice:
<html>
<head>
<title>Custom Tooltip Sample</title>
<script type="text/javascript" language="javascript">
//general properties:
var _tooltipPauseBeforeShow=100; //miliseconds to pause before showing the tooltip.
var _tooltipDelay=7; //seconds before auto hiding. set 0 to make it permanent.
var _tooltipBgColor="yellow"; //background color of tooltip box
var _tooltipTextColor="black"; //color of tooltip text.
var _tooltipFontFamily="Tahoma"; //font family of tooltip text.
var _tooltipFontSize=12; //font size of tooltip text.
var _tooltipFontBold=true; //whether the tooltip text will be bold or not
//private data:
var _tooltipContainerName="TooltipContainer_V1";
window.onload=function WindowLoad(event)
{
var arrSpans=document.getElementsByTagName("span");
var tooltipCount=0;
for (var i=0; i<arrSpans.length; i++)
{
var objSpan=arrSpans[i];
if ((objSpan.attributes["tooltip_v1"])&&(objSpan.attributes["tooltip_v1"].value.length > 0))
{
objSpan.onmouseover = ShowToolTip;
objSpan.onmouseout = HideToolTip;
tooltipCount++;
}
}
if (tooltipCount > 0)
document.onclick=HideToolTip;
}
function ShowToolTip(event)
{
//get windows event:
if ((typeof event == "undefined")||(!event))
event = window.event;
//get container:
var objContainer=document.getElementById(_tooltipContainerName);
//get source element:
var objSource=event.srcElement||event.target;
//abort if no source available:
if ((typeof objSource == "undefined")||(!objSource))
return false;
//create if does not exist:
if (!objContainer)
{
objContainer = document.createElement("div");
objContainer.id = _tooltipContainerName;
objContainer.style.backgroundColor = _tooltipBgColor;
objContainer.style.color = _tooltipTextColor;
objContainer.style.fontFamily = _tooltipFontFamily;
objContainer.style.fontSize = _tooltipFontSize;
if (_tooltipFontBold)
objContainer.style.fontWeight = "bold";
objContainer.style.position = "absolute";
objContainer.style.display = "none";
document.body.appendChild(objContainer);
}
//get mouse position:
var mouseX=event.x||event.pageX;
var mouseY=event.y||event.pageY;
//get body scroll:
var scrollX=document.body.scrollLeft;
var scrollY=document.body.scrollTop;
//set container position:
objContainer.style.left = (mouseX+scrollX)+"px";
objContainer.style.top = (mouseY+scrollY)+"px";
//read tooltip text:
var strText=(objSource.attributes["tooltip_v1"])?objSource.attributes["tooltip_v1"].value:"";
//verify we have something to display:
if (strText.length == 0)
return false;
//set container text:
objContainer.innerHTML = strText;
//show container:
setTimeout("_ShowTooltipContainer();", _tooltipPauseBeforeShow);
//set timer if needed:
if (_tooltipDelay > 0)
setTimeout("HideToolTip();", _tooltipDelay*1000);
return true;
}
function HideToolTip(event)
{
//get container:
var objContainer=document.getElementById(_tooltipContainerName);
if (objContainer)
{
objContainer.style.display = "none";
}
}
function _ShowTooltipContainer()
{
//get container:
var objContainer=document.getElementById(_tooltipContainerName);
if (objContainer)
{
objContainer.style.display = "block";
}
}
</script>
</head>
<body>
<span tooltip_v1="hello i'm the tooltip.
I can be some lines.">some text goes here.</span>
<span tooltip_v1="and I am another tooltip">just another text.</span>
</body>
</html>
il codice soprastante non è mio eh :P
pero se provo a "copiare" la parte che legge il tag non ufficiale non va cmq... mentre sto coso va!
sigh!
helpppp!