Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Окно с баром прогресса на время (https://javascript.ru/forum/misc/58171-okno-s-barom-progressa-na-vremya.html)

_M_ 08.09.2015 15:22

Окно с баром прогресса на время
 
Здравствуйте! В js я полный ноль.
Появилась нужда создать окно, временно перекрывающая фрейм.
Как можно его создать? Или в какую сторону копать?

к примеру есть такое окно..

...остальной код
<style>
.progress-bar {
	background-color: #1a1a1a;
	height: 25px;
	padding: 5px;
	width: 350px;
	margin: 50px 0;			
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	-moz-box-shadow: 0 1px 5px #000 inset, 0 1px 0 #444;
	-webkit-box-shadow: 0 1px 5px #000 inset, 0 1px 0 #444;
	box-shadow: 0 1px 5px #000 inset, 0 1px 0 #444;	          
}

.progress-bar span {
	display: inline-block;
	height: 100%;	
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	border-radius: 3px;
	-moz-box-shadow: 0 1px 0 rgba(255, 255, 255, .5) inset;
	-webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, .5) inset;
	box-shadow: 0 1px 0 rgba(255, 255, 255, .5) inset;
        -webkit-transition: width .4s ease-in-out;
        -moz-transition: width .4s ease-in-out;
        -ms-transition: width .4s ease-in-out;
        -o-transition: width .4s ease-in-out;
        transition: width .4s ease-in-out;    
}
и прочий код
</style>

<div width="800px;" height="600px;">

контент

<div class="progress-bar blue stripes">
    <span style="width: 40%"></span>
</div>
</div>
... остальной код


Нужно чтобы данное окно было не на 40%, а пробежалось от 0 до 100, секунд за 10 и потом исчезло, не закрывая фрейм.
Надеюсь понятно выразил мысль.

Благодарю за любую информацию.

tsigel 08.09.2015 15:37

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <style>
        .progress {
            transition: width 10s ease-in-out;
            -moz-transition: width 10s ease-in-out;
            -webkit-transition: width 10s ease-in-out;
            -o-transition: width 10s ease-in-out;
            width: 0%;
            height: 10px;
            background-color: yellowgreen;
        }

        .end {
            width: 100%;
        }
    </style>
</head>
<body>

<div class="progress"></div>

<script>
    window.onload = function () {

        var el = document.querySelector('.progress');
    var getEventName = function (el) {
      var transEndEventNames = {
           'WebkitTransition' : 'webkitTransitionEnd',
           'MozTransition'    : 'transitionend',
           'OTransition'      : 'oTransitionEnd otransitionend',
           'transition'       : 'transitionend'
      }

      for (var name in transEndEventNames) {
        if (el.style[name] !== undefined) {
          return transEndEventNames[name];
        }
      }
    }
    el.classList.add('end');
    el.addEventListener(getEventName(el), function () {
       alert('progress = 100%');
    }, false);
    };
</script>

</body>
</html>

_M_ 09.09.2015 09:26

А как увеличить время прогресса? и автоматом закрыть якобы фрейм(или как его назвать)?

tsigel 09.09.2015 09:28

transition: (какой стиль анимируем) (время анимации) [(функция времени)];
Поправил скрипт, добавил обработку конца анимации.

_M_ 09.09.2015 10:02

Цитата:

Сообщение от tsigel (Сообщение 387770)
transition: (какой стиль анимируем) (время анимации) [(функция времени)];
Поправил скрипт, добавил обработку конца анимации.

Спасибо большое за помощь.


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