Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JS/CSS] zmiana stylów w IE
darros
post 23.01.2007, 20:32:47
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 8.03.2005

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


http://htmlhelp.shl.pl/dom/obiekty/przykla...yledeclaration1 - ten przykład działa doskonale pod FF, ale niestety pod IE już nie. Debugger: "Obiekt nie obsługuje tej właściwości lub metody". Wie moze ktoś jak zmusić to do działania pod IE? Nie chodzi mi o ten konkretny przykład, ale generalnie o zmianę stylu jakiegoś obiektu przez JS w Internet Explorerze.
Go to the top of the page
+Quote Post
skowron-line
post 23.01.2007, 21:26:07
Post #2





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


  1. function tekst(zmienna) {
  2.  
  3. var el = document.getElementById("a");
  4. el.style.fontWeight =zmienna;
  5.  
  6. }


i link

  1. <a href="#" onclick="tekst('bold')">bold</a>


zaznaczam ze dopiero sie ucze ale u mnie dziala


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post
darros
post 23.01.2007, 21:36:27
Post #3





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 8.03.2005

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


U mnie niestety nie :/ Nie ma zadnej różnicy między:

  1. var obj = document.getElementById('id');
  2. obj.style.setProperty("font-size","20pt","");


a

  1. document.getElementById('id').style.setProperty("font-size","20pt","");


- ciągle wywala ten sam błąd.
Go to the top of the page
+Quote Post
skowron-line
post 23.01.2007, 21:49:16
Post #4





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


  1. function tekst(zmienna) {
  2.  
  3. var el = document.getElementById("a");
  4. el.style.fontSize =zmienna;
  5.  
  6. }



  1. <a href="#" onclick="tekst('30px')">bold</a>


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post
JaRoPHP
post 23.01.2007, 22:58:49
Post #5





Grupa: Zarejestrowani
Postów: 675
Pomógł: 15
Dołączył: 7.11.2004
Skąd: Katowice

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


darros metody modelu DOM, które przetwarzają style (m.in. setProperty) nie są obsługiwane przez przeglądarkę IE (nie wiem, jak jest z najnowszą wersją). Dlatego planując zgodność z IE, należy używać właściwości obiektu style (tak jak proponuje skowron-line).

  1. <script type="text/javascript">
  2. function pokaz(){
  3. tag = document.getElementById("znacznik");
  4. tag.style.fontSize = "20pt";
  5. }


--------------------
Kto pyta, nie błądzi...
Kto zbłądził, ten pyta...
Go to the top of the page
+Quote Post
darros
post 23.01.2007, 23:19:41
Post #6





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 8.03.2005

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


Wielkie dzięki, działa biggrin.gif

I teraz jeszcze małe pytanko - czy da się jakoś, czy poprzez obiekt DOM czy w jakiś inny sposób "zdezaktywować" link? Tzn żeby kliknięcie w niego nic nie dawało, chodzi mi zarówno o linki <a href=""> jak i wszelkie inne tagi ze zdeklarowanym eventem onclick.
Go to the top of the page
+Quote Post
Yard
post 25.01.2007, 19:48:23
Post #7





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 17.06.2006

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


na koncu przypisania onclick albo w funkcji przez nie wywolanej daj "return false;"
np. <a href="to_nic_nie_da" onclick="foo(); return false;">
to zablokuje akcje linka, oczywiscie przy wlaczonym JS smile.gif

ewentualnie mozesz dac href="#" tak jak prawie wszyscy robia, ale to moze czasem przeszkadzac, np. przy <base> winksmiley.jpg
Go to the top of the page
+Quote Post
darros
post 26.01.2007, 11:13:19
Post #8





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 8.03.2005

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


Hm, chyba nieprecyzyjnie sie wyraziłem. Dokładnie chodzi o to zeby w tym samym momencie zablokować jakąś powierzchnię interfejsu np. pół ekranu, i zeby potem jedną funkcją można go było odblokować. Myślałem o przykryciu tego kawałka jakimś przezroczystym divem alebo tego typu rozwiązanie, ale kompletnie niewiem jak sie za to zabrać.
Go to the top of the page
+Quote Post
lopik
post 27.01.2007, 23:59:06
Post #9





Grupa: Zarejestrowani
Postów: 340
Pomógł: 0
Dołączył: 7.07.2006

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


Co do pierwszego problemu, można zrobić setAttribute - działa w IE / FF / Opera

  1. object.setAttribute("style","font-size:20px");


ups, ie 6 nie działa sad.gif

Ten post edytował lopik 28.01.2007, 00:06:44


--------------------
w3c & c++
Go to the top of the page
+Quote Post
Joy-machine
post 4.02.2007, 15:29:06
Post #10





Grupa: Zarejestrowani
Postów: 54
Pomógł: 0
Dołączył: 2.02.2007

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


no wlaśnie, skąd to:
  1. document.getElementById('id').style.setProperty("font-size","20pt","");

questionmark.gif?

setAttribute jest lepszy. A co do idioty (czytaj: IE) to on sobie działa jak chce (IE 6 dziala inaczej na XP inaczej na 2000 ...).

Poza tym próbujesz zmienić styl (fontSize), który w tym znaczniku nie istnieje! Owszem, pod FF działa. IE (program do wymiany wirusów i instalacji trojanów) jest bardzo oporny, dlatego dużą część styli trzeba w taga władować w postaci style="..." zeby działało.

Lepiej/ładniej:

Ustawiasz elementom a class, może być puste. Następnie przy onclick podmieniasz nazwe klasy/dodajesz albo usuwasz. działa, chociaz oczywiście nie wszystkie style (chociaz nawet idioci z redmond nie wiedzą które).
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 4.07.2025 - 17:11