Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Rozwijana treśc, już zrobione!
Forgoot
post
Post #1





Grupa: Zarejestrowani
Postów: 98
Pomógł: 0
Dołączył: 17.03.2004
Skąd: Suwałki

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


Witam chcialbym wiedziec jak zrobic rozwijana tresc, i jak dodac taki kod do BBCode?
Przyklad rozwijanej treści jest w news'ie na stronie: zobacz. Chodzi mi o linki:
- Grupy 1-4
- Grupy 5-8
- ....
Prosze o odpowiedź...

Ten post edytował Forgoot 29.03.2006, 07:42:59


--------------------
"Nie bój się krytyki, ale pochwały lękaj się bardzo"
Zapraszam: www.Przerosl.com.pl !
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
Balas
post
Post #2





Grupa: Zarejestrowani
Postów: 347
Pomógł: 0
Dołączył: 27.08.2005
Skąd: Inowrocław

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


  1. <a href="#" onClick="if (blok1.style.display =='block') { blok1.style.display='none';} else {blok1.style.display='block';}">Link</a>
  2. <div id="blok1" style="display: none">
  3. To co ma byc wewnatrz
  4. </div>


--------------------
Go to the top of the page
+Quote Post
Forgoot
post
Post #3





Grupa: Zarejestrowani
Postów: 98
Pomógł: 0
Dołączył: 17.03.2004
Skąd: Suwałki

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


A jak taką opcję dodac do bbcode? Chcialbym miec, w panelu admina jakiegos prostego skryptu news'owego (lub obojętnie jakiego), przycisk np: rozwijana tresc, abym mogl latwo dodac to w newsie lub innej tresci.

Ten post edytował Forgoot 25.03.2006, 13:43:46


--------------------
"Nie bój się krytyki, ale pochwały lękaj się bardzo"
Zapraszam: www.Przerosl.com.pl !
Go to the top of the page
+Quote Post
gekon
post
Post #4





Grupa: Zarejestrowani
Postów: 614
Pomógł: 7
Dołączył: 10.11.2003
Skąd: Rzeszów/Kraków

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


Metoda bardziej dyskretna
java script:
Kod
showHide = function(element){
element.onclick = function(){
  var p = element.parentNode.getElementsByTagName('p')[0];
  if(p.className == '' || p.className == 'visible'){
   p.className = 'hidden';
  }
  else{
   p.className = 'visible';
  }
}
}

window.onload=function(){
var parent = document.getElementById('lastByCategory')
if (parent) {
  var child = parent.getElementsByTagName('li')
  for (var i = 0; i < child.length; i++) {
   var handler = child[i].getElementsByTagName('h3')
   showHide(handler[0]);
  }
} else {
  return false;
}
}


CSS:
Kod
.visible { display: block; }
.hidden { display: none; }


HTML:
  1. <ul id="lastByCategory">
  2. <li>
  3. <h3>Polska</h3>
  4. <p>Treśc</p>
  5. </li>
  6. <li>
  7. <h3>Europa</h3>
  8. <p>Treść</p>
  9. </li>
  10. <li>
  11. <h3>Świat</h3>
  12. <p>Treść</p>
  13. </li>
  14. </ul>


Ten post edytował gekon 25.03.2006, 13:39:40


--------------------
Pokaż kod = Pokaż CAŁY kod, najlepiej działający na jakimś serwerze.
Fanatycy | glazar.info | semantyka | HTML i XHTML FAQ
Go to the top of the page
+Quote Post
Forgoot
post
Post #5





Grupa: Zarejestrowani
Postów: 98
Pomógł: 0
Dołączył: 17.03.2004
Skąd: Suwałki

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


Witam!
Utworzyłem przykładową stronę (na podst eSp): index.html (jej kod poniżej), po edycji strony o której mówiłem wcześniej. Wszystko działa, ale nadal niewiem jak tą opcję (rozwijana treść) dodać do BBCode. Chciałbym umieścić to do BBCode w skrypcie forum, jakim jest: phpbb2.
Proszę o pomoc.

  1. <script language=JavaScript>
  2. <!--//
  3.  function flip(rid)
  4.  {
  5.    current=(document.getElementById(rid).style.display == 'none') ? 'block' : 'none';
  6.    document.getElementById(rid).style.display = current;
  7.  }
  8. //-->
  9. </head>
  10. <A HREF="#" ONCLICK="flip('test'); return false;"><B>Link</B></A><SPAN ID="test"><script LANGUAGE="JAVASCRIPT">flip('test');</SCRIPT><div style="padding-bottom: 10px;padding-left: 30px; padding-top: 10px; padding-right: 30px;"><br />
  11. Tresc...
  12. </body>
  13. </html>


Pozdrawiam.

=====================

Ok, mam biggrin.gif

  1. <?php
  2.    function ukryj ( $match )   {
  3.       $id = uniqid();      
  4.       return '<a href="#" onclick="flip('' . $id . ''); return false;"><b>' . $match[1] . '</b></a><div id="' . $id . '" class="ukryj" style="display: none;">' . $match[2] . '</div>';
  5.    }
  6.    
  7.    $str = preg_replace_callback("#\[ukryj=\"?(.*?)\"?\](.*?)\[/ukryj]#si", 'ukryj', $str);
  8. ?>


JS:
Kod
function flip( rid ) {
  document.getElementById(rid).style.display = document.getElementById(rid).style.display == 'none' ? 'block' : 'none'
}


CSS:
Kod
.ukryj {
  padding-bottom: 10px; padding-left: 30px; padding-top: 10px; padding-right: 30px;
}


Używanie:
Kod
[ukryj="link"]rozwijana treść[/ukryj]


Myślę, że można temat przenieść na: php?

Ten post edytował Forgoot 29.03.2006, 12:48:15


--------------------
"Nie bój się krytyki, ale pochwały lękaj się bardzo"
Zapraszam: www.Przerosl.com.pl !
Go to the top of the page
+Quote Post
jezjez
post
Post #6





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 28.12.2008

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


Hej jak to zaimplementować na w php bez używania BBCode
Cytat
Kod PHP
<?php
function ukryj
( $match ) {
$id = uniqid();
return
'<a href="#" onclick="flip(\'' . $id . '\'); return false;"><b>' . $match[1] . '</b></a><div id="' . $id . '" class="ukryj" style="display: none;">' . $match[2] . '</div>';
}

$str
= preg_replace_callback("#\[ukryj=\"?(.*?)\"?\](.*?)\[/ukryj]#si", 'ukryj', $str);
?>


A dokładniej jak mam tego użyć
Cytat
[ukryj="link"]rozwijana treść[/ukryj]

Czy w jakiś inny sposub
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 Aktualny czas: 22.08.2025 - 06:45