Вопрос по слайдеру

Вопросы и ответы по изменению функционала, смене дизайна, переносу сайта и т.п.

Модераторы: Xpycm, Koduc

Правила форума
ВНИМАНИЕ! Форум не является средством гарантированной поддержки клиентов и пользователей. Поэтому на быстрый ответ тут рассчитывать не нужно, как и на ответ вообще. Сотрудники отвечают по мере своих возможностей.

На форуме действует ограничение в 3 сообщения / сутки.
Если Вы хотите сказать "спасибо", то воспользуйтесь функцией "Повысить репутацию" - зелёная иконка "плюс" под ником ответившего.

Вопрос по слайдеру

Сообщение Aleksander » 17 дек 2015, 15:21

Здравствуйте. Подскажите пожалуйста, как на главной странице после, например, каждого третьего слайдера закрывать блок:
Код: Выделить всё
 
<div id="mySlides">
<
div class="block">
   <div class="jFlowSlideContainer"
     Здесь картинка с текстом
  
</div>
   <div class="jFlowSlideContainer"
     Здесь картинка с текстом
  
</div>
   <div class="jFlowSlideContainer"
     Здесь картинка с текстом
  
</div>
 </div>
<
div class="block">
   <div class="jFlowSlideContainer"
     Здесь картинка с текстом
  
</div>
   <div class="jFlowSlideContainer"
     Здесь картинка с текстом
  
</div>
   <div class="jFlowSlideContainer"
     Здесь картинка с текстом
  
</div>
 </div>
<
div class="block">
   <div class="jFlowSlideContainer"
     Здесь картинка с текстом
  
</div>
   <div class="jFlowSlideContainer"
     Здесь картинка с текстом
  
</div>
   <div class="jFlowSlideContainer"
     Здесь картинка с текстом
  
</div>
 </div>
</
div>

 
при помощи php?
Aleksander
Гражданин
Гражданин
 
Сообщения: 90
Зарегистрирован: 19 ноя 2015, 10:22
Очки репутации: 13

Re: Вопрос по слайдеру

Сообщение Koduc » 17 дек 2015, 16:06

Код: Выделить всё
<div id="mySlides">
<?php 
$items 
= array(
    '<div class="jFlowSlideContainer">Здесь картинка с текстом1</div>',
    '<div class="jFlowSlideContainer">Здесь картинка с текстом2</div>',
    '<div class="jFlowSlideContainer">Здесь картинка с текстом3</div>',
    '<div class="jFlowSlideContainer">Здесь картинка с текстом4</div>',
);

for(
$i = 0; $i < count($items); $i++) {
    if($i % 3 == 0) {
        echo '<div class="block">';
    }
        
    echo $items
[$i];

    if(($i+1) % 3 == 0 || count($items) == $i+1){
        echo '</div>';
    }
}
?>
</div> 
-- Меньше знаешь - крепче спишь --
Аватара пользователя
Koduc
Ведущий разработчик
Ведущий разработчик
 
Сообщения: 902
Зарегистрирован: 28 дек 2011, 09:11
Очки репутации: 20

Re: Вопрос по слайдеру

Сообщение Aleksander » 17 дек 2015, 17:30

Спасибо, напишу немного по подробее. Есть php views\layouts\index.php, в нем слайдер. Каждый слайд начинается с
Код: Выделить всё
<div id="slide<?php echo $i;?>" class="slide">
...
</div>

Так вот, как сделать так чтобы при выводе обернись каждые 3 слайда в div:
Код: Выделить всё
<div>
  <div id="slide1" class="slide">
    ...
   </div>
     <div id="slide2" class="slide">
   ...
   </div>
   <div id="slide3" class="slide">
   ...
   </div>
<div>
<div>
  <div id="slide4" class="slide">
    ...
   </div>
     <div id="slide5" class="slide">
   ...
   </div>
   <div id="slide6" class="slide">
   ...
   </div>
<div>
<div>
  <div id="slide7" class="slide">
    ...
   </div>
     <div id="slide8" class="slide">
   ...
   </div>
   <div id="slide9" class="slide">
   ...
   </div>
<div>
Aleksander
Гражданин
Гражданин
 
Сообщения: 90
Зарегистрирован: 19 ноя 2015, 10:22
Очки репутации: 13

Re: Вопрос по слайдеру

Сообщение Koduc » 18 дек 2015, 09:55

Да собственно почти тоже самое:
Код: Выделить всё
<div id="mySlides">
<?php 
$items 
= array(
    'содержимое слайда1',
    'содержимое слайда2',
    'содержимое слайда3',
    'содержимое слайда4',
    // и т.д.
);

for(
$i = 0; $i < count($items); $i++) {
    if($i % 3 == 0) {
        echo '<div class="block">';
    }
        
    echo 
'<div id="slide'.$i.'">'.$items[$i].'</div>';

    if(($i+1) % 3 == 0 || count($items) == $i+1){
        echo '</div>';
    }
}
?>
</div> 
-- Меньше знаешь - крепче спишь --
Аватара пользователя
Koduc
Ведущий разработчик
Ведущий разработчик
 
Сообщения: 902
Зарегистрирован: 28 дек 2011, 09:11
Очки репутации: 20

Re: Вопрос по слайдеру

Сообщение Aleksander » 18 дек 2015, 14:29

Да не *NO* , вы же прекрасно знаете, что находится в файле atlas\views\layouts\index.php, там нет
Код: Выделить всё
'содержимое слайда1',
'содержимое слайда2',
'содержимое слайда3',
'содержимое слайда4'

там выполняется скрипт вывода слайдов.
Я бы с радостью обернул всё это при помощи js, если бы не было конфликта с js - библиотекой слайда :'(
Aleksander
Гражданин
Гражданин
 
Сообщения: 90
Зарегистрирован: 19 ноя 2015, 10:22
Очки репутации: 13

Re: Вопрос по слайдеру

Сообщение Koduc » 18 дек 2015, 14:45

Я тогда не пойму что вы хотите сделать:)
Чтобы в слайдере было по 3 картинки за раз? Или чтобы было несколько слайдеров по 3 кадра в каждом?
-- Меньше знаешь - крепче спишь --
Аватара пользователя
Koduc
Ведущий разработчик
Ведущий разработчик
 
Сообщения: 902
Зарегистрирован: 28 дек 2011, 09:11
Очки репутации: 20

Re: Вопрос по слайдеру

Сообщение Aleksander » 19 дек 2015, 05:38

Оставил способ с js.
Еще вопрос как в слайдер добавить свойства: регион, цена, кол-во комнат и тд...?
Aleksander
Гражданин
Гражданин
 
Сообщения: 90
Зарегистрирован: 19 ноя 2015, 10:22
Очки репутации: 13

Re: Вопрос по слайдеру

Сообщение DIM » 04 янв 2016, 15:01

Здравствуйте все. И с праздниками Вас

Вопрос такой - как остановить слайдер, чтобы только одна картинка была и не листалась совсем ? и стрелки навигации скрыть тоже нужно.
Аватара пользователя
DIM
Незнакомец
 
Сообщения: 23
Зарегистрирован: 18 май 2014, 21:33
Очки репутации: 0

Re: Вопрос по слайдеру

Сообщение Aleksander » 04 янв 2016, 17:35

В файле atlas\views\layouts\index.php примерно со строки 60 находятся параметры слайдера:
Код: Выделить всё
$("#myController").jFlow({
                    controller: ".jFlowControl", // must be class, use . sign
                    slideWrapper: "#jFlowSlider", // must be id, use # sign
                    slides: "#mySlides",  // the div where all your sliding divs are nested in
                    selectedWrapper: "jFlowSelected",  // just pure text, no sign
                    effect: "flow", //this is the slide effect (rewind or flow)
                    width: width+"px",  // this is the width for the content-slider
                    height: height+"px",  // this is the height for the content-slider
                    duration: 400,  // time in milliseconds to transition one slide
                    pause: 5000, //time between transitions
                    prev: ".jFlowPrev", // must be class, use . sign
                    next: ".jFlowNext",
                    auto: true
                
}); 

Замените auto: true на auto: false - это остановит слайдер
Чтобы убрать стрелки надо удалить тут же:
Код: Выделить всё
prev: ".jFlowPrev", // must be class, use . sign
next: ".jFlowNext", 

и выше html:
Код: Выделить всё
<div class="jFlowPrev"></div>
<
div class="jFlowNext"></div> 
Aleksander
Гражданин
Гражданин
 
Сообщения: 90
Зарегистрирован: 19 ноя 2015, 10:22
Очки репутации: 13

Re: Вопрос по слайдеру

Сообщение Aleksander » 07 янв 2016, 09:10

А если у вас шаблон classic и Nivoslider, то в этом же файле строка 31 :
Код: Выделить всё
$("#slider").nivoSlider({effect: "random", randomStart: true}); 

заменить на:
Код: Выделить всё
$("#slider").nivoSlider({effect: "random", randomStart: true, controlNav: false, directionNav: false,  manualAdvance:true }); 
Aleksander
Гражданин
Гражданин
 
Сообщения: 90
Зарегистрирован: 19 ноя 2015, 10:22
Очки репутации: 13


Вернуться в Вопросы и помощь по изменениям

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6