Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Dynamiczne tworzenie warstwy
ins@ne
post
Post #1





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 10.07.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Chodzi mi o to czy sie da i jesli sie da to jak utworzyc dynamicznie warstwe. O co konkretnie mi chodzi. Musze napisac funkcje, ktora przy wywolaniu bedzie tworzyc nowa warstwe ( <div> ), ktora bede mogl sobie formatowac, edytowac itp.
Ktos wie? (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
zx81
post
Post #2





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 2.06.2004

Ostrzeżenie: (0%)
-----


Może prościej będzie w ten sposób :
1. umieścic DIV'a w kodzie strony i go "schować" tzn. visibility='hidden'
2. funkcja ustawia parametry takiego DIV'a i go 'pokazuje'

Wygenerować się da ale to jest raczej skomplikowane - dołanczanie nowego obiektu itd.
Pozdrawiam
Go to the top of the page
+Quote Post
Paul
post
Post #3





Grupa: Zarejestrowani
Postów: 636
Pomógł: 0
Dołączył: 22.10.2003
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Mozesz edytowac wczesniej przygotowanego diva przez innerHTML, chodzby tak jak kolega wyzej napisal...
Go to the top of the page
+Quote Post
ins@ne
post
Post #4





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 10.07.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


1. innerHTML dziala tylko pod IE (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
2. musze miec mozliwosc tworzenia dynamicznie warstwy bo:
- warstwa ta ma byc ustawiana relatywnie od miejsca, w ktorym znajduje sie kursor myszy, a jesli wklepie gdzies kod warstwy to ona bedzie sie wyswietlac relatywnie od miejsca gdzie jest ten kod
- warstwa bedzie miala dynamicznie zmieniana zawartosc przez argumenty z javy wiec (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) musi byc dynamicznie tworzona (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Cudi
post
Post #5


Administrator planeta/IRC


Grupa: Przyjaciele php.pl
Postów: 385
Pomógł: 0
Dołączył: 19.04.2003
Skąd: Zabrze

Ostrzeżenie: (0%)
-----


  1. function createLayer() {
  2. var layer = document.createElement('DIV');
  3. layer.id = "newLayer";
  4. layer.innerHTML = "dupa";
  5.  
  6. document.body.appendChild(layer);
  7. }
  8.  
  9. <input type="button" value="Stworz warstwe" onclick="createLayer()">
  10. </body>

Sprawdziłem pod FF 0.9, IE 6 i Operze 7.54
Cytat
1. innerHTML dziala tylko pod IE (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

Bzdura...
Go to the top of the page
+Quote Post
Paul
post
Post #6





Grupa: Zarejestrowani
Postów: 636
Pomógł: 0
Dołączył: 22.10.2003
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Cytat(ins@ne @ 2004-09-15 10:11:07)
musi byc dynamicznie tworzona

Nie musi - moze byc dynamicznie edytowana.

Cytat("ins@ne")
musze miec mozliwosc tworzenia dynamicznie warstwy bo:
- warstwa ta ma byc ustawiana relatywnie od miejsca, w ktorym znajduje sie kursor myszy

Mozna takze przesunac juz istniejaca warstwe.
Go to the top of the page
+Quote Post
ins@ne
post
Post #7





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 10.07.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Bardzo dziekuje - wszystko dziala i naprowadzilo mnie to w ogole na przeszukiwanie specyfikacji w3c... Ale jest jedna rzecz, ktora nie chce mi dzialac w dalszym ciagu (a nie moge znalezc przykladu w sieci, ktory by to opisywal). Nie moge ustawic pozycji tej warstwy. Rozmiar, kolory itp. ustawiam bez problemu, ale z pozycja nie moge (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) . Moze wiecie jeszcze jak to ustawic?

OK... Juz nieaktualne. Przed ustawieniem wartosci dla .top trzeba zmienic position na jakikolwiek inny niz statc... (wyczytane ze specyfikacji css).

Ten post edytował ins@ne 16.09.2004, 11:24:16
Go to the top of the page
+Quote Post
sf
post
Post #8





Grupa: Zarejestrowani
Postów: 1 597
Pomógł: 30
Dołączył: 19.02.2003
Skąd: Tychy

Ostrzeżenie: (0%)
-----


http://www.w3.org/TR/CSS21/visuren.html
Go to the top of the page
+Quote Post
Dominik
post
Post #9





Grupa: Zarejestrowani
Postów: 339
Pomógł: 0
Dołączył: 17.06.2003
Skąd: Białystok

Ostrzeżenie: (0%)
-----


Cytat(Cudi @ 2004-09-15 17:50:37)
Cytat
1. innerHTML dziala tylko pod IE (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

Bzdura...

Co nie znaczy ze nie lepiej skorzystac z DOM.
Go to the top of the page
+Quote Post
ins@ne
post
Post #10





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 10.07.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


To jeszcze mam jedno pytanie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Calosc, ktora tworze to funkcja, ktora bedzie wyswietlac "dymki" (takie jak alt przy img). Teraz chcialbym zeby rozmiar tego dymku byl dopasowany to tekstu wewnatrz niego. Funkcja wyglada tak:
  1. function showTip(strArg) {
  2. newLayer = document.createElement("DIV");
  3. var layerText = document.createTextNode(strArg);
  4. var textLength = strArg.length;
  5.  
  6. var fontSizeInPixels = 11;
  7.  
  8. document.body.appendChild(newLayer);
  9. newLayer.style.backgroundColor = "#ffc";
  10. newLayer.style.color = "#000";
  11. newLayer.style.width = textLength*fontSizeInPixels+'px';
  12. newLayer.style.height = 14+'px';
  13. newLayer.style.position = "relative";
  14. newLayer.style.top = -20+'px';
  15. newLayer.style.left = 20+'px';
  16. newLayer.style.borderWidth = 1+'px';
  17. newLayer.style.borderStyle = "solid";
  18. newLayer.style.borderColor = "#000";
  19. newLayer.style.fontFamily = "Arial, Helvetica, sans-serif";
  20. newLayer.style.fontSize = fontSizeInPixels+'px';
  21. }

No i mam problem z tym wymiarowaniem. Wedlug tego co tam znalazlem w w3c to 'em' to jest odleglosc rowna rozmiarowi czcionki, ale to nie jest to czego szukam bo jesli wpisze same 'WWWW' to pole jest w sam raz, a jak wpisze same 'iiii' no to pole jest o wiele za duze. Probowalem (tak jak w tym kodzie) jakos wykorzystac atrybut length i pomnozyc go przez rozmiar fonta, ale to tez nie daje pozadanych rezultatow. Czy ktos z Was wie moze jak to rozwiazac? Kiedys cos takiego robil?

EDIT:
A i to udalo sie rozwiazac. Troche tylko trzeba bylo zmienic tok myslenia. Wystarczy zamienic div (ktory "ciagnie sie" do konca linii) na span i problem z glowy. Dziekuje za pomoc!

Ten post edytował ins@ne 16.09.2004, 15:10:22
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 10:11