writing 3GO3VGB6LSQBEPR34RLJUGRNWMNJQE3FSMKJCKY




Dynamic Duo - Zmiana zawartości warstwy




loc = "../"






document.write(toccss)
document.write(tochtml)

Zmiana zawartości warstwy

Zawartość Twoich warstw (tekst i kod HTML) może być zmieniana tak jak zmienne za pomocą małego triku. Ogólnie wiadomo, że Internet Explorer ma możliwość zmiany tego, co jest pomiędzy tagami DIV, ale mało kto wie, że można uzyskać podobny efekt w Netscape - korzystając z własności funkcji document.write do zamiany zawartości całej warstwy.

Internet Explorer 4.0:

W IE uzyskujemy dostęp do kodu HTML wewnątrz tagów DIV (lub do każdego innego tagu) poprzez komendę:


document.all.divID.innerHTML = "your new text"


Gdzie divIDjest nazwą (ID) tagu DIV który chcesz zmienić. Można to zrobić też w inny sposób, który ja bardziej preferuję:


document.all["divID"].innerHTML = "Twój nowy tekst"


W ten sposób możemy podawać "divID" jako łańcuch (string) który będzie bardziej użyteczny dla naszych celów przenośności kodu.

Netscape Navigator 4.0:

Ponieważ każda warstwa jest w traktowana przez Netscape-a jako osobny dokument, posiada większość właściwości głównego dokumentu. Ważne dla tej lekcji jest to, że możemy zmienić zawartość dokumentu.

Normalnie do pisania w dokumencie używamy funkcji document.write() dla tekstu i document.close() do zaznaczenia końca pisania:


document.open()
document.write("Mój tekst jest tutaj")
document.close()


Dla warstw CSS możemy skorzystać ze specyficznej dla Netscape-a tablicy Layers() zanim użyjemy document.write() i document.close():


document.layers["divID"].document.open()
document.layers["divID"].document.write("Mój tekst tutaj")
document.layers["divID"].document.close()


A teraz łączymy razem

Drobne różnice w składni pomiędzy IE i Netscape pozwalają nam całkiem ładnie połączyć je w jedną generalną funkcję która pozwoli nam dokonać tego samego w obydwu przeglądarkach:


function layerWrite(id,nestref,text) {
if (ns4) {
var lyr = (nestref)? eval('document.'+nestref+'.document.'+id+'.document') : document.layers[id].document
lyr.open()
lyr.write(text)
lyr.close()
}
else if (ie4) document.all[id].innerHTML = text
}


Korzystając z tej funkcji musisz jedynie podać którą warstwę zamierzasz zmieniać i jaki tekst chcesz tam umieścić:


layerWrite("mojawarstwa",null,"Mój tekst tutaj")


Zobacz writing1-function.html Jako przykład zmiany zawartości warstwy.


Strona główna
Następna lekcja:
Zamiana styli


copyright 1998 Dan Steinman







Wyszukiwarka

Podobne podstrony:
general training example writing 6 10
Derrida, Jacques Speech and Writing according to Hegel
writing
ielts writing part one describing processes
writing
writing
SO Intermediate Writing Reference U8
writing
writing

więcej podobnych podstron