Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Carousel Module - Szybsze przewijanie zdjęć
Forum PHP.pl > Forum > Przedszkole
kostykiewicz
Witam,
Mam pewien problem
Chodzi o to ze:
Moduł mod_fwgallery_carousel działa na zasadzie kliknięcia na strzałki w lewo lub w prawo aby przesunąć zdjęcia w nim wyświetlane, w tej chwili przesuwa się tylko 1 zdjęcie przy jednym kliknięciu strzałki, ja bym chciał by przy jednym kliknięciu przesunęło się 6 zdjęć.
Gdzie można to ustawić w tym kodzie co wysłałem...? Jaki parametr zmienić i w jaki sposób..?
Autor mi nie chce pomóc sam juz siedze bite 3 godziny i nie wiem już co mam zrobić






Moduł jest ze strony:
Kod
http://fastw3b.net/joomla-extensions/product/104-carousel-module.html






Kod źródłowy:


  1. <?php
  2. /**
  3.  * FW Gallery Carousel Module 1.1.1
  4.  * @copyright (C) 2013 Fastw3b
  5.  * @license <a href="http://www.gnu.org/copyleft/gpl.html" target="_blank">http://www.gnu.org/copyleft/gpl.html</a> GNU/GPL
  6.  * @link <a href="http://www.fastw3b.net/" target="_blank">http://www.fastw3b.net/</a> Official website
  7.  **/
  8.  
  9.  
  10. defined( '_JEXEC' ) or die( 'Restricted access' );
  11. ?>
  12. <div id="mod-fwg-carousel-<?php echo $id; ?>" class="mod-fwg-carousel-horizontal<?php if ($class_name = $params->get('moduleclass_sfx')) { ?> mod-fwg-carousel-<?php echo $class_name; } ?>">
  13. <table>
  14. <tr>
  15. <td>
  16. <div id="mod-fwg-carousel-left-button-<?php echo $id; ?>" class="mod-fwg-carousel-left-button mod-fwg-carousel-left-button-disabled"></div>
  17. </td>
  18. <td>
  19. <div id="mod-fwg-carousel-frame-<?php echo $id; ?>" class="mod-fwg-carousel-frame" style="height:<?php echo $height + 14; ?>px;width:<?php echo ($width + 6) * $params->get('qty', 3); ?>px;">
  20. <div id="mod-fwg-carousel-film-<?php echo $id; ?>" class="mod-fwg-carousel-film" style="width:<?php echo $total_width; ?>px;">
  21. <?php
  22. foreach ($list as $i=>$row) {
  23. $path = '/images/com_fwgallery/files/'.$row->_user_id.'/';
  24. if (file_exists(JPATH_SITE.$path.$prefix.$row->filename)) {
  25. $descr = '';
  26. if ($params->get('display_galleryname')) $descr = JText :: _('Gallery').': <a href="'.JRoute :: _('index.php?option=com_fwgallery&view=gallery&id='.$row->project_id.':'.JFilterOutput :: stringURLSafe($row->_gallery_name)).'">'.$row->_gallery_name.'</a>';
  27. if ($params->get('display_username') and $row->_user_name) $descr .= ($descr?'<br/>':'').JText :: _('Author').': '.$row->_user_name;
  28. if ($params->get('display_imagename')) $descr .= ($descr?'<br/>':'').JText :: _('Image').': '.$row->name;
  29. if ($params->get('display_imagedate')) $descr .= ($descr?'<br/>':'').JText :: _('Date').': '.JHTML :: date($row->created);
  30. if ($params->get('display_imageviews')) $descr .= ($descr?'<br/>':'').JText :: _('Hits').': '.(int)$row->hits;
  31. ?>
  32. <div><?php if ($display_iconnew and $row->_is_new) { ?><span class="fwg-icon-new"></span><?php } ?><a href="<?php echo JRoute::_('index.php?option=com_fwgallery&view=image&id='.$row->id.':'.JFilterOutput :: stringURLSafe($row->name).'&Itemid='.JFHelper :: getItemid('image', $row->id, JRequest :: getInt('Itemid')).''); ?>"><img src="<?php echo JURI :: root(true).$path.$prefix.$row->filename; ?>" alt="<?php echo htmlspecialchars($descr); ?>"/></a></div>
  33. <?php
  34. }
  35. }
  36. ?>
  37. </div>
  38. </div>
  39. </td>
  40. <td>
  41. <div id="mod-fwg-carousel-right-button-<?php echo $id; ?>" class="mod-fwg-carousel-right-button<?php if ($total_qty <= $params->get('qty', 3)) { ?> mod-fwg-carousel-right-button-disabled<?php } ?>"></div>
  42. </td>
  43. </tr>
  44. </table>
  45. </div>
  46. <script type="text/javascript">
  47. var mod_fwg_carousel_pos_<?php echo $id; ?> = 0;
  48. function fwg_fade(elem, start, end, time) {
  49. elem.style.opacity = start;
  50. (function fwg_go() {
  51. if (start < end) {
  52. var opacity = elem.style.opacity * 1 + 0.1;
  53. elem.style.opacity = opacity;
  54. elem.style.filter = 'alpha(opacity=' + elem.style.opacity * 100 + ')';
  55. if (elem.style.opacity < end) setTimeout(fwg_go, 100);
  56. } else {
  57. var opacity = elem.style.opacity * 1 - 0.1;
  58. elem.style.opacity = opacity;
  59. elem.style.filter = 'alpha(opacity=' + elem.style.opacity * 100 + ')';
  60. if (elem.style.opacity > end) setTimeout(fwg_go, 100);
  61. }
  62. })();
  63. }
  64.  
  65.  
  66. var fwg_film_eff_<?php echo $id; ?> = {
  67. stop: function() {
  68. if (this.timer.length) for (var i = 0; i < this.timer.length; i++) if (this.timer[i]) clearTimeout(this.timer[i]);
  69. this.timer = new Array;
  70. },
  71. start: function(to) {
  72. var curr_pos = fwg_film_eff_<?php echo $id; ?>.el.style.left?parseInt(fwg_film_eff_<?php echo $id; ?>.el.style.left):0;
  73. var step = (curr_pos - to) / 10;
  74. for (var i = 0; i < 10; i++) {
  75. this.timer.push(
  76. setTimeout(function() {
  77. fwg_film_eff_<?php echo $id; ?>.el.style.left = (curr_pos + step * i * -1) + 'px';
  78. }, 50 * i)
  79. );
  80. }
  81. }
  82. }
  83.  
  84.  
  85. window.addEvent('domready', function() {
  86. document.getElements('a.fwg-carousel-lightbox').cerabox({
  87. titleFormat: 'Image {number} / {total} {title}'
  88. });
  89. var mod_fwg_body = document.getElementById('mod-fwg-carousel-<?php echo $id; ?>');
  90. var mod_fwg_frame = document.getElementById('mod-fwg-carousel-frame-<?php echo $id; ?>');
  91. var mod_fwg_film = document.getElementById('mod-fwg-carousel-film-<?php echo $id; ?>');
  92.  
  93.  
  94. var mod_fwg_left = document.getElementById('mod-fwg-carousel-left-button-<?php echo $id; ?>');
  95. var mod_fwg_right = document.getElementById('mod-fwg-carousel-right-button-<?php echo $id; ?>');
  96.  
  97.  
  98. mod_fwg_right.addEvent('click', function(ev) {
  99. var film_width = parseInt(mod_fwg_film.style.width) * -1;
  100. if (mod_fwg_carousel_pos_<?php echo $id; ?> > film_width + <?php echo (int)($width + 6) * ((int)$params->get('qty', 3)); ?>) {
  101. var class_name = mod_fwg_left.className;
  102. if (class_name.match(/disabled/)) mod_fwg_left.className = 'mod-fwg-carousel-left-button';
  103. var class_name = this.className;
  104. if (class_name.match(/disabled/)) this.className = 'mod-fwg-carousel-right-button';
  105.  
  106.  
  107. mod_fwg_carousel_pos_<?php echo $id; ?> = Math.max(film_width, mod_fwg_carousel_pos_<?php echo $id; ?> - <?php echo $width + 6; ?>);
  108. (function fwg_go_left() {
  109. var left = mod_fwg_film.style.left.replace(/([\d.]+)(px|pt|em|%)/,'$1') * 1 - 20;
  110. mod_fwg_film.style.left = left+'px';
  111. if (left <= film_width + <?php echo (int)($width + 6) * ((int)$params->get('qty', 3)); ?>) {
  112. var class_name = mod_fwg_right.className;
  113. if (!class_name.match(/disabled/)) mod_fwg_right.className += ' mod-fwg-carousel-right-button-disabled';
  114. }
  115. if (left > mod_fwg_carousel_pos_<?php echo $id; ?>) setTimeout(fwg_go_left, 10);
  116. })();
  117. }
  118. });
  119.  
  120.  
  121. mod_fwg_left.addEvent('click', function(ev) {
  122. if (mod_fwg_carousel_pos_<?php echo $id; ?> < 0) {
  123. var class_name = mod_fwg_right.className;
  124. if (class_name.match(/disabled/)) mod_fwg_right.className = 'mod-fwg-carousel-right-button';
  125. var class_name = this.className;
  126. if (class_name.match(/disabled/)) this.className = 'mod-fwg-carousel-left-button';
  127.  
  128.  
  129. mod_fwg_carousel_pos_<?php echo $id; ?> = Math.min(0, mod_fwg_carousel_pos_<?php echo $id; ?> + <?php echo $width + 4; ?>);
  130. (function fwg_go_right() {
  131. var left = mod_fwg_film.style.left.replace(/([\d.]+)(px|pt|em|%)/,'$1') * 1 + 20;
  132. mod_fwg_film.style.left = left+'px';
  133. if (mod_fwg_carousel_pos_<?php echo $id; ?> == 0) {
  134. var class_name = mod_fwg_left.className;
  135. if (!class_name.match(/disabled/)) mod_fwg_left.className += ' mod-fwg-carousel-left-button-disabled';
  136. }
  137. if (left < mod_fwg_carousel_pos_<?php echo $id; ?>) setTimeout(fwg_go_right, 10);
  138. })();
  139. }
  140. });
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147. });
  148.  
  149.  
  150. </script>
timon27
Usuń zdjęcia oprócz co szóstego.
kostykiewicz
Przepraszam za zdjęcie, czy jest ktoś wstanie mi pomóc jak to mogę ogarnac aby zamiast pojedynczo przesuwało robiło to co 4-6 zdjec ktora funkcja jest za to odpowiedzialna
timon27
Moja rada wcale nie była żartem.
Jeśli chcesz aby przesuwało co 6 to reszta zdjęć nie będzie wyświetlana = nie będzie potrzebna = usuń je.
kostykiewicz
Może tak
Mam wyświetlonych 6 zdjęć w rzędzie czyli jeden obok drugiego poziomo i chce po kliknięciu w strzałkę aby te 6 wyświetlonych przesuneło się o kolejne 6 nowych
Galeria składa się np. z 30 zdjęć ale wyświetlone mają być tylko 6 zdjęć.
Teraz jest tak ze pojedyńczo się przesuwa o jedno a ja chce aby po kliknięciu o 6 nowych się przesuneło
timon27
Więc do czego służą te 5 które się nie wyświetlą?
kostykiewicz


Mamy galerię.
Wyświetlają nam się 6 zdjęć w rzędzie
Po kliknięciu na jakieś zdjęcie wyświetla nam się powyżej duży rozmiar
Gdy klikam strzłkę dalej przesuwa się o jedno zdjęcie w prawo wszystko jest ok ale mnie interesuje aby się przesuwało po kliknięciu jednorazowo o 6 zdjęc w prawo aby 6 nowych zdjęć było widocznych a nie każdo kliknięcie jedno nowe zdjęcie
To jest skryot powyżej odpowiedzialny za to i nie mam pojęcie (szukałem) która funkcja może być za to odpowiedzialna dlayego zwracam sie do was

Na tej stronie:
Jest przykład
http://www.fwgallery.com/add-ons/carousel-module.html

Pierwszy przykład zwany: Carousel Module

Klikamy na strzałkę i się przesuwa o jeden ( tylko mowa jest o 6 zdjęciach w rzędzie widocznych tak jak powyżej na obrazku)
timon27
OK. Zdjęcie mi wyjaśniło bo nie rozumiałem.
Spróbuj funkcję zapętlić 6 razy i w settimeout skrócić czas aby nie trwało to 6 razy dłużej.
Da się chyba prościej ale też mam problem ze zrozumieniem skryptu.

  1. mod_fwg_left.addEvent('click', function(ev) {
  2. for($i-0;$i<6;$i++){ //POCZĄTEK PĘTLI
  3. if (mod_fwg_carousel_pos_<?php echo $id; ?> < 0) {
  4. var class_name = mod_fwg_right.className;
  5. if (class_name.match(/disabled/)) mod_fwg_right.className = 'mod-fwg-carousel-right-button';
  6. var class_name = this.className;
  7. if (class_name.match(/disabled/)) this.className = 'mod-fwg-carousel-left-button';
  8.  
  9.  
  10. mod_fwg_carousel_pos_<?php echo $id; ?> = Math.min(0, mod_fwg_carousel_pos_<?php echo $id; ?> + <?php echo $width + 4; ?>);
  11. (function fwg_go_right() {
  12. var left = mod_fwg_film.style.left.replace(/([\d.]+)(px|pt|em|%)/,'$1') * 1 + 20;
  13. mod_fwg_film.style.left = left+'px';
  14. if (mod_fwg_carousel_pos_<?php echo $id; ?> == 0) {
  15. var class_name = mod_fwg_left.className;
  16. if (!class_name.match(/disabled/)) mod_fwg_left.className += ' mod-fwg-carousel-left-button-disabled';
  17. }
  18. if (left < mod_fwg_carousel_pos_<?php echo $id; ?>) setTimeout(fwg_go_right, 2); //ZMNIEJSZYŁEM Z 10 DO 2
  19. })();
  20. }
  21. } // KONIEC PĘTLI
  22. });
kostykiewicz
Dziękuje ci bardzo za twoje chęci i poświęcenie czasu ale teraz nie przesuwa się wogóle
Moze jakies inne rady będę niezmiernie wdzieczny
timon27
A moje błędy poprawiłeś?
Pisałem na szybko bo stwierdziłem że jakby co to poprowadzisz.

zamiast
  1. for($i-0;$i<6;$i++){ //POCZĄTEK PĘTLI

powinno być
  1. for(var i=0;i<6;i++){ //POCZĄTEK PĘTLI

kostykiewicz
JESTEŚ WIELKI graduated.gif php.gif
Dzięki za pomoc, sam bym sobie nie dał rady.
Wszystko ładnie chodzi biggrin.gif super
Nie wiem jak mam ci się odwdzieczyć.

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.