Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Изменение размеров слайдера-карусели (https://javascript.ru/forum/jquery/29963-izmenenie-razmerov-slajjdera-karuseli.html)

Heidel 19.07.2012 10:34

Изменение размеров слайдера-карусели
 
На странице сделан слайдер, но он вылезает за границы страницы, и крайние пункты слева и справа обрезаются.
http://strdv.inetech.ru/
Где нужно поменять размеры, чтобы всё выводилось по размеру страницы?

zlodeeev 19.07.2012 10:39

.page_margins {
width: auto;
min-width: 960px;
max-width: 1000px;
overflow:hidden; <-- добавлено
}

Deff 19.07.2012 10:51

Heidel,
Вот что то такое - добавьте на страницу
<style type="text/css">
div.jcarousel-clip.jcarousel-clip-horizontal{
    display:inline-block;
    position: relative;
    overflow: hidden;
width: 100%!important;
}
</style>

Heidel 19.07.2012 11:03

Deff,
Если у меня такой код
<div class='subcolumns'>
<ul id='mycarousel' class='jcarousel-skin-tango'>

<li>
<div class='c25l'>
  <div class='subcl'>
    <div class='article'>

<a href='/catalogue/catalogue_37.html'><img src='/netcat_files/103/66/article5_0.png' height='100' width='182' alt='Товар 9' /></a>
<p>Краткое описание товара</p>
    </div>
  </div>
</div>
</li>

(пунктов <li> естественно не один, дивы закрываются)
то это к какому диву мне надо применить эти стили?

Deff 19.07.2012 11:08

Heidel,
Ни наю - код что дал к выложенной ссылке

Heidel 19.07.2012 11:08

А, всё, разобралась, к
<div class='subcolumns'>

эти стили применить надо

Heidel 19.07.2012 11:18

И еще вопрос, по той же странице.
Мне нужно вывести два слайдера, в оба слайдера выводятся разделы из одного и того же каталога.
А получается так, как сейчас http://strdv.inetech.ru/index/
Первый слайдер выводится как надо, а второй нет.
В чем проблема, я не могу понять. Слайдеры совершенно одинаковые.
Для второго слайдера нужно задать другое имя или что?

zlodeeev 19.07.2012 11:21

Вот эту функцию надо повторить для второго слайдера
jQuery(document).ready(function() {
    jQuery('#mycarousel_1').jcarousel({
        auto: 2,
        wrap: "circular",
        scroll: 1,
        visible: 4,
        animation: 5000,
        initCallback: mycarousel_initCallback
    });

Deff 19.07.2012 11:21

Heidel,
Я думаю что для каждой карусели нужна своя функция инициализации и разные имена
#mycarousel_1 #mycarousel_2

Heidel 19.07.2012 11:55

Чё-т не работает (
Оба слайдера не работают(
Получается как сейчас - они выведены, но карусель к ним не цепляется.

Вот такой код скрипта
<-- Первый слайдер -->

function mycarousel_initCallback(carousel)
{
    // Disable autoscrolling if the user clicks the prev or next button.
    carousel.buttonNext.bind('click', function() {
        carousel.startAuto(0);
    });

    carousel.buttonPrev.bind('click', function() {
        carousel.startAuto(0);
    });

    // Pause autoscrolling if the user moves with the cursor over the clip.
    carousel.clip.hover(function() {
        carousel.stopAuto();
    }, function() {
        carousel.startAuto();
    });
};

jQuery(document).ready(function() {
    jQuery('#mycarousel_1').jcarousel({
        auto: 2,
        wrap: \"circular\",
        scroll: 1,
        visible: 4,
        animation: 5000,
        initCallback: mycarousel_initCallback
    });
});

<-- Второй слайдер -->

jQuery(document).ready(function() {
    jQuery('#mycarousel_2').jcarousel({
        auto: 2,
        wrap: \"circular\",
        scroll: 1,
        visible: 4,
        animation: 5000,
        initCallback: mycarousel_initCallback
    });
});

</script>

zlodeeev 19.07.2012 11:57

<-- Первый слайдер -->

function mycarousel_initCallback(carousel)
{
    // Disable autoscrolling if the user clicks the prev or next button.
    carousel.buttonNext.bind('click', function() {
        carousel.startAuto(0);
    });

    carousel.buttonPrev.bind('click', function() {
        carousel.startAuto(0);
    });

    // Pause autoscrolling if the user moves with the cursor over the clip.
    carousel.clip.hover(function() {
        carousel.stopAuto();
    }, function() {
        carousel.startAuto();
    });
};

jQuery(document).ready(function() {
    jQuery('#mycarousel_1').jcarousel({
        auto: 2,
        wrap: \"circular\",
        scroll: 1,
        visible: 4,
        animation: 5000,
        initCallback: mycarousel_initCallback
    });

<-- Второй слайдер -->

    jQuery('#mycarousel_2').jcarousel({
        auto: 2,
        wrap: \"circular\",
        scroll: 1,
        visible: 4,
        animation: 5000,
        initCallback: mycarousel_initCallback
    });
});

</script>

Heidel 19.07.2012 12:05

zlodeeev, да это уже мелочи, как расписать функции, по отдельности каждую или в одной, но да, так компактнее конечно.

Heidel 19.07.2012 12:11

А, всё, простите, была дурацкая ошибка, не правильно закрыла коммент.
И еще, один маааалюсенький последний вопрос.
В оба слайдера выводятся пункты из одного и того же каталога. Можно ли как-нибудь сделать, чтобы второй слайдер начинал прокручиваться с другого пункта или брал их начиная с другого номера или в рандомном порядке, ну то есть, чтобы в слайдерах крутились разные картинки?

zlodeeev 19.07.2012 12:19

Ну как вариант написать scroll побольше, пусть листает по 4 элемента, а верхний по одному

Heidel 19.07.2012 12:21

zlodeeev, нэ, цэ будет некрасиво. Красиво, чтобы они двигались параллельно, но с разными пунктами.
Подскажите, каким параметром это можно отрегулировать.

zlodeeev 19.07.2012 12:33

offset - The index of the first available item at initialisation. // Индекс первого инициализированного элемента

start - The index of the item to start with. //Индекс элемента для начала карусели

rtl: true - будет крутить справа-налево.

Играйтесь)

Heidel 19.07.2012 12:35

Да, всё оказалось просто:
прописать
start: 1 для первой карусели
и
start: 3 для первой карусели
и вуаля!)


Часовой пояс GMT +3, время: 23:01.