Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Полоса рейтинга по состоянию просмотра странице (https://javascript.ru/forum/dom-window/13729-polosa-rejjtinga-po-sostoyaniyu-prosmotra-stranice.html)

ybiza 11.12.2010 12:02

Полоса рейтинга по состоянию просмотра странице
 
Как можно реализовать. Предположим у нас есть количество просмотров страниц переменная $show в php.
Как сделать так чтобы полоса заполнялось синем цветом пока количество просмотров не станет равна 1000 после этого меняла цвет на желтый и начинало заново заполнять поле до 10 000 и тд.

Я если честно не могу это написать на javascript творение может кто найдет минутку поможет в этом деле. С меня плюсы всем кто откликнется))
зы Если есть что то подобное киньте ссылку!

Sweet 11.12.2010 12:17

Альтруизмом не страдаю.

ybiza 11.12.2010 12:20

Понятно на это я и не рассчитывал!) Скажи хотя бы логику этого действа что можно использовать в качестве блоков и.тд. Альтруизмом не страдающей ты наш!

Sweet 11.12.2010 13:00

Логики хочешь? Пожалуйста (из расчета 200px - максимальная длина полоски (100%), до 1000 просмотров):
длина полоски = ( количество просмотров / 1000 ) * 200 + 'px';
Вот и вся логика. С цветом вообще не логика, а подстановка в зависимости от результата:)

UPD: Блок - это <div> обычно:)

ybiza 11.12.2010 13:18

Вот клево т.е. нужно к определенному элементу предположением div c id прибавлять значение width на ( количество просмотров / 1000 ) * 200 + 'px'; Я правильно понял!? Слушай а чем лучше сделать у меня пока в мыслях так
<div style="z-index:1; position: relative; width:200px; height:20px;">
                          <div style="z-index:2; position: relative; height:20px; background-color:#0033CC; width:Получаемое число при вычислении px;">
                                <div style="z-index:3; position: relative; height:20px; width:200px;">
                                Число просмотров.
                               </div>
                          </div>
                </div>

Может есть конструкция по лучше. И еще я где то на сайте видел функцию которая при клике уменьшает кнопку где ее найти и вроде что то похожее на то что мне надо, ото столько раз натыкался а теперь найти не могу)

Sweet 11.12.2010 13:28

Цитата:

Сообщение от ybiza
а чем лучше сделать у меня пока в мыслях так

Что?:)
Нормальная конструкция получилась.
Вот посмотри

ybiza 11.12.2010 13:58

Слушай поправь почему то не работает хотя по моей задумке должно) если не трудно конечно. то что ты посоветовал конечно интересно но пока не для меня я в этом слабак)
Вот конструктор:

<script>
					  
var show = <?php $this->article->hits; ?>
if (show < 1000 ) {
document.getElementById(reit).style.width = ( show / 1000 ) * 200 + 'px'; 
} else {
document.getElementById(reit).style.width = ( show / 10000) * 200 + 'px';
}    					  
</script>
                
<div style="z-index:1; position: relative; width:200px; height:20px;">
      <div style="z-index:2; position: relative; height:20px; background-color:#0033CC;" id="reit">
             <div style="z-index:3; position: relative; height:20px; width:200px;">
                                Число просмотров.
                               </div>
                          </div>
                </div>

Только не смейся) Сильно если что не так!

Sweet 11.12.2010 14:10

Помести скрипт под дивы, либо используй window.onload, потому что ты пытаешься обратиться к элементу (getElementById), когда его еще нет в DOM'е

Sweet 11.12.2010 14:12

Да, и еще:
getElementById(reit)
переменной reit нет. Нужно же
getElementById('reit')

ybiza 11.12.2010 14:14

Чет вообще не помогает! все перепробовал.


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