Autor Zpráva
Szucs
Profil *
Zdravim, vie mi niekto prosim Vas poskytnut script , ktory ma za ulohu pisat text?
Ja mam tento, bohuzial nefunguje pod Mozillou

var it=0
function initialize(){
mytext=typing.innerText
var myheight=typing.offsetHeight

typing.innerText=''
document.getElementById('typing').style.height=myheight
document.getElementById('typing').style.visibility="visible"
typeit()
}
function typeit(){
typing.insertAdjacentText("beforeEnd",mytext.charAt(it))
if (it<mytext.length-1){
it++
setTimeout("typeit()",100)
}
else
return
}

document.body.onload=initialize
</script>

<small><span id="typing" style="visibility:hidden" align="left">Pisuci sa text!</span></small>
Wan-To
Profil *
Za všemi příkazi ti chybí středník ";". To nemůže běhat na ničem...
Wan-To
Profil *
Dal jsem si práci a opravil jsem ti to. Funguje to v IE 6.0, ostatní jsem nezkoušel.

<html>
<head></head>
<body>
<small><span id="typing" style="visibility:hidden" align="left">Pisuci sa text!</span></small>
</body>
</html>
<script>
var it=0;
function initialize(){
var typing = document.getElementById("typing");
mytext=typing.innerText;
var myheight=typing.offsetHeight;

typing.innerText="";
typing.style.height=myheight;
typing.style.visibility="visible";
typeit();
}
function typeit(){
typing.insertAdjacentText("beforeEnd",mytext.charAt(it));
if (it<mytext.length-1){
it++;
setTimeout("typeit()",100);
}
else
return;
}

document.body.onload=initialize
</script>
Szucs
Profil *
Dakujem, myslim ze ta podkociraka nie je podstatna, funguje to aj bez nej.
Bohuzial v Mozille to nefunguje, funguje to v Opere a v IE

Vlado
habendorf
Profil
Místo innerText dej všude innerHTML a pojede to na všem.
Szucs
Profil *
Nahradil som vsade innerText za innerHTML, ale bohuzial pod Mozillou to nefunguje stale


Vlado
habendorf
Profil
Hm, tak tam bude ještě něco :o(
Ale stejně to je krok správným směrem, protože innerText na Gecku nefunguje (narozdíl od innerHTML). Ale ani innerHTML není standardní.
Wan-To
Profil *
Zkus ještě tohle. Proměnná mytext tu není deklarovaná uvnitř funkce initialize():

<html>
<head></head>
<body>
<small><span id="typing" style="visibility:hidden" align="left">Pisuci sa text!</span></small>
</body>
</html>
<script>
var it=0;
var mytext = "";//deklarace vně funkce
function initialize(){
var typing = document.getElementById("typing");
mytext=typing.innerText;
var myheight=typing.offsetHeight;

typing.innerText="";
typing.style.height=myheight;
typing.style.visibility="visible";
typeit();
}
function typeit(){
typing.insertAdjacentText("beforeEnd",mytext.charAt(it));
if (it<mytext.length-1){
it++;
setTimeout("typeit()",100);
}
else
return;
}

document.body.onload=initialize
</script>
Szucs
Profil *
Bohuzial, nepomaha to, pod Mozillou nic nevidiet
Vlado
Fred
Profil
1/ten script patří do sekce head
2/innerText je proprietární věc stejně jako innerHTML, ale u innerHTML je podpora všude
3/document.body.onload má být window.onload
Radši si to někde stáhni hotový http://javascripts.vbarsan.com/
Szucs
Profil *
Uz som to vyriesil, na zaciatok treba includovat do scriptu toto a funguje to

if(typeof HTMLElement!="undefined" && !
HTMLElement.prototype.insertAdjacentElement){
HTMLElement.prototype.insertAdjacentElement = function
(where,parsedNode)
{
switch (where){
case 'beforeBegin':
this.parentNode.insertBefore(parsedNode,this)
break;
case 'afterBegin':
this.insertBefore(parsedNode,this.firstChild);
break;
case 'beforeEnd':
this.appendChild(parsedNode);
break;
case 'afterEnd':
if (this.nextSibling)
this.parentNode.insertBefore(parsedNode,this.nextSibling);
else this.parentNode.appendChild(parsedNode);
break;
}
}

HTMLElement.prototype.insertAdjacentHTML = function
(where,htmlStr)
{
var r = this.ownerDocument.createRange();
r.setStartBefore(this);
var parsedHTML = r.createContextualFragment(htmlStr);
this.insertAdjacentElement(where,parsedHTML)
}


HTMLElement.prototype.insertAdjacentText = function
(where,txtStr)
{
var parsedText = document.createTextNode(txtStr)
this.insertAdjacentElement(where,parsedText)
}
}

Vlado
Toto téma je uzamčeno. Odpověď nelze zaslat.

0