Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Modyfikacja skryptu
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
Riff
Na dhtmlgoodies.com znalazłem przyjemny skrypt tutaj . Wszystko było by super, gdyby nie to, że chcę przypisać ten skrypt tylko do linka o określonej klasie. Skrypt przypisywany jest przez taką linijkę:

Kod
<BR>// Define which elements should be affected:<BR> elements : ['a', 'img'],<BR>


Zgodnie z tym, "tooltipsy" pojawiają się przy każdym linku i obrazku. Jednak gdybym chciał, aby pojawiały się tylko przy linku o określonej klasie (np. class="hover") to kompletnie nie wiem, jak się za to zabrać (Java to dla mnie magia).

Jeśli ktoś miałby czas zerknąć na ten skrypt i zasugerować rozwiązanie to będę wdzięczny...
Cezar708
coś mnie poruszyło w Twojej prośbie i zrobiłem z przyjemnością zmiany, które Cię interesują, oto ZMIENIONA część kodu z pliku js/title2note.js

  1. <?php
  2. // wkopiuj cala funkcje
  3. function inArray(stack, needle){
  4. alert(needle);
  5. if ( typeof stack == "undefined" || !stack.length ) {
  6.  return true; // w przypadku, gdy nie okreslone lub nie uzyte
  7. }
  8. if ( !needle.length ) return false; // w przypadku gdy nie ma nazwy klasy
  9. for ( var i=0; i<stack.length; i++){
  10. if ( stack[i] == needle ) return true;
  11. }
  12. return false;
  13. }
  14.  
  15. var titleToNote = {
  16.  // Define which elements should be affected:
  17.  elements : ['a', 'img'],
  18.  // tu wpisujesz klasy, ktore chcesz aby byly brane pod uwage
  19.  classes : ['test'], // TU ZMIANA 
  20.  setup : function(){
  21.  if(!document.getElementById || !document.createElement) return;
  22.  // create note
  23.  var div = document.createElement("div");
  24.  div.setAttribute("id", "title2note");
  25.  document.getElementsByTagName("body")[0].appendChild(div);
  26.  document.getElementById("title2note").style.display = "none";
  27.  // attach events
  28.  for(j=0;j<titleToNote.elements.length;j++){
  29.  for(i=0;i<document.getElementsByTagName(titleToNote.elements[j]).length;i++){
  30.  var el = document.getElementsByTagName(titleToNote.elements[j])[i];
  31.  if(el.getAttribute("title") && el.getAttribute("title") != ""
  32. && inArray( titleToNote.classes, el.className ) // TU ZMIANA sprawdzanie, czy nalezy do grupy klas CSS
  33.  ){
  34.  el.onmouseover = titleToNote.showNote;
  35.  el.onmouseout = titleToNote.hideNote;
  36.  }
  37.  }
  38.  }
  39.  },
  40. // dalej bez zmian
  41. ?>



EDIT:
to kod JavaScript, ale użyłem tagów PHP bo lepiej kolorują składnię
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.