18.10.2019, 15:48
|
Профессор
|
|
Регистрация: 05.03.2012
Сообщений: 159
|
|
Не работает слайдер touchTouch
Не работает слайдер touchTouch и есть ошибки. Помогите исправить.
Вот сайт на поддомене для тестов _https://update.lik-astana.kz/imidzhevaya-produktsiya/ezhednevniki/ezhednevnik-s-logotipom-detail.html
В карточке товара необходимо сделать слайдер изображений, хорошо подходит для этого touchTouch.
вот мой вывод изображений
<?php
defined('_JEXEC') or die('Restricted access');
$doc = JFactory::getDocument();
$style_image = '
.hovergallery img{
-webkit-transform:scale(0.8); /*Webkit: уменьшаем размер до 0.8*/
-moz-transform:scale(0.8); /*Mozilla: масштабирование*/
-o-transform:scale(0.8); /*Opera: масштабирование*/
-webkit-transition-duration: 0.5s; /*Webkit: длительность анимации*/
-moz-transition-duration: 0.5s; /*Mozilla: длительность анимации*/
-o-transition-duration: 0.5s; /*Opera: длительность анимации*/
opacity: 0.9; /*Начальная прозрачность изображений*/
margin: 0 10px 5px 0; /*Интервалы между изображениями*/
}
.hovergallery img:hover{
-webkit-transform:scale(1.1); /*Webkit: увеличиваем размер до 1.2x*/
-moz-transform:scale(1.1); /*Mozilla: масштабирование*/
-o-transform:scale(1.1); /*Opera: масштабирование*/
box-shadow:0px 0px 30px gray; /*CSS3 тени: 30px размытая тень вокруг всего изображения*/
-webkit-box-shadow:0px 0px 30px gray; /*Webkit: тени*/
-moz-box-shadow:0px 0px 30px gray; /*Mozilla: тени*/
opacity: 1;
}
';
$doc->addStyleDeclaration($style_image);
/*
$document = JFactory::getDocument();
$document->addScriptDeclaration(" ");
*/
?>
<!-- <link rel="stylesheet" href="/templates/lik-astana/touch/css/styles.css" /> -->
<link rel="stylesheet" href="templates/lik-astana/touch/touchTouch/touchTouch.css" />
<script type="text/javascript">
$(function(){ $('.thumbs a').touchTouch(); });
</script>
<div class="hovergallery"><div class="thumbs">
<?php
$count_images = count ($this->product->images);
if ($count_images >= 1) { /*$start_image = VmConfig::get(1) ? 0 : 1; */ $start_image = 0; }
for ($i = $start_image; $i < $count_images; $i++) { $image = $this->product->images[$i];
?>
<?php echo $image->displayMediaThumb(false, true, 'class=""'); ?>
<?php } ?>
</div></div>
<!-- JavaScript includes - jQuery, turn.js and our own script.js -->
<script src="templates/lik-astana/touch/touchTouch/touchTouch.jquery.js"></script>
<script src="templates/lik-astana/touch/js/script.js"></script>
<!-- BSA AdPacks code. Please ignore and remove.-->
<script src="//cdn.tutorialzine.com/misc/adPacks/v1.js" async></script>
ошибки показывает в консоли хрома, может причина в них.
Помогите реализовать галерею, сам в js нечего не понимаю.
Заранее спасибо!
|
|
18.10.2019, 16:31
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
Stas1985,
найдите другой слайдер, этот устарел.
|
|
18.10.2019, 16:57
|
Профессор
|
|
Регистрация: 05.03.2012
Сообщений: 159
|
|
Цитата:
|
найдите другой слайдер, этот устарел.
|
рони , Профессор, подскажите пожалуйста, какой слайдер лучше применить.
|
|
18.10.2019, 17:53
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
|
|
19.10.2019, 07:01
|
Профессор
|
|
Регистрация: 05.03.2012
Сообщений: 159
|
|
Здравствуйте рони!
Попробовал ваш скрипт
<?php
defined('_JEXEC') or die('Restricted access');
$doc = JFactory::getDocument();
$style_image = '
.hovergallery img{
-webkit-transform:scale(0.8); /*Webkit: уменьшаем размер до 0.8*/
-moz-transform:scale(0.8); /*Mozilla: масштабирование*/
-o-transform:scale(0.8); /*Opera: масштабирование*/
-webkit-transition-duration: 0.5s; /*Webkit: длительность анимации*/
-moz-transition-duration: 0.5s; /*Mozilla: длительность анимации*/
-o-transition-duration: 0.5s; /*Opera: длительность анимации*/
opacity: 0.9; /*Начальная прозрачность изображений*/
margin: 0 10px 5px 0; /*Интервалы между изображениями*/
}
.hovergallery img:hover{
-webkit-transform:scale(1.1); /*Webkit: увеличиваем размер до 1.2x*/
-moz-transform:scale(1.1); /*Mozilla: масштабирование*/
-o-transform:scale(1.1); /*Opera: масштабирование*/
box-shadow:0px 0px 30px gray; /*CSS3 тени: 30px размытая тень вокруг всего изображения*/
-webkit-box-shadow:0px 0px 30px gray; /*Webkit: тени*/
-moz-box-shadow:0px 0px 30px gray; /*Mozilla: тени*/
opacity: 1;
}
';
$doc->addStyleDeclaration($style_image);
/*
$document = JFactory::getDocument();
$document->addScriptDeclaration(" ");
*/
?>
<script src="https://<?php echo $_SERVER["HTTP_HOST"];?>/templates/lik-astana/peppermint/peppermint.min.js" async></script>
<link rel="stylesheet" href="https://<?php echo $_SERVER["HTTP_HOST"];?>/templates/lik-astana/peppermint/peppermint.required.css" type="text/css" />
<link rel="stylesheet" href="https://<?php echo $_SERVER["HTTP_HOST"];?>/templates/lik-astana/peppermint/peppermint.suggested.css" type="text/css" />
<script type="text/javascript">
$('.peppermint').Peppermint();
//сохранить jQuery-ссылку на блок слайдера
var slider = $('.peppermint');
//запустить Peppermint
slider.Peppermint();
//клик по `#right-arr` переключит на следующий слайд
$('#right-arr').click(slider.data('Peppermint').next);
//клик по `#left-arr` переключит на предыдущий слайд
$('#left-arr').click(slider.data('Peppermint').prev);
//клик по `#getslidesnumber` покажет количество слайдов
$('#getslidesnumber').click(function() {
alert('There are ' + slider.data('Peppermint').getSlidesNumber() + ' slides');
});
$('.peppermint').Peppermint({
dots: true,
slideshow: true,
speed: 500,
slideshowInterval: 5000,
stopSlideshowAfterInteraction: true,
onSetup: function(n) {
console.log('Peppermint setup done. Slides found: ' + n);
}
});
</script>
<div class="hovergallery">
<div class="peppermint peppermint-inactive" id="peppermint">
<?php
$count_images = count ($this->product->images);
if ($count_images >= 1) { /*$start_image = VmConfig::get(1) ? 0 : 1; */ $start_image = 0; }
for ($i = $start_image; $i < $count_images; $i++) { $image = $this->product->images[$i];
?>
<figure>
<?php echo $image->displayMediaThumb(false, true, 'class="touchTouch-img"'); ?>
</figure>
<?php } ?>
</div></div>
но у меня он тоже не работает, подскажите что я сделал не так.
Попробовал скачать с github их скрипт https://github.com/wilddeer/Peppermint
Он скачанный в тестовом примере так же не работает
Последний раз редактировалось Stas1985, 19.10.2019 в 07:14.
|
|
19.10.2019, 07:29
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
1)
//либо так
$('.peppermint').Peppermint({
dots: true,
slideshow: true,
speed: 500,
slideshowInterval: 5000,
stopSlideshowAfterInteraction: true,
onSetup: function(n) {
console.log('Peppermint setup done. Slides found: ' + n);
}
});
//либо со ссылкой на объект если надо
var slider = $('.peppermint').Peppermint({
dots: true,
slideshow: true,
speed: 500,
slideshowInterval: 5000,
stopSlideshowAfterInteraction: true,
onSetup: function(n) {
console.log('Peppermint setup done. Slides found: ' + n);
}
});
И все, а у вас по несколько раз об одном и том же в строках 36 - 40 и в 49.
2) Подключение плагина нужно производить в событии загрузки документа или после элемента/элементов на которые вешается плагин, устанавливаются события и т.п. А у вас скрипт вне события загрузки документа в строках 35-59, а блок с картинками выводится после них начиная со строки 60.
|
|
19.10.2019, 07:47
|
Профессор
|
|
Регистрация: 05.03.2012
Сообщений: 159
|
|
Переделал
<?php
defined('_JEXEC') or die('Restricted access');
$doc = JFactory::getDocument();
$style_image = '
.hovergallery img{
-webkit-transform:scale(0.8); /*Webkit: уменьшаем размер до 0.8*/
-moz-transform:scale(0.8); /*Mozilla: масштабирование*/
-o-transform:scale(0.8); /*Opera: масштабирование*/
-webkit-transition-duration: 0.5s; /*Webkit: длительность анимации*/
-moz-transition-duration: 0.5s; /*Mozilla: длительность анимации*/
-o-transition-duration: 0.5s; /*Opera: длительность анимации*/
opacity: 0.9; /*Начальная прозрачность изображений*/
margin: 0 10px 5px 0; /*Интервалы между изображениями*/
}
.hovergallery img:hover{
-webkit-transform:scale(1.1); /*Webkit: увеличиваем размер до 1.2x*/
-moz-transform:scale(1.1); /*Mozilla: масштабирование*/
-o-transform:scale(1.1); /*Opera: масштабирование*/
box-shadow:0px 0px 30px gray; /*CSS3 тени: 30px размытая тень вокруг всего изображения*/
-webkit-box-shadow:0px 0px 30px gray; /*Webkit: тени*/
-moz-box-shadow:0px 0px 30px gray; /*Mozilla: тени*/
opacity: 1;
}
';
$doc->addStyleDeclaration($style_image);
/*
$document = JFactory::getDocument();
$document->addScriptDeclaration(" ");
*/
?>
<div class="hovergallery">
<div class="peppermint peppermint-inactive" id="peppermint">
<?php
$count_images = count ($this->product->images);
if ($count_images >= 1) { /*$start_image = VmConfig::get(1) ? 0 : 1; */ $start_image = 0; }
for ($i = $start_image; $i < $count_images; $i++) { $image = $this->product->images[$i];
?>
<figure>
<?php echo $image->displayMediaThumb(false, true, 'class="touchTouch-img"'); ?>
</figure>
<?php } ?>
<script type="text/javascript">
$('.peppermint').Peppermint({
dots: true,
slideshow: true,
speed: 500,
slideshowInterval: 5000,
stopSlideshowAfterInteraction: true,
onSetup: function(n) {
console.log('Peppermint setup done. Slides found: ' + n);
}
});
</script>
<script src="https://<?php echo $_SERVER["HTTP_HOST"];?>/templates/lik-astana/peppermint/peppermint.min.js" async></script>
<link rel="stylesheet" href="https://<?php echo $_SERVER["HTTP_HOST"];?>/templates/lik-astana/peppermint/peppermint.required.css" type="text/css" />
<link rel="stylesheet" href="https://<?php echo $_SERVER["HTTP_HOST"];?>/templates/lik-astana/peppermint/peppermint.suggested.css" type="text/css" />
</div>
</div>
По прежнему безуспешно. Что я делаю не так
|
|
19.10.2019, 08:18
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от Stas1985
|
Что я делаю не так
|
А далее возможная ошибка - объект/объекты, на которые устанавливается плагин указы неверно, читать документацию.
И здесь нужно выставлять не РНР код, а результирующий HTML, тот что будет на странице. Этот код можно получить в отладчике браузера.
|
|
19.10.2019, 08:36
|
Профессор
|
|
Регистрация: 05.03.2012
Сообщений: 159
|
|
Цитата:
|
А далее возможная ошибка - объект/объекты, на которые устанавливается плагин указы неверно, читать документацию.
|
Вот мой код для картинки
<figure>
<a title="Красный ежедневник с логотипом" class="touchTouch-img" href="https://update.lik-astana.kz/images/stories/virtuemart/product/Red_diary_with_logo.jpg">
<img src="/images/stories/virtuemart/product/resized/Red_diary_with_logo_200x200.jpg" alt="Красный ежедневник с логотипом">
</a>
</figure>
Вот все картинки с обработчиком
<div class="peppermint peppermint-inactive" id="peppermint">
<figure>
<a title="Нанесение на ежедневники логотипов, эмблем, фирменной символики." class="touchTouch-img" href="
https://update.lik-astana.kz/images/stories/virtuemart/product/egedn.jpg">
<img src="/images/stories/virtuemart/product/resized/egedn_200x200.jpg" alt="Нанесение на ежедневники логотипов, эмблем, фирменной символики.">
</a>
</figure>
<figure>
<a title="Ежедневник с нанесением" class="touchTouch-img" href="https://update.lik-astana.kz/images/stories/virtuemart/product/ezhednevnik_s_naneseniem.jpg">
<img src="/images/stories/virtuemart/product/resized/ezhednevnik_s_naneseniem_200x200.jpg" alt="Ежедневник с нанесением">
</a>
</figure>
<figure>
<a title="Ежедневник с логотипом" class="touchTouch-img" href="https://update.lik-astana.kz/images/stories/virtuemart/product/egednevnik_s_logotipom.jpg">
<img src="/images/stories/virtuemart/product/resized/egednevnik_s_logotipom_200x200.jpg" alt="Ежедневник с логотипом">
</a>
</figure>
<figure>
<a title="Нанесение логотипа на папки" class="touchTouch-img" href="https://update.lik-astana.kz/images/stories/virtuemart/product/tisnenie_na_papkah_dly_schetov1.jpg">
<img src="/images/stories/virtuemart/product/resized/tisnenie_na_papkah_dly_schetov1_200x200.jpg" alt="Нанесение логотипа на папки">
</a>
</figure>
<figure>
<a title="Ежедневник с эмблемой" class="touchTouch-img" href="https://update.lik-astana.kz/images/stories/virtuemart/product/ezhednevnik_s_logotipom.jpg">
<img src="/images/stories/virtuemart/product/resized/ezhednevnik_s_logotipom_200x200.jpg" alt="Ежедневник с эмблемой">
</a>
</figure>
<figure>
<a title="Красный ежедневник с логотипом" class="touchTouch-img" href="https://update.lik-astana.kz/images/stories/virtuemart/product/Red_diary_with_logo.jpg">
<img src="/images/stories/virtuemart/product/resized/Red_diary_with_logo_200x200.jpg" alt="Красный ежедневник с логотипом">
</a>
</figure>
<figure>
<a title="Ежедневник с тиснением" class="touchTouch-img" href="https://update.lik-astana.kz/images/stories/virtuemart/product/egednevnik_s_tisneniem.jpg">
<img src="/images/stories/virtuemart/product/resized/egednevnik_s_tisneniem_200x200.jpg" alt="Ежедневник с тиснением">
</a>
</figure>
<figure>
<a title="Тиснение на ежедневниках без фольги" class="touchTouch-img" href="https://update.lik-astana.kz/images/stories/virtuemart/product/tisnenie_bez_folgi.jpg">
<img src="/images/stories/virtuemart/product/resized/tisnenie_bez_folgi_200x200.jpg" alt="Тиснение на ежедневниках без фольги">
</a>
</figure>
<figure>
<a title="Печать на ежедневниках" class="touchTouch-img" href="https://update.lik-astana.kz/images/stories/virtuemart/product/pechat_na_egednevnikah.jpg">
<img src="/images/stories/virtuemart/product/resized/pechat_na_egednevnikah_200x200.jpg" alt="Печать на ежедневниках">
</a>
</figure>
<script type="text/javascript">
$('.peppermint').Peppermint({
dots: true,
slideshow: true,
speed: 500,
slideshowInterval: 5000,
stopSlideshowAfterInteraction: true,
onSetup: function(n) {
console.log('Peppermint setup done. Slides found: ' + n);
}
});
</script>
<script src="https://update.lik-astana.kz/templates/lik-astana/peppermint/peppermint.min.js" async=""></script>
<link rel="stylesheet" href="https://update.lik-astana.kz/templates/lik-astana/peppermint/peppermint.required.css" type="text/css">
<link rel="stylesheet" href="https://update.lik-astana.kz/templates/lik-astana/peppermint/peppermint.suggested.css" type="text/css">
</div>
Документацию взял тут https://wd.dizaina.net/scripts/peppermint/
Если взять готовый https://github.com/wilddeer/Peppermint и запустить тестовый то он тоже не работает
|
|
19.10.2019, 09:31
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Подключать плагин нужно же раньше, чем использовать его так ведь? Код строки 60 должен быть до строки 48.
|
|
|
|