Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.01.2015, 10:12
Новичок на форуме
Отправить личное сообщение для kn1ght Посмотреть профиль Найти все сообщения от kn1ght
 
Регистрация: 12.11.2014
Сообщений: 5

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

реализовал я это крайне топорно http://jsfiddle.net/bqb5b8fb/ (крутить вниз)

есть баги: если не докрутить до самого низа, а скажем до 25%, 50% или 75%, а потом вверх, текст о количестве процентов меняется

и хотелось бы сделать так, чтобы проценты постепенно увеличивались от 0 до 25% на первой итерации, затем от 25% до 50% на 2ой итерации и так далее

но мои скудные познания в js и jquery не дают возможности мне это реализовать

возможно кто-нибудь поможет, либо подскажет готовые решения, чтобы мне не велосипедить)
Ответить с цитированием
  #2 (permalink)  
Старый 15.01.2015, 10:56
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Scroll and width
kn1ght,
помогите реализовать эффект
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
body{
  height: 1500px;
}

.progress-bar {
    position: fixed;
    margin-top: 40px;
	height: 48px;
	border: 1px solid #cfcfcf;
	padding: 5px;
    width: 80%;
}

.progress-bar__inner {
	position: relative;
	width: 100%;
	height: 100%;
	background-color: #e9ebec;
}

.progress-bar__scale {
	position: absolute;
	top: 0px;
	left: 0px;
	height: 48px;
	width: 0px;
	background-color: #00adef;
	-webkit-transition: all 0.8s 0.2s;
	transition: all 0.8s 0.2s;
}

.progress-bar__scale-25 {width: 25%;}
.progress-bar__scale-50 {width: 50%;}
.progress-bar__scale-75 {width: 75%;}
.progress-bar__scale-100 {width: 100%;}
.invis {visibility: hidden;}

.knowledge-bl__txt-cont {position: relative;}

.knowledge-bl__percentage {
   position: fixed;
	float: left;
	width: 260px;
	margin-top: 90px;
	margin-left: 7px;
	font-size: 98px;
	font-weight: 700;
	color: #00adef;
    margin-bottom: 1000px;
}

.percentage-reserve-100 {
	position: absolute;
	width: 260px;
	top: 36px;
	left: 7px;
	font-size: 98px;
	font-weight: 700;
	color: #00adef;
	display: none;
}

.db {display: block !important;}

</style>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  <script>
     $(function(){
     $(window).scroll(function() {
  var o = 100*$(window).scrollTop()/($(document).height()- $(window).height());
  $(".progress-bar__scale").css({"width" : (o|0)+"%"});
  $(".knowledge-bl__percentage").html((o|0)+"%");
})
});


  </script>
</head>

<body>
<div class="progress-bar">
    <div class="progress-bar__inner">
        <div class="progress-bar__scale"></div>
    </div>
</div>
<div class="knowledge-bl__percentage">0%</div>
<div class="knowledge-bl__txt-cont">
    <div class="percentage-reserve-100">100%</div>
</div>



</body>

</html>
Ответить с цитированием
  #3 (permalink)  
Старый 15.01.2015, 12:02
Новичок на форуме
Отправить личное сообщение для kn1ght Посмотреть профиль Найти все сообщения от kn1ght
 
Регистрация: 12.11.2014
Сообщений: 5

на уменьшение не должно работать
Ответить с цитированием
  #4 (permalink)  
Старый 15.01.2015, 12:49
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

kn1ght,
добавьте проверку что новое значение больше тогда строки 79 -80
Ответить с цитированием
  #5 (permalink)  
Старый 15.01.2015, 14:24
Новичок на форуме
Отправить личное сообщение для kn1ght Посмотреть профиль Найти все сообщения от kn1ght
 
Регистрация: 12.11.2014
Сообщений: 5

все равно немного не то, дошел до такой стадии: http://jsfiddle.net/bs2qr5m0/3/

все работает так, как мне надо, но есть баг: если очень быстро прокрутить, проценты начинают прокручиваться до бесконечности
пока не знаю, как исправить
Ответить с цитированием
  #6 (permalink)  
Старый 15.01.2015, 14:36
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Сообщение от kn1ght
проценты начинают прокручиваться до бесконечности
у вас бесконечное число setInterval грузится
Ответить с цитированием
  #7 (permalink)  
Старый 15.01.2015, 14:40
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Сообщение от kn1ght
все равно немного не то
чтобы получить то, надо как то проще обьяснить чего вы хотите - мне вот непонятно само разделение на 4 части когда сам скрол может быть любым а не только 25% и тд.
Ответить с цитированием
  #8 (permalink)  
Старый 15.01.2015, 14:48
Новичок на форуме
Отправить личное сообщение для kn1ght Посмотреть профиль Найти все сообщения от kn1ght
 
Регистрация: 12.11.2014
Сообщений: 5

Сообщение от рони Посмотреть сообщение
у вас бесконечное число setInterval грузится
почему? создаю же я только 4

Сообщение от рони Посмотреть сообщение
чтобы получить то, надо как то проще обьяснить чего вы хотите - мне вот непонятно само разделение на 4 части когда сам скрол может быть любым а не только 25% и тд.
этот анимационный прогресс бар никак не связан с тем, какое количество страницы проскроллено

просто анимационный элемент, грубо говоря, рядом с ним текст "наши знания увеличиваются каждый день"

пользователь заходит на сайт, скроллится вниз, видит этот элемент, скроллится вниз дальше, а он анимируется таким вот способом

так понятнее?))
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Прогресс бар. Что поменять? massimo_pazzi Элементы интерфейса 1 16.01.2015 10:13
прогресс бар domius (X)HTML/CSS 2 14.07.2014 15:48
Прогресс бар для загрузки нескольких файлов через XHR Ваяс AJAX и COMET 0 04.12.2013 13:03
Прогресс бар Jmunb Events/DOM/Window 3 01.12.2011 23:01
Прогресс бар загрузки страницы bis AJAX и COMET 1 03.08.2009 10:24