Перейти к содержанию
hon2012

Глюк с каруселью стандартной.

Рекомендуемые сообщения

Возможно кто-нибудь сталкивался: Стандартная карусель движка, в ней немало картинок и при загрузке страницы с каруселью, пока она полностью не загрузилась картинки из карусели выстраиваются вертикально и рядом с каждой картинкой небольшая черная точка.

 

В какую сторону копать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Загружать картинки со стилем style='display: none'. После полной загрузки страницы скриптом включать отображение.

 

Примерно так (для баннеров, файл catalog\view\theme\default\template\module\banner.tpl):

...
<div id="banner<?php echo $module; ?>" class="banner">
  <?php foreach ($banners as $banner) { ?>
  <?php if ($banner['link']) { ?>
  <div style='display: none; align: right'><a href="<?php echo $banner['link']; ?>"><img src="<?php echo $banner['image']; ?>" alt="<?php echo $banner['title']; ?>" title="<?php echo $banner['title']; ?>" /></a></div>
  <?php } else { ?>
  <div style='display: none; align: right'><img src="<?php echo $banner['image']; ?>" alt="<?php echo $banner['title']; ?>" title="<?php echo $banner['title']; ?>" /></div>
  <?php } ?>
  <?php } ?>
</div>
    </td>
  </tr>
</table>

<script type="text/javascript"><!--
$(document).ready(function() {
$('#banner<?php echo $module; ?> div:first-child').css('display', 'block');
});

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

Загружать картинки со стилем style='display: none'. После полной загрузки страницы скриптом включать отображение.

 

Примерно так (для баннеров, файл catalog\view\theme\default\template\module\banner.tpl):

...
<div id="banner<?php echo $module; ?>" class="banner">
  <?php foreach ($banners as $banner) { ?>
  <?php if ($banner['link']) { ?>
  <div style='display: none; align: right'><a href="<?php echo $banner['link']; ?>"><img src="<?php echo $banner['image']; ?>" alt="<?php echo $banner['title']; ?>" title="<?php echo $banner['title']; ?>" /></a></div>
  <?php } else { ?>
  <div style='display: none; align: right'><img src="<?php echo $banner['image']; ?>" alt="<?php echo $banner['title']; ?>" title="<?php echo $banner['title']; ?>" /></div>
  <?php } ?>
  <?php } ?>
</div>
    </td>
  </tr>
</table>

<script type="text/javascript"><!--
$(document).ready(function() {
$('#banner<?php echo $module; ?> div:first-child').css('display', 'block');
});

 

 

Подскажите пжл, у меня эта проблема с опциями типа "Изображение" - я их поместил в карусель. Пробовал по аналогии сделать у себя - не получается.

 

Вот так выглядит кусок кода в файле product.tpl

<?php if ($option['type'] == 'image') { ?>

<div id="option-<?php echo $option['product_option_id']; ?>" class="option">

<b><?php echo $option['name']; ?>:</b><br />

<div id="carousel-op">

<ul class="jcarousel-skin-opencart">

<?php foreach ($option['option_value'] as $option_value) { ?>

<li class="optionimage">

<input type="radio"name="option[<?php echo $option['product_option_id']; ?>]" points="<?php /* Related Options / Связанные опции << */ echo isset($option_value['points_value']) ? $option_value['points_value'] : ''; /* >> Related Options / Связанные опции */ ?>" price_prefix="<?php echo $option_value['price_prefix']; ?>" price="<?php /* Related Options / Связанные опции << */ echo isset($option_value['price_value']) ? $option_value['price_value'] : ''; /* >> Related Options / Связанные опции */ ?>" value="<?php echo $option_value['product_option_value_id']; ?>" id="option-value-<?php echo $option_value['product_option_value_id']; ?>" onchange="recalculateprice(<?php echo $option_value['product_option_value_id']; ?>);" />

<label for="option-value-<?php echo $option_value['product_option_value_id']; ?>" data-title="<?php echo $option_value['name']; ?>"><img src="<?php echo $option_value['image']; ?>" />

<i></i>

</label><br />

<label for="option-value-<?php echo $option_value['product_option_value_id']; ?>"><?php echo $option_value['name']; ?></label>

</li>

<?php } ?>

</ul>

</div>

</div>

<?php } ?>

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Попробуйте так (не тестировал):

 

<?php if ($option['type'] == 'image') { ?>
<div id="option-<?php echo $option['product_option_id']; ?>" class="option">


  <b><?php echo $option['name']; ?>:</b><br />
  <div id="carousel-op">
    <ul id="bannerbanner" class="jcarousel-skin-opencart">
<?php foreach ($option['option_value'] as $option_value) { ?>
      <li class="optionimage">
        <input type="radio"name="option[<?php echo $option['product_option_id']; ?>]" points="<?php /* Related Options / Связанные опции << */ echo isset($option_value['points_value']) ? $option_value['points_value'] : ''; /* >> Related Options / Связанные опции */ ?>" price_prefix="<?php echo $option_value['price_prefix']; ?>" price="<?php /* Related Options / Связанные опции << */ echo isset($option_value['price_value']) ? $option_value['price_value'] : ''; /* >> Related Options / Связанные опции */ ?>" value="<?php echo $option_value['product_option_value_id']; ?>" id="option-value-<?php echo $option_value['product_option_value_id']; ?>" onchange="recalculateprice(<?php echo $option_value['product_option_value_id']; ?>);" />
        <label for="option-value-<?php echo $option_value['product_option_value_id']; ?>" 
 style='display: none' 
 data-title="<?php echo $option_value['name']; ?>"><img src="<?php echo $option_value['image']; ?>" />
          <i></i>
        </label><br />
        <label for="option-value-<?php echo $option_value['product_option_value_id']; ?>"><?php echo $option_value['name']; ?>
</label>
      </li>
<?php } ?>
    </ul>
  </div>


</div>
<?php } ?>


<script type="text/javascript"><!--
$(document).ready(function() {
$('#bannerbanner').css('display', 'block');
});
...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

Попробуйте так (не тестировал):

 

<?php if ($option['type'] == 'image') { ?>
<div id="option-<?php echo $option['product_option_id']; ?>" class="option">


  <b><?php echo $option['name']; ?>:</b><br />
  <div id="carousel-op">
    <ul id="bannerbanner" class="jcarousel-skin-opencart">
<?php foreach ($option['option_value'] as $option_value) { ?>
      <li class="optionimage">
        <input type="radio"name="option[<?php echo $option['product_option_id']; ?>]" points="<?php /* Related Options / Связанные опции << */ echo isset($option_value['points_value']) ? $option_value['points_value'] : ''; /* >> Related Options / Связанные опции */ ?>" price_prefix="<?php echo $option_value['price_prefix']; ?>" price="<?php /* Related Options / Связанные опции << */ echo isset($option_value['price_value']) ? $option_value['price_value'] : ''; /* >> Related Options / Связанные опции */ ?>" value="<?php echo $option_value['product_option_value_id']; ?>" id="option-value-<?php echo $option_value['product_option_value_id']; ?>" onchange="recalculateprice(<?php echo $option_value['product_option_value_id']; ?>);" />
        <label for="option-value-<?php echo $option_value['product_option_value_id']; ?>" 
 style='display: none' 
 data-title="<?php echo $option_value['name']; ?>"><img src="<?php echo $option_value['image']; ?>" />
          <i></i>
        </label><br />
        <label for="option-value-<?php echo $option_value['product_option_value_id']; ?>"><?php echo $option_value['name']; ?>
</label>
      </li>
<?php } ?>
    </ul>
  </div>


</div>
<?php } ?>


<script type="text/javascript"><!--
$(document).ready(function() {
$('#bannerbanner').css('display', 'block');
});
...

 

 

Отписался в ЛС

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.