|
|
|
| Суть ошибки понятна - нельзя делить на ноль, но я не могу словить когда она возникает. На строки 3 и 4 ругается. Прошу помощи. Задача - расставить всем товарным блокам одинаковый отступ друг от друга, начиная со второго блока.
width - ширина слайдера клиента получаемая скриптом, зависит от ширины экрана
block - вычисляемое количество товарных блоков в слайдере на 1 пролист
158 - ширина 1-го товарного блока
margin - значение которое мы должны раскинуть на отступы между товарными блоками
$block = floor($width/158);
$margin = $width - ($block*158);
$DeltaMid = floor($margin/($block-1));
$Delta = $margin%($block-1);
$ArrayDelta[] = 0;
for($i=0;$i<$block-1;$i++){
if ($Delta > 0){
$ArrayDelta[] = $DeltaMid + 1;
$Delta = $Delta - 1;
}else{
$ArrayDelta[] = $DeltaMid;
}
}
|
в итоге я получаю массив в котором записаны значения отступов каждого товарного блока друг от друга, т. е. на разрешении в 1024 пикс по ширине, width слайдера равен 650, block из расчета будет 4, margin равен 18, первому товарному блоку ставим всегда 0......массив будет содержать: 0, 6, 6, 6
в другом случае если margin не будет делится на цело на кол. товарных блоков, то массив может быть такого вида: 0 6 5 5 | |
|
|
|
|
|
|
|
для: TetRiska
(09.04.2012 в 14:13)
| | ну так если у вас $width в диапазоне 158-315, то и ($block-1)==0 получается. | |
|
|
|
|
|
|
|
для: Lotanaen
(09.04.2012 в 14:32)
| | и точно, спасибо большое | |
|
|
|
|
|
|
|
для: TetRiska
(09.04.2012 в 14:13)
| | А почему не CSS или на худой конец TABLE? | |
|
|
|