Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/29: Рейтинг темы: голосов - 29, средняя оценка - 4.93
5 / 5 / 4
Регистрация: 26.08.2010
Сообщений: 262

Автоматическая прокрутка картинок по горизонтали

26.09.2017, 19:40. Показов 5730. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть слайдер картинок. при нажатии на кнопку "Play" картинки начинают прокручиваться. Интересует вопрос: Как сделать чтобы картинки прокручивались автоматически без нажатия на кнопку "Play".

Вот код скрипта:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
jQuery(document).ready(function(){
    function htmSlider(){
        /* Зададим следующие переменные */
 
        /* обертка слайдера */
        var slideWrap = jQuery('.slide-wrap');
        /* ссылки на предудыщий иследующий слайд */
        var nextLink = jQuery('.next-slide');
        var prevLink = jQuery('.prev-slide');
 
        var playLink = jQuery('.auto');
        
        var is_animate = false;
        
        /* ширина слайда с отступами */
        var slideWidth = jQuery('.slide-item').outerWidth();
        
        /* смещение слайдера */
        var newLeftPos = slideWrap.position().left - slideWidth;
        
        /* Клик по ссылке на следующий слайд */
        nextLink.click(function(){
            if(!slideWrap.is(':animated')) {
    
                slideWrap.animate({left: newLeftPos}, 500, function(){
                    slideWrap
                        .find('.slide-item:first')
                        .appendTo(slideWrap)
                        .parent()
                        .css({'left': 0});
                });
 
            }
        });
 
        /* Клик по ссылке на предыдующий слайд */
        prevLink.click(function(){
            if(!slideWrap.is(':animated')) {
            
                slideWrap
                    .css({'left': newLeftPos})
                    .find('.slide-item:last')
                    .prependTo(slideWrap)
                    .parent()
                    .animate({left: 0}, 500);
 
            }
        });
        
        
        /* Функция автоматической прокрутки слайдера */
        function autoplay(){
            if(!is_animate){
                is_animate = true;
                slideWrap.animate({left: newLeftPos}, 5000, function(){
                    slideWrap
                        .find('.slide-item:first')
                        .appendTo(slideWrap)
                        .parent()
                        .css({'left': 0});
                    is_animate = false;
                });
            }
        }
        
        /* Клики по ссылкам старт/пауза */
        playLink.click(function(){
            if(playLink.hasClass('play')){
                playLink.removeClass('play').addClass('pause');
                jQuery('.navy').addClass('disable');
                timer = setInterval(autoplay, 1000);
            } else {
                playLink.removeClass('pause').addClass('play');
                jQuery('.navy').removeClass('disable');
                clearInterval(timer);
            }
        });
 
    }
 
    /* иницилизируем функцию слайдера */
    htmSlider();
});
Это код файла html
<!Doctype HTML>
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
        <link rel="stylesheet" type="text/css" href="slider.css" media="all">
</head>
 
<body>
 
<div id="main">
    
    
    <div class="slider">
        <div class="slide-list">
            <div class="slide-wrap">
                <div class="slide-item">
                    <img width="280" height="187" src="img/img-1.jpg" alt="" />
                    <span class="slide-title">Первый слайд</span>
                </div>
                <div class="slide-item">
                    <img width="280" height="187" src="img/img-2.jpg" alt="" />
                    <span class="slide-title">Ну просто очень длинное название второго слайда</span>
                </div>
                <div class="slide-item">
                    <img width="280" height="187" src="img/img-3.jpg" alt="" />
                    <span class="slide-title">Третий слайд</span>
                </div>
                <div class="slide-item">
                    <img width="280" height="187" src="img/img-4.jpg" alt="" />
                    <span class="slide-title">Четвертый слайд</span>
                </div>
                <div class="slide-item">
                    <img width="280" height="187" src="img/img-5.jpg" alt="" />
                    <span class="slide-title">Пятый слайд</span>
                </div>
                
                
            </div>
            <div class="clear"></div>
        </div>
        <div class="navy prev-slide"></div>
        <div class="navy next-slide"></div>
        <div class="auto play"></div>
    </div>
    
 
</div>
 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script src="slider.js"></script>
 
</body>
</html>
А это CSS
CSS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
/* = Общие стили HTM */
body {
    padding: 0 0 50em 0;
    margin: 0;
    font: 14px/1.8 Helvetica;
    color: #444;
    background-color: #dbdbdb;
}
a {text-decoration: none;}
 
header {
    display: block;
    position: relative; 
    margin: 0; 
    background: #f9f9f9;
}       
.back { font:normal 3em 'Agency FB'; color: #0074A3; position:absolute; top: 10px; right: 10%;}
.back:hover {text-decoration: underline;}
h1 {margin: 0 0 0 2em;}
h1 a { display: inline-block; font: normal 3em 'Agency FB'; text-decoration: none; }
.how { color: #990000; }
.to { color: #0074A3; }
.make { color: #006600; }
.demo { font: normal 2em 'Agency FB';}
 
/* main */
#main {
    width: 94%;
    padding: 1% 3%;
    
}
#main h1 { 
    text-align: center;
    font: 2em Helvetica; 
    margin: 20px 0 10px 0;
    padding-bottom: 15px;
    border-bottom: 2px solid #444444; 
}
/* Задаем сброс обтекания */
.clear {
    margin-top: -1px;
    height: 1px;
    clear:both;
    zoom: 1;
}       
/* Slider */
.slider {
    /* Ширина контейнера */
    width: 900px;
    /* Внешние тступы сверху и снизу */
    margin: 50px auto;
    /* Внутренние отступы для ссылок navy */
    padding: 0 30px;
    /* Позиционирование */
    position: relative;
    /* Скроем то что выходит за границы */
    overflow: hidden;
}
/* Двойной клик по ссылкам вперед/назад вызывает выделение всех элементов слайдера,
поэтому предотвращаем это */
.slider::-moz-selection { background: transparent; color: #fff; text-shadow: none; }
.slider::selection { background: transparent; color: #fff; text-shadow: none; }
 
.slide-list {
    position: relative;
    margin: 0;
    padding: 0;
}
.slide-wrap {
    position: relative;
    left: 0px;
    top: 0;
    /* максимально возможная ширина обертки слайдера */
    width: 10000000px;
}
.slide-item {
    /* Ширина слайда */
    width: 280px;
    /* Внутренние отступы */
    padding: 10px;
    /* Обтекание */
    float: left;
}
.slide-title {
    /* Шрифт */
    font: bold 16px monospace;
    /* Указываем, что элемент блочный */
    display: block;
}
 
/* навигация вперед/назад */
.navy {
    /* абсолютное позиционирование */
    position: absolute;
    top: 0;
    z-index: 1;
    height: 100%;
    /* ширина ссылок */
    width: 30px;
    cursor: pointer;
}
.prev-slide {
    left: 0;
    background: #dbdbdb url(bg/left-arrow.png) 11px 40% no-repeat;
}
.next-slide {
    right: 0;
    background: #dbdbdb url(bg/right-arrow.png) 13px 40% no-repeat;
}
.navy.disable {
    background: #dbdbdb;
}
 
/* навигация старт/пауза */
.auto {
    width: 7px;
    height: 11px;
    cursor: pointer;
    margin: 10px auto;
}
.play {
    background: url(bg/play.png) center no-repeat;
}
.pause {
    background: url(bg/pause.png) center no-repeat;
}
Буду очень благодарен за помощь.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.09.2017, 19:40
Ответы с готовыми решениями:

JS Слайд прокрутка по горизонтали и по вертикали
И снова я Задача вот в чем. Для начала пример, какая прокрутка требуется - http://webdesigntutsplus.s3.amazonaw...src/index.html Нажал...

Автоматическая прокрутка слайдера
Как сделать автоматическую прокрутку слайдера? Я не пойму что здесь за нее отвечает. Хромают знания Js. И еще хотелось бы узнать как из...

Автоматическая прокрутка вниз блока
привет всем))) помогите кто знает или догадывается! у меня есть div, в котором списком размещаются ссылки на статьи, этот блок имеет...

1
Всегда онлайн
 Аватар для MrOnlineCoder
1084 / 788 / 295
Регистрация: 07.04.2013
Сообщений: 2,703
27.09.2017, 00:04
demiancz, на 78 строке попробуйте добавить:
JavaScript
1
2
3
timer = setInterval(autoplay, 1000);
playLink.removeClass('pause').addClass('play');
jQuery('.navy').removeClass('disable');
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.09.2017, 00:04
Помогаю со студенческими работами здесь

Автоматическая прокрутка содержимого блока
Доброго времени суток. Пишу мини чат, так сказать для саморазвития и личный нужд. Реализован блоками, в которые подружаются по таймеру...

Автоматическая прокрутка формы до нужной точки
Дано: некоторая многострочная табличная форма, в строках формы создаю тэги типа NameAnchor &lt;a...

Срабатывает автоматическая прокрутка вверх страницы
Добрый день! Подскажите скрипт, что-бы при переходе на другие страницы, не срабатывала автоматическая прокрутка в начало страницы? ...

DataGridRowHeader и прокрутка по горизонтали
добрый день, форумчане. продолжаю допиливать свой датагрид из темы Многоуровневые столбцы DataGrid как видно из скринов, у меня...

Прокрутка по горизонтали и по вертикали одновременно
Поддерживает ли Android прокрутку по вертикали и по горизонтали одновременно? Если да, то как это сделать? В ScrollView можно только одну...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru