С Новым годом! Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
 Аватар для EvilDoom
0 / 0 / 0
Регистрация: 07.02.2013
Сообщений: 62

Скрипт смены картинок

08.09.2014, 15:20. Показов 1884. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите чего не хватает в скрипте для смены допустим 5 изображений, и что бы они повторялись по кругу, вот скрипт:
JavaScript
1
2
3
4
5
<script>
function changeBg(){
document.getElementById("div_id").style.backgroundImage='url(images/slider/2.jpg)';
}
</script>
JavaScript
1
<body onLoad="setTimeout('changeBg()',2000);">
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.09.2014, 15:20
Ответы с готовыми решениями:

Скрипт смены картинок
Подскажите. На одной странице сайта нужно сделать несколько слайдшоу. Перепробовал многие скрипты. Но все они работали только для одного...

Скрипт плавной смены картинок при нажатии
Добрый народ! Помогите! Нужен скрипт, который бы плавно сменял изображения при нажатия на ссылки, которые прописаны в ручную. И после...

Скрипт смены изображений
Нашел скрипт смены изображений, но он все фотки отображает в одном размере. Подскажите какие еще бывают скрипты смены фото?

14
z-z
170 / 169 / 56
Регистрация: 22.06.2011
Сообщений: 980
08.09.2014, 19:57
EvilDoom,

JavaScript
1
2
3
4
5
var images = ["1.jpg", "2.jpg", "3.jpg"], num = 0; // в массиве перечисляем любые названия картинок
function changeBg(){
    document.getElementById("div_id").style.backgroundImage='url(images/slider/'+images[num]+')';
    if(++num == images.length) num = 0;
}
HTML5
1
<body onLoad="setTimeout('changeBg()',2000);">
1
 Аватар для EvilDoom
0 / 0 / 0
Регистрация: 07.02.2013
Сообщений: 62
08.09.2014, 20:25  [ТС]
меняет только один раз на самую первую картинку которая идет в массиве
0
Модератор
 Аватар для Thisman
771 / 352 / 142
Регистрация: 17.07.2013
Сообщений: 992
08.09.2014, 21:17
EvilDoom,


JavaScript
1
2
document.getElementById("div_id").style.backgroundImage='url(images/slider/'+images[num]+')'; // замени на
document.getElementById("div_id").style.backgroundImage='url(images/slider/'+images[num++]')';
Добавлено через 2 минуты
Цитата Сообщение от z-z Посмотреть сообщение
if(++num == images.length)
достаточного одного плюсика. И надо проверять в начале... вообще вот:

JavaScript
1
2
3
4
5
6
7
8
var images = ["1.jpg", "2.jpg", "3.jpg"], num = 0;
var img = document.getElementById("div_id");
 
function changeBg(){
    num++;
    if(num == images.length) num = 0; //num и так имеет тип Number
    img.style.backgroundImage='url(images/slider/'+images[num]')';
}
Добавлено через 3 минуты
Цитата Сообщение от EvilDoom Посмотреть сообщение
<body onLoad="setTimeout('changeBg()',2000);">
Советуют вроде все равно оборачивать в анонимную функцию:

HTML5
1
<body onLoad="setTimeout(function () { changeBg() },2000);">
1
z-z
170 / 169 / 56
Регистрация: 22.06.2011
Сообщений: 980
08.09.2014, 21:42
Thisman,
Цитата Сообщение от Thisman Посмотреть сообщение
if(++num == images.length)
достаточного одного плюсика. И надо проверять в начале... вообще вот:
++ у меня - увеличение переменной, а не приведение типа))

И могу ошибаться, но вроде как при вызове функции по ее названию через setTimeout скобки после названия не нужны) то есть вот так должно выглядеть (если без оборачивания)

HTML5
1
<body onLoad="setTimeout(changeBg, 2000);">
1
Модератор
 Аватар для Thisman
771 / 352 / 142
Регистрация: 17.07.2013
Сообщений: 992
08.09.2014, 21:46
z-z,
Цитата Сообщение от z-z Посмотреть сообщение
++ у меня - увеличение переменной, а не приведение типа))
Че-т попутал с унарным плюсом и подумал, что он это хочет. В данном случае нет разницы, впереди или сзади ++
0
 Аватар для EvilDoom
0 / 0 / 0
Регистрация: 07.02.2013
Сообщений: 62
08.09.2014, 22:30  [ТС]
в этом скрипте:
JavaScript
1
2
3
4
5
6
7
8
var images = ["1.jpg", "2.jpg", "3.jpg"], num = 0;
var img = document.getElementById("div_id");
 
function changeBg(){
    num++;
    if(num == images.length) num = 0; //num и так имеет тип Number
    img.style.backgroundImage='url(images/slider/'+images[num]')';
}
двимвивер выдает ошибку в этой строке:
JavaScript
1
img.style.backgroundImage='url(images/slider/'+images[num]')';
поставил + после [num]'+, ошибка пропала но картинки не меняются вообще


Это тоже установил:
JavaScript
1
onLoad="setTimeout(function () { changeBg() },2000);"
не но работает

может установить какой нибудь скрипт из ваших примеров и дать сайт? что бы через файрбаг допустим затестить?
0
5 / 5 / 2
Регистрация: 08.09.2014
Сообщений: 16
08.09.2014, 22:42
EvilDoom, попробуй
JavaScript
1
img.style.backgroundImage='url(images/slider/'+images[num]')';
заменить на
JavaScript
1
img.style.backgroundImage="url(images/slider/"+images[num]);
0
 Аватар для EvilDoom
0 / 0 / 0
Регистрация: 07.02.2013
Сообщений: 62
08.09.2014, 22:56  [ТС]
тоже не хочет

Добавлено через 9 минут
JavaScript
1
2
3
4
5
<script>
function changeBg(){
document.getElementById("div_id").style.backgroundImage='url(images/slider/2.jpg)';
}
</script>
JavaScript
1
2
3
4
5
var images = ["1.jpg", "2.jpg", "3.jpg"], num = 0; // в массиве перечисляем любые названия картинок
function changeBg(){
    document.getElementById("div_id").style.backgroundImage='url(images/slider/'+images[num]+')';
    if(++num == images.length) num = 0;
}
Эти 2 скрипты работают но меняют только 1 изображение, чего то им не хватает
0
Модератор
 Аватар для Thisman
771 / 352 / 142
Регистрация: 17.07.2013
Сообщений: 992
08.09.2014, 23:34
EvilDoom,

JavaScript
1
2
3
4
5
6
7
8
9
var images = ["1.jpg", "2.jpg", "3.jpg"];
var img = document.getElementById("div_id");
var i = 0;
 
function changeBg() {
    if(i == images.length) i = 0;
    img.style.backgroundImage = "url("+ images[i] +")";
    i++;
}
HTML5
1
<body onload = " setInterval(changeBg,1000) ">
Проверил, должно работать
1
 Аватар для EvilDoom
0 / 0 / 0
Регистрация: 07.02.2013
Сообщений: 62
08.09.2014, 23:57  [ТС]
тоже нет
вот сайт, меняется в шапке картинки
http://lux-kadr.ru/test/
0
Модератор
 Аватар для Thisman
771 / 352 / 142
Регистрация: 17.07.2013
Сообщений: 992
09.09.2014, 00:01
EvilDoom, естественно, потому что у вас скрипт выполняется раньше, чем появляется элемент с id div_id, поместите код ниже строки

HTML5
1
<div id="div_id" class="slider_cont" style="background-image:url(images/slider/1.jpg);">
Добавлено через 15 секунд
Лучше вообще в самый конец, перед закрытием body
1
 Аватар для EvilDoom
0 / 0 / 0
Регистрация: 07.02.2013
Сообщений: 62
09.09.2014, 14:53  [ТС]
да, теперь все отлично работает, спс

Добавлено через 14 часов 42 минуты
А реально добавить какой нибудь эффект при смене изображений?
Типа:
JavaScript
1
.fadeTo
или
JavaScript
1
.slideToggle
0
z-z
170 / 169 / 56
Регистрация: 22.06.2011
Сообщений: 980
09.09.2014, 15:26
EvilDoom, изменить прозрачность не получится, если только не класть отдельный div с этим фоном и менять у него opacity...

а вот подвигать фон вполне себе можно, для этого есть стиль background-position, который нужно менять скриптом или тем же css.

однако есть проблемы. Так как это один фон, то придется в фоне класть две картинки, позиционировать их по умному, потом двигать, затем удалять одну из них и добавлять новую... Вобщем постоянно нужно оперировать двумя картинками в фоне.
1
 Аватар для EvilDoom
0 / 0 / 0
Регистрация: 07.02.2013
Сообщений: 62
09.09.2014, 15:28  [ТС]
ок, спс
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.09.2014, 15:28
Помогаю со студенческими работами здесь

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

Скрипт для картинок
Доброго времени суток. Нужен скрипт для картинок, чтоб при нажатии они открывались с описанием как на сайте http://art-avon.com/ или...

Скрипт вывода картинок не работает
Вот, казалось бы элементарнейший скрипт: &lt;html&gt; &lt;head&gt; &lt;meta http-equiv='Content-Type' content='text/html;...

Toggle class для смены картинок
Здравствуйте, хочу тогглить класс, но не получается, почему? Класс добавляется, но изменения не происходят. &lt;div...

Как установить время смены картинок слайдера?
Добрый день. Установила на сайт плагин слайдера на jQuery. &lt;body class=&quot;news-demo&quot;&gt; &lt;h1&gt;jQuery Vertical News...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru