Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 25.08.2016
Сообщений: 3

Циклическая смена фона. Можно ли упростить?

25.08.2016, 23:41. Показов 1839. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
За все время обучения, веб-разработку преподавали на уровне основ. Поэтому сейчас, пытаясь попробовать себя во всех областях, столкнулся с некоторыми трудностями. Одним словом, нужно реализовать смену фона через определенное время, причем алгоритм должен работать для любого количества картинок. Используя литературу, а так же ресурсы нета было получено:

index.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
<!DOCTYPE html>
 
<head>
 
    <title>themelock.com</title>
 
    <!-- CSS -->    
    <link href="css/style.css" rel="stylesheet" type="text/css" />  
 
 
    <!-- JAVASCRIPTS -->
    <script type="text/javascript" src="js/jquery.min.js"></script> 
    <script type="text/javascript" src="js/jquery.bgslider.js"></script>    
    <script type="text/javascript" src="js/basic.js"></script>
        
 
    <div id="bg_slider">    
        <img src="images/bgslider-1.jpg" alt="" />
        <img src="images/bgslider-2.jpg" alt="" />
        <img src="images/bgslider-3.jpg" alt="" />  
    </div>
 
 
</body>
</html>


basic.js:
Кликните здесь для просмотра всего текста
JavaScript
1
2
3
4
5
6
7
8
9
10
jQuery(document).ready(function(){
 
            //START BACKGROUND SLIDER
            jQuery('#bg_slider').bgSlider({
                'speed' : '500',    //transition speed
                'pause' : '4000',   //pause before next item
                'delay' : '3000'        //delay on start
            });
                        
});


jquery.bgslider.js:
Кликните здесь для просмотра всего текста
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
jQuery.fn.bgSlider = function() {          
    var args = arguments[0] || {};    
    var fade_speed = args.speed;
    var pause = args.pause;
    var delay_on_start = args.delay;
    var i = 0; 
    var actr = 0;
    
    if(!fade_speed){fade_speed = 1200;}
    if(!pause){pause = 5000;}
    var this_div = jQuery(this);
    
    var imgs = new Array();
    jQuery('img',this).each(function(){     
        imgs[actr] = jQuery(this).attr('src');      
        
        jQuery(this).remove();
        this_div.append('<div id="bg_slider-'+actr+'" class="bg_slider-img"></div>');
                
        if(actr == 0){
            jQuery('#bg_slider-'+actr).css({'background-image':'url('+imgs[actr]+')'});
        }else{
            jQuery('#bg_slider-'+actr).css({'opacity':'0','background-image':'url('+imgs[actr]+')'});
        }
               actr++;
    });
    
    var change = function(){    
        var j = i + 1;
        if(imgs.length == j){
            j = 0;
        }
 
        jQuery('#bg_slider-'+j).animate({'opacity':'1'},{ queue: false, duration: fade_speed });
        jQuery('#bg_slider-'+i).animate({'opacity':'0'},{ queue: false, duration: fade_speed });        
        i = j;
        setTimeout(change,pause);
    };
    
    if(delay_on_start){
        var x=setTimeout(function(){
            if(imgs.length > 1){
                var t=setTimeout(change,pause); 
            }
        },delay_on_start);
    }else{
        if(imgs.length > 1){
            var t=setTimeout(change,pause); 
        }
    }
};


style.css:
Кликните здесь для просмотра всего текста
CSS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
@import 'reset.css';
 
#bg_slider .bg_slider-img
{
    background-attachment: fixed;   
    background-position: top center;
    background-repeat: no-repeat;
    background-color: transparent;
    width: 100%;
    height: 100%;
    position: absolute; 
    top: 0px;
    left: 0px;
}


Это все было слеплено из разных частей и благодаря советам. Можно ли код упростить? И возможно ли избавиться от basic.js? Потому что работает только так. Основной смысл в том, что в div есть некоторое(любое) количество картинок-фона, которые благодаря скриптам изменяются. В этом всем новичок, поэтому буду рад услышать любые советы, а также в какую сторону копать.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.08.2016, 23:41
Ответы с готовыми решениями:

Циклическая смена даты
Помогите пожалуйста с написанием цикла в котором меняется дата на день вперед, а по достижению конца месяца, меняет месяц и идет новый счет...

Циклическая смена картинок
Друзья, помогите реализовать JavaScript циклической смены картинок, кучу способов перепробовал, не получается. Задача такая, чтобы...

[SFML] Циклическая смена цвета
Добрый вечер, есть такое задание, построить шестиугольник, цвета секторов которого будут менять циклически. Циклов три, т е сначала все...

1
19 / 19 / 11
Регистрация: 15.11.2014
Сообщений: 164
26.08.2016, 11:31
От файла basic.js избавится можно но не от самого кода так как он и запускает функцию смены вона. Можно занести его в jquery.bgslider.js или между тегами <head></head>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.08.2016, 11:31
Помогаю со студенческими работами здесь

Циклическая смена изображений по клику
Подскажите, пожалуйста, как сделать, чтобы моя картинка менялась по щелчку на одну из кнопок. Допустим, у меня 5 картинок имеется. Нажимаю...

Циклическая смена атрибутов символов
Доброго времени суток! Ниже привел код программы в котором надо добавить функцию циклической смены атрибутов символов строки. Подтолкните...

Циклическая смена атрибутов символов
Доброго времени суток! Необходимо создать две программы на tasm. К сожалению сам я в низкоуровневых языках вообще никак плюс время...

Циклическая смена дочерних окон по таймеру
1. Через время t1 создаются окна как показано на рисунке в последовательности 1-2-3-4. 3 4 2 1 2. Через t2&gt;t1 окна уничтожаются...

Смена фона
Как сменить фон по заданному времени Есть скрипт времени bj_hours=document.getElementById(&quot;datehours&quot;); function...


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

Или воспользуйтесь поиском по форуму:
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