Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.11.2016, 09:26
Аспирант
Отправить личное сообщение для ghost666 Посмотреть профиль Найти все сообщения от ghost666
 
Регистрация: 07.02.2016
Сообщений: 52

Неправильно работет скрипт
задача: есть 67 div-ов, нужно менять их из через определенный отрезок времени. вот скрипт:
<script>
			jQuery(document).ready(function($) {
				var i = 0;
				var msg_count = 67;
				setInterval(
					function () {
						i = i + 1;
						if (i > msg_count) i = 1;
						$('.domotireg:nth-child(' + i + ')').fadeIn(500).css('display', 'table').delay(7000).fadeOut(500);
					}, 15000);
			});
			</script>

проблема в том что они менются - но предыдущий не исчезает.
Подскажите пожалуйста где косяк.
Ответить с цитированием
  #2 (permalink)  
Старый 18.11.2016, 09:35
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,118

Сообщение от ghost666
Подскажите пожалуйста где косяк.
Ты хоть бы пример полный сделал... Где ХТМЛ?
Ответить с цитированием
  #3 (permalink)  
Старый 18.11.2016, 09:39
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,118

ghost666, может этот пример тебе поможет
Выполнить функцию после окончания всей анимации
Ответить с цитированием
  #4 (permalink)  
Старый 18.11.2016, 10:23
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

ghost666,
А зачем .css('display', 'table') ?
Ответить с цитированием
  #5 (permalink)  
Старый 18.11.2016, 14:04
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"> </script>
<style>
    .domotireg
    {
        display: none;
        position: relative;
      }
    td
    {
        border: 1px solid black;
    }
</style>
<body>
    <table style='display:table'>
            <tr>
                <td>
        <table class='domotireg'>
            <tr>
                <td>
                    1
                </td>
                <td>
                    2
                </td>
            </tr>
            <tr>
                <td>
                    3
                </td>
                <td>
                    4
                </td>
            </tr>
            <tr>
                <td>
                    1
                </td>
                <td>
                    2
                </td>
            </tr>
            <tr>
                <td>
                    3
                </td>
                <td>
                    4
                </td>
            </tr>
        </table>
        <table class='domotireg'>
            <tr>
                <td>
                   5
                </td>
                <td>
                   6
                </td>
            </tr>
            <tr>
                <td>
                    7
                </td>
                <td>
                    8
                </td>
            </tr>
            <tr>
                <td>
                   5
                </td>
                <td>
                   6
                </td>
            </tr>
            <tr>
                <td>
                    7
                </td>
                <td>
                    8
                </td>
            </tr>
        </table>
        </td>
        </tr>
    </table>
    <script type="text/javascript">
        window.onload = function () {
            var i = 0;
            var msg_count = 2;
            setInterval(
					function () {
					    i = i + 1;
					    if (i > msg_count) i = 1;
					    $('.domotireg:nth-child(' + i + ')').fadeIn(2500).delay(2000).fadeOut(2500);
					}, 7000);
        }
    </script>
</body>

Последний раз редактировалось Dilettante_Pro, 18.11.2016 в 14:10.
Ответить с цитированием
  #6 (permalink)  
Старый 18.11.2016, 14:49
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,118

Dilettante_Pro, в твоем варианте бывают случаи, когда видно обе таблички "1234" и "5678"...
Ответить с цитированием
  #7 (permalink)  
Старый 18.11.2016, 15:01
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,118

Вот т.с. гарантированное окончание анимации...

<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<script src='http://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
.domotireg {
	display: none;
	position: relative;
}
td {
	border: 1px solid black;
}
</style>
<script type='text/javascript'>
$(function (){
	var i = 0;
	var msg_count = 2;
	iteration();
	function iteration() {
		if (++i > msg_count) i = 1;
		$.when(
			$('.domotireg:nth-child(' + i + ')').fadeIn(2500).delay(2000).fadeOut(2500)
		).then(function (){
			setTimeout(iteration,1000);
		});
	};
});
</script>
</head>
<body>
    <table style='display:table'>
            <tr>
                <td>
        <table class='domotireg'>
            <tr>
                <td>
                    1
                </td>
                <td>
                    2
                </td>
            </tr>
            <tr>
                <td>
                    3
                </td>
                <td>
                    4
                </td>
            </tr>
            <tr>
                <td>
                    1
                </td>
                <td>
                    2
                </td>
            </tr>
            <tr>
                <td>
                    3
                </td>
                <td>
                    4
                </td>
            </tr>
        </table>
        <table class='domotireg'>
            <tr>
                <td>
                   5
                </td>
                <td>
                   6
                </td>
            </tr>
            <tr>
                <td>
                    7
                </td>
                <td>
                    8
                </td>
            </tr>
            <tr>
                <td>
                   5
                </td>
                <td>
                   6
                </td>
            </tr>
            <tr>
                <td>
                    7
                </td>
                <td>
                    8
                </td>
            </tr>
        </table>
        </td>
        </tr>
    </table>
</body>
</html>
Ответить с цитированием
  #8 (permalink)  
Старый 18.11.2016, 15:06
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Сообщение от ksa Посмотреть сообщение
Dilettante_Pro, в твоем варианте бывают случаи, когда видно обе таблички "1234" и "5678"...
Да это я так просто... макет в принципе... ТС молчит.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как скопировать скрипт с переадресующей страници ramisa Элементы интерфейса 9 09.07.2013 23:59
Скрипт в скрипт :) Sakyra Общие вопросы Javascript 6 22.05.2013 09:58
Помогите вставить скрипт на страницу alexsio Работа 7 22.04.2013 18:19
Не работает скрипт :( VladimirV Javascript под браузер 5 21.12.2010 14:26
Скрипт неправильно работает в FF InviS Общие вопросы Javascript 6 11.04.2010 16:56