Autor Zpráva
Watchick
Profil
Zdravím, chtěl ybch se zeptat, jestli neznáte nějaké stránky, kse by se dal sehnat JS script, kterej by pomalu přijel s DIVem z pravá strany a tastavil by se na okraji (hned v pravo)?
Chtěl Bych takhle oživit stránky reklamou, aby byla trocchu v pohybu, aby změnila místo, respektive nyní i efekt... díky
Watchick
Profil
Mám script:
<script language="JavaScript1.2">

ie=document.all?1:0
n=document.layers?1:0
ns6=document.getElementById&&!document.all?1:0

//These are the variables you have to set:

//How much of the layer do you wan't to be visible when it's in the out state?
lshow=60

//How many pixels should it move every step? 
var move=10;

//At what speed (in milliseconds, lower value is more speed)
menuSpeed=40

//Do you want it to move with the page if the user scroll the page?
var moveOnScroll=true

var ltop;
var tim=0;

//Object constructor
function makeMenu(obj,nest){
    nest=(!nest) ? '':'document.'+nest+'.'
    if (n) this.css=eval(nest+'document.'+obj)
    else if (ns6) this.css=document.getElementById(obj).style
    else if (ie) this.css=eval(obj+'.style')						
	this.state=1
	this.go=0
        if (n) this.width=this.css.document.width
        else if (ns6) this.width=document.getElementById(obj).offsetWidth
        else if (ie) this.width=eval(obj+'.offsetWidth')
	this.left=b_getleft
    this.obj = obj + "Object"; 	eval(this.obj + "=this")	
}
//Get's the top position.
function b_getleft(){
        if (n||ns6){ gleft=parseInt(this.css.left)}
        else if (ie){ gleft=eval(this.css.pixelLeft)}
	return gleft;
}

function moveMenu(){
	if(!oMenu.state){
		clearTimeout(tim)
		mIn()	
	}else{
		clearTimeout(tim)
		mOut()
	}
}
//Menu in
function mIn(){
	if(oMenu.left()>-oMenu.width+lshow){
		oMenu.go=1
		oMenu.css.left=oMenu.left()-move
		tim=setTimeout("mIn()",menuSpeed)
	}else{
		oMenu.go=0
		oMenu.state=1
	}	
}
//Menu out
function mOut(){
	if(oMenu.left()<0){
		oMenu.go=1
		oMenu.css.left=oMenu.left()+move
		tim=setTimeout("mOut()",menuSpeed)
	}else{
		oMenu.go=0
		oMenu.state=0
	}	
}

function checkScrolled(){
	if(!oMenu.go) oMenu.css.top=eval(scrolled)+parseInt(ltop)
	if(n||ns6) setTimeout('checkScrolled()',30)
}

function menuInit(){
	oMenu=new makeMenu('divMenu')
        if (n||ns6) scrolled="window.pageYOffset"
        else if (ie) scrolled="document.body.scrollTop"
	oMenu.css.left=-oMenu.width+lshow
        if (n||ns6) ltop=oMenu.css.top
        else if (ie) ltop=oMenu.css.pixelTop
	oMenu.css.visibility='visible'
	if(moveOnScroll) ie?window.onscroll=checkScrolled:checkScrolled();
}


window.onload=menuInit;
</script>

a
<div id="divMenu" style="position:absolute; top:250; left:30; visibility:hidden; background-color:ffffff">
<nobr>
	<script type="text/javascript"><!--
google_ad_client = "********************";
/* 468x60, vytvořeno 20.9.08-************ banner */
google_ad_slot = "********";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></a>
	
	<a href="javascript://" onclick="moveMenu()" style="background-color:white;text-decoration:none">- Klikni</a>
</nobr>

Jak by šel předělat na to, aby se ten Div prostě přisunul hedn po načtení stránky a ne, až po kliku?
Bubák
Profil
Šlo by to, můžeš využít JS událost tagu BODY, onload.
Watchick
Profil
jo to sjem zkouešl <body onload="moveMenu()">, teda pokud je to takdobře a nic..
Nox
Profil
FF plugin Firebug atp., dostaneš echo o chybách
Watchick
Profil
Ahoj, odkaz an stránky je
http://travian3.damak.cz/test/menu.php

ale nejde mi to a firebug nic nenasel (teda pokud jsem to správně otestoval), tak jestli tam nemam nějakou zásadní chybu?
Chamurappi
Profil
Reaguji na Watchicka:
Přidej „moveMenu()“ na konec funkce „menuInit“.
Watchick
Profil
Přidáno... nevíám, jsetli jsem to tam dal dobře, ale nereaguje
Chamurappi
Profil
Reaguji na Watchicka:
Nereaguje, protože to „moveMenu()“ v atributu onload zruší dříve nastavené volání „menuInit“. Proto jsem ti napsal, abys volání moveMenu strčil do menuInit, ale zapomněl jsem dodat, že bys ho měl smazat z onload.
Watchick
Profil
Díky moc, už to funguje BTW dá se nějak ošetřit, že pokud by uživatel neměl zapnutý JS, tak že se div zobrazí na svém místě bez prováděných efektů?
peta
Profil
style="position:absolute; top:250; left:30; visibility:hidden;
ze by smazat visibility hidden?
Watchick
Profil
jo... jasně.. .díky moc :-)
Meldo
Profil
A co tak pouzit kniznicu JQuery? http://docs.jquery.com/Main_Page
tone
Profil *
... jak by se dalo udělat aby nepřijížděl, ale aby se po načtení stránky zobrazil vycentrovaný svisle i vodorovně ... a při zmenšování okna (onresize) by se stále centroval?? dík za odpověď

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: