![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 144 Pomógł: 1 Dołączył: 22.11.2007 Skąd: lbn Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Chciałem zrobić sobie dynamiczny pokaz slajdów bez przeładowania strony. Np co 5 sekund zmienia grafikę na kolejną losową. Chciałem użyć biblioteki jquery.cycle.all.min.js http://jquery.malsup.com/cycle/ ma dość ciekawe możliwości. Przykładowo używa się jej tak: Kod <html> <head> <title>JQuery Cycle Plugin - Example Slideshow</title> <!-- include jQuery library --> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script> <!-- include Cycle plugin --> <script type="text/javascript" src="http://cloud.github.com/downloads/malsup/cycle/jquery.cycle.all.2.74.js"></script> <!-- initialize the slideshow when the DOM is ready --> <script type="text/javascript"> $(document).ready(function() { $('.slideshow').cycle({ fx: 'fade' // choose your transition type, ex: fade, scrollUp, shuffle, etc... }); }); </script> </head> <body> <div class="slideshow"> <img src="1.jpg" alt="" /> <img src="2.jpg" alt="" /> <img src="3.jpg" alt="" /> <img src="4.jpg" alt="" /> <img src="5.jpg" alt="" /> <img src="6.jpg" alt="" /> <img src="7.jpg" alt="" /> </div> </body> </html> Nie ma problemu gdy grafik jest mało.. ale ja potrzebuje wrzucić 140 graficzek w formacie 400x300px które ważą 1,54MB (już po maksymalnym zmniejszeniu ich jakości względem wagi pliku.. więcej nie mogę bo pxeloza.. wcześniej ważyły prawie 6MB) Podzieliłem je na 3 foldery po 46 sztuk w każdym i zrobiłem sobie tak: Kod <script type="text/javascript"> $(document).ready(function() { $('#slideshow').cycle({ fx: 'fade', random: 1, timeout: 5000, speed: 2500 }); }); </script> <?php $fol = array('01', '02', '03'); $los = rand(0, 2); $dir = 'plix/los_jpg/'.$fol[$los]; $file_types = array('jpg','jpeg','gif','png'); if($handle = opendir($dir)) { while (false !== ($file = readdir($handle))) { if ($file != "." && $file != ".." && $file != "index.php") { $roz = explode(".",$file); foreach($roz as $key => $value){ if(in_array($value,$file_types)){ $image .= '<img src="'.$dir.'/'.$file.'" width="400px" height="300px" alt="tofx">'; } } } } closedir($handle); } echo'<div id="slideshow" style="height:310px; margin-left:220px;">'. $image .'</div>'; Co prawa po przeładowaniu strony wyświetla mi tylko 1/3 grafik na raz ale to przecierpię. Nieco lepiej ale i tak jeszcze zamula.. w końcu musi załadować 46 grafik.. Zapewne dało by się prościej i może bez udziału php w tym procederze?? Może gdyby w jquery losować np liczbę od 001 do 140 (tak są nazwane pliki) i potem użyć tej wylosowanej liczby do wyświetlenia danej graficzki..(IMG:style_emoticons/default/questionmark.gif) Tylko nie wiem jak się do tego zabrać.. dopiero zaczynam przygodę z jquery. Oczywiście nie musi to być z użyciem tej biblioteki może być inny sposób byle działał sprawniej od moich wypocin. Ten post edytował tofik1778983 13.03.2011, 15:47:15
Powód edycji: [wookieb]: Zmiana tytułu
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 03:57 |