Метод attr
из библиотеки jQuery работает с атрибутами для HTML-элементов:
<img src="..." alt="...">
В этом случае src
и alt
являются "атрибутами".
bxSlider настраивается путем предоставления функции bxSlider
массива.Вы не можете изменить этот массив после того, как он был передан в функцию.
То, что вы можете сделать, чтобы переключить авто-шоу, это использовать функцию stopShow()
bxSlider.Чтобы, вероятно, сделать это, вам нужно сохранить созданный вами экземпляр bxSlider:
var slider = jQuery('#slider2').bxSlider({
...
});
Таким образом, вы можете затем вызвать функцию для этого объекта:
slider.stopShow();
Делая это сPHP и JavaScript в смешанном виде (как вы и предлагали) уродливы и их следует избегать.
Вместо этого вам следует использовать решение только для JavaScript:
var slider = jQuery('#slider2').bxSlider({
auto: true,
...
});
if (slider.getSlideCount() < 5){
slider.stopShow();
}
Обратите внимание, что getSlideCount()
возвращает количество слайдов, которое не гарантируется как количество изображений в галерее!Количество одновременно отображаемых слайдов можно установить с помощью атрибута displaySlideQty
.Однако значение по умолчанию равно 1.
Появляется ошибка, из-за которой startShow
и stopShow
-функции не работают: https://github.com/wandoledzep/bxslider/pull/43
Как грязныйОбходной путь, вы можете сделать что-то вроде этого:
<?php
echo "<script type=\"text/javascript\">
jQuery('#slider2').bxSlider({
pause: 4000,
autoControls: true,
displaySlideQty: 4,";
if($prom_count >= 5) echo "auto: true,";
echo "moveSlideQty: 1
});
</script>";
?>