Autor Zpráva
Peter45
Profil
Prikladam kod,sluzi na automaticke vyskocenie okna po nacitani stranky...a vsak okno vyskoci na pozicii z lava 100px a z hora 5px alebo ako to presne nazvat...vid kod...

Do js moc chytrej niesom a potreboval by som aby sa objekt zobrazoval v strede obrazovky...niekto kto poradi?

<script type="text/javascript">



var persistclose=0
var startX = 100
var startY = 5 
var verticalpos="fromtop"

function iecompattest(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function get_cookie(Name) {
var search = Name + "="
var returnvalue = "";
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
if (offset != -1) {
offset += search.length
end = document.cookie.indexOf(";", offset);
if (end == -1) end = document.cookie.length;
returnvalue=unescape(document.cookie.substring(offset, end))
}
}
return returnvalue;
}

function closebar(){
if (persistclose)
document.cookie="remainclosed=1"
document.getElementById("topbar").style.visibility="hidden"
}

function staticbar(){
	barheight=document.getElementById("topbar").offsetHeight
	var ns = (navigator.appName.indexOf("Netscape") != -1) || window.opera;
	var d = document;
	function ml(id){
		var el=d.getElementById(id);
		if (!persistclose || persistclose && get_cookie("remainclosed")=="")
		el.style.visibility="visible"
		if(d.layers)el.style=el;
		el.sP=function(x,y){this.style.left=x+"px";this.style.top=y+"px";};
		el.x = startX;
		if (verticalpos=="fromtop")
		el.y = startY;
		else{
		el.y = ns ? pageYOffset + innerHeight : iecompattest().scrollTop + iecompattest().clientHeight;
		el.y -= startY;
		}
		return el;
	}
	window.stayTopLeft=function(){
		if (verticalpos=="fromtop"){
		var pY = ns ? pageYOffset : iecompattest().scrollTop;
		ftlObj.y += (pY + startY - ftlObj.y)/8;
		}
		else{
		var pY = ns ? pageYOffset + innerHeight - barheight: iecompattest().scrollTop + iecompattest().clientHeight - barheight;
		ftlObj.y += (pY - startY - ftlObj.y)/8;
		}
		ftlObj.sP(ftlObj.x, ftlObj.y);
		setTimeout("stayTopLeft()", 10);
	}
	ftlObj = ml("topbar");
	stayTopLeft();
}

if (window.addEventListener)
window.addEventListener("load", staticbar, false)
else if (window.attachEvent)
window.attachEvent("onload", staticbar)
else if (document.getElementById)
window.onload=staticbar
</script>
Witiko
Profil *
Za el.style.visibility="visible"
bych přidal dva řádky:

var startX = document.body.clientWidth / 2 - el.offsetWidth / 2;
var startY = document.body.clientHeight / 2 - el.offsetHeight / 2;


Toto by mělo zaručit, že se bude element centrovat.
Witiko
Profil *
* bez toho var

startX = document.body.clientWidth / 2 - el.offsetWidth / 2;
startY = document.body.clientHeight / 2 - el.offsetHeight / 2;
Peter45
Profil
Supr dikes skoro dobre...

este som musel poupravit a ide pekne v strede...
var persistclose=0
var startX = 0
var startY = 20 
var verticalpos="fromtop"


ale bez toho var to nefunguje cize snim ano:

var startX = document.body.clientWidth / 2 - el.offsetWidth / 2;
var startY = document.body.clientHeight / 2 - el.offsetHeight / 2;




Este jedna vec ktora sa mi teraz zmenila tymto kodom...vyskakovacie okno sa zobrazilo vzdy z hora dole ale teraz ide z dola hore...cim to teda je?

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0