Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zmiana icony podczas ukrywania DIV
suba
post 29.08.2009, 12:59:10
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 28.08.2009

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


Witam,

Na stronie mam poniższy skrypt js oraz kawałek html..
Chciałem się zapytać, czy ktoś z was mógłby mi podpowiedzieć jak mam zmodyfikować skrypt żeby podczas ukruwanie i pokazywania diva 'tabela' zmieniała mi sie ikona (zdjęcie) w div 'item_icon_plus'
W moim przypadku chodzi o zmianę ikony z plusem na minus i odwrotnie?

Kod
<script language="JavaScript1.4" type="text/javascript">
function openClose(id)
{
    if(document.getElementById) {
          element = document.getElementById(id);;

   } else if(document.all) {
      element = document.all[id];

   } else return;

   if(element.style) {
      if(element.style.display == 'block' )
              {
                element.style.display = 'none';
      }
          else     
            {
                element.style.display = 'block';
      }
   }
}
</script>


  1. <div class="ithem_info_all">
  2. <div class="item_info">Technical Data:
  3. <div class="item_icon_plus"><a href="java script:void(0); openClose('tabela');"><img src="../../../../img/add_48.png" width="15" height="15" /></a></div>
  4. </div>
  5. </div>
  6. <div id="tabela" style="display: block;">
  7. <div class="item_tables"><img src="../../../../img/blue/P71722-tab.jpg" width="250" height="107" /></div>
  8. <div class="item_pikto"><img src="../../../../img/blue/71722-picto.jpg" width="250" height="147" /></div>
  9. </div>
  10. </div>


Z poważaniem
suba
Go to the top of the page
+Quote Post
thek
post 29.08.2009, 14:08:43
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Jesli nadasz mu Id to:
Kod
document.getElementById('id_obrazka').src = 'ścieżka_do_obrazka'

Ewentualnie jeśli obrazek na stronie jest stały jeśli chodzi o miejsce w tabeli obrazków (jest to jednak rzadkie):
Kod
document.getElementsByTagName("img")[kolejność_obrazka_na_stronie].src = "ścieżka_do_obrazka";

A jeśli nie masz w obrazku Id, to zapewne jest wewnątrz div z jakimś ID stałym i tam raczej kolejność obrazka jest niezmienna, więc:
Kod
document.getElementById('id_elementu').getElementsByTagName("img").src = "ścieżka_do_obrazka";

Powinna zadziałać chociaż jedna z nich winksmiley.jpg

Ten post edytował thek 29.08.2009, 14:10:42


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
erix
post 29.08.2009, 14:46:46
Post #3





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Ostatnie nie zadziała, gdyż to będzie tablica. Za dużo klepiesz w jQuery. tongue.gif


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
suba
post 31.08.2009, 09:09:57
Post #4





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 28.08.2009

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


Witam,

Wymyśliłem inny sposób.
Działa.. Ikona się zmienia.. Jednak miałbym pytanie jak można byłoby ten skrypt zastosować na jednej stronie 4 razy..
Teraz dzieje się tak że naciskając na jedną zmieniają się wszystkie równocześnie.. jaki miałby być warunek sprawdzający??

Z góry dziękuję
Pozdrawiam

Kod
function openClose(id)
{
    if(document.getElementById) {
          element = document.getElementById(id);;
        plus = document.getElementById('item_icon_plus');;
        minus = document.getElementById('item_icon_minus');;

    } else if(document.all) {
      element = document.all[id];
        } else return;

   if(element.style) {
      if(element.style.display == 'block' )
              {
                element.style.display = 'none';
                plus.style.display = 'block';
                minus.style.display = 'none';
      }
          else     
            {
                element.style.display = 'block';
                plus.style.display = 'none';
                minus.style.display = 'block';
      }
   }
}

  1. <div class="ithem_info_all">
  2. <div class="item_info">Technical Data:
  3. <div id="item_icon_minus" style="display: block;"><a href="java script:void(0); openClose('tabela');"><img src= "../../../../img/add_482.png" width="15" height="15"/></a></div>
  4. <div id="item_icon_plus" style="display: none;"><a href="java script:void(0); openClose('tabela');"><img src= "../../../../img/add_48.png" width="15" height="15"/></a></div>
  5. </div>
  6. </div>
  7. <div id="tabela" style="display: block;">
  8. <div class="item_tables"><img src="../../../../img/blue/P71722-tab.jpg" width="250" height="107" /></div>
  9. <div class="item_pikto"><img src="../../../../img/blue/71722-picto.jpg" width="250" height="147" /></div>
  10. </div>
  11. </div>


Go to the top of the page
+Quote Post
erix
post 31.08.2009, 11:27:08
Post #5





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Albo dostrajasz identyfikatory, albo jedziesz po klasach.

Najlepiej by było tu posłużyć się jQuery, gdyż getElementsByClassName nie działa pod starszym IE.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
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: 7.06.2024 - 18:05