Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zablokowanie wyświetlania zawartości title=""
Forum PHP.pl > Forum > Po stronie przeglądarki
czachor
Witam,
jest jakiś patent na zablokowanie wyświetlania zawartości atrybutu "title" po najechaniu na obrazek nie usuwając jednocześnie tej zawartości? Mam narzucone użycie lightboxa, wysyłam do niego sporo htmla no i cały ten bajzel wyświetla się po najechaniu na zdjęcie.

Z mojego rozeznania wynika, że nie ma na to sposobu, ale może ktoś coś wie...
bełdzio
najprostszym sposobem byłoby usuwanie wartosci title w chwili najechania kursorem na obrazek i przywracanie wartosci w chwili opuszczenia obrazka
czachor
Hmhmhm.... Rozwiązanie chyba nie jest złe, tylko zastanawiam się, czy nie zrobi się z tego sterta kodu, bo jak obrazków jest 50, do każdego trochę tego kodu będzie w title... Tak czy inaczej, dzięki za pomysł, rozważę. Myślę jeszcze, żeby zrobić ajaxem ładowanie kodu po otwarciu obrazka w lightboxie...
erix
Cytat
czy nie zrobi się z tego sterta kodu, bo jak obrazków jest 50, do każdego trochę tego kodu będzie w title...

Niekoniecznie:
Kod
var imgs = document.getElementById('rodzic').getElementsByTagName('img');
for(var i=0;i<imgs.length; i++){
   imgs[i].setAttribute('oTitle', imgs[i].title);
   imgs[i].onmouseover = function(){
      this.title = '';
   };
   imgs[i].onmouseout = function(){
      this.title = this.oTitle;
   };
}

Pisane łokciem.
czachor
Zwracam honor. Co do kodu, jest jednak drobna zmiana: title="" jest dla tagu <a>, no ale to sobie podmieniłem. Niestety coś nie działa... Ogólnie struktura jest taka:
  1. <div id="a">
  2. <a title="(........)"><img /></a>
  3. <a title="(........)"><img /></a>
  4. .....
  5. </div>

Nic się nie dzieje, title jest jak było, webdeveloper wyrzuca: "Błąd: document.getElementById("a") is null". Ogólnie dziwna sprawa i utknąłem na tym dlaczego jest 'null', które jest zwracane jeśli element nie istnieje :/
erix
A w jaki sposób wywołujesz funkcję czyszczenia title? snitch.gif

Mam nadzieję, że w onload albo DOMContentLoaded, a nie bezpośrednio przed linkami, bo wtedy będzie na pewno puste. winksmiley.jpg
czachor
Przez onload, zaraz sprawdzę czy może coś nie tak zrobiłem... No tak, rzecz głupia, zrobiłem literówkę w nazwie funkcji w onload... Natomiast od razu okazało się, że niestety metoda nie jest do końca ok. Tzn. co do zasady działa poprawnie, czyli faktycznie czyści title="", natomiast lightbox na tym się wykłada, bo te dane do wyświetlenia pod zdjęciem bierze prosto z title="", które w momencie kliknięcia jest wyczyszczone :/ I koło się zamyka :]
lord_t
To przerób lightboxa tak, żeby np. korzystał z atrybutu rel(lub innego), wtedy Ci się nie wyświetli:)
erix
Cytat
natomiast lightbox na tym się wykłada, bo te dane do wyświetlenia pod zdjęciem bierze prosto z title=""

Robisz tak, jak napisał ~lord_t albo modyfikujesz mój kod tak, aby przywracał stary tytuł nie po zjechaniu kursora z obiektu, tylko po kliknięciu. winksmiley.jpg
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.