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

Изменение ширины картинки "на лету"

14.08.2013, 14:07. Показов 1378. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, помогите пожалуйста решить следующую проблемку.
Расписал все как можно подробно, чтобы было понятнее о чем речь.

Есть счетчик "жизни", к примеру 126/430. 126 и 430 это php переменные, которые я получаю при каждом обновлении страницы из БД. 430 - всегда постоянная, 126 - восполняемая.

Мой javascript получает переменную 126 и с определенной скоростью "на лету" (без обновления страницы и получения новых данных) начинает отсчитывать цифры пока не достигнет 430.



JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<script>
        var start = '.$user->hp.';
 
        var myspeedHP = (540/'.$user->hpAll.')*1000;
 
        document.getElementById("myHP").innerHTML = (~~start);
        setInterval(function(){ 
            start++;
            
            if(start >= '.$user->hpAll.'){
            clearInterval(intervalID);
            }
 
            document.getElementById("myHP").innerHTML = (~~start);
 
        }, myspeedHP)
</script>
myspeedHP - скорость вычисляемая по формуле.
$user->hp - жизни на данный момент. (126)
$user->hpAll - сколько жизней всего. (430)

Передает данные сюда:

HTML5
1
<span id="myHP">log</span>
В итоге в готовом варианте, условно, я получаю:

HTML5
1
<span id="myHP">log</span> / $user->hpAll [126..127..128... / 430]
Пользователь на лету видит как у него восполняется жизнь и для этого лишний раз не дергает страницу, чтобы получить новые данные. Все работает, но..

Мне необходимо ложить эти цифры на две картинки зеленую Название: life_green.gif
Просмотров: 59

Размер: 851 байт и черную Название: life_loose.gif
Просмотров: 59

Размер: 847 байт и так же "на лету" в зависимости от параметра жизни, которая восполняется указанным выше скриптом, менять ширину соответствующих картинок, чтобы получалось вот так: Название: hp.jpg
Просмотров: 60

Размер: 1.2 Кб

HTML код выглядит так:

HTML5
1
2
3
4
5
6
7
8
9
10
11
<table width="116" height="9" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td nowrap="nowrap">
    <div id="timer_hp" style="position:absolute;"><? echo $timerHP.'/ '.$user->hpAll; ?></div>
 
    <img width="92" height="9" src="/i/ico/life_green.gif" title="Уровень жизни"> //МЕНЯТЬ ШИРИНУ зеленой полоски
    <img width="24" height="9" src="/i/ico/life_loose.gif" title="Уровень жизни"> //МЕНЯТЬ ШИРИНУ черной полоски
 
    </td>
  </tr>
</table>
$timerHP - в эту переменную я завожу сам скрипт и спан его выводящий.

Ширина таблицы 116 пикселей, а ширину зеленого и черного поля (выделены красным) мне необходимо изменять "на лету" по мере роста жизни. Иными словами зеленая полоска должна расти, а черная уменьшаться пока при полной жизни не достигнет "0" а зеленая размера в 116.

В идеале, если бы еще в зависимости от количества жизни, менялась первая картинка: 33% - красная, 66%-оранжевая, и если больше 66% тогда зеленая.

Название: life_red.gif
Просмотров: 59

Размер: 847 байт
Название: life_yellow.gif
Просмотров: 59

Размер: 839 байт
Название: life_green.gif
Просмотров: 59

Размер: 851 байт

Как вычислять жизнь и сделать динамическое "тикание" в цифрах у меня получилось, а вот с изменением ширины картинок "на лету" вариантов нет вообще, помогите пожалуйста, если это возможно сделать.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.08.2013, 14:07
Ответы с готовыми решениями:

ListView изменение ширины картинки
Добрый день. Как можно динамически менять размер картинки в TListView, ну скажем в событии OnResize.

Изменение Ширины Вложенной Картинки
Доброе время суток, господа! Простите, что спамлю, но ничего не нарыл в паутине по своей проблеме! На форме есть поле RichText. И в нем...

Изменение ширины картинки runtime
Доброго времени суток, уважаемые форумчане! Помогите пожалуйста новичку с WPF. Хочу подключить стиль Image runtime. Создал...

3
0 / 0 / 0
Регистрация: 14.08.2013
Сообщений: 3
14.08.2013, 16:46  [ТС]
ПРОБЛЕМА РЕШЕНА! СПАСИБО ОГРОМНОЕ )))
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
14.08.2013, 16:49
А поделиться, как решили, не хотите? Ваш ответ может помочь кому-то, столкнувшемуся с подобной проблемой в будущем
0
0 / 0 / 0
Регистрация: 14.08.2013
Сообщений: 3
14.08.2013, 17:09  [ТС]
Решил самостоятельно, покопался в гугле и очень помогла темка.

А вот и мое решение:

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
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
 
    #progressBar{
        width: 0;
        height: 9px;
    }
    #timer_hp {
    margin-top:1px;
    margin-left:3px;
    position:absolute;
    color: #F4F4F4;
    line-height: 7px;
    font-size: 9px;
    font-weight:bold;
    font-family:Verdana, Geneva, sans-serif;
}
    .life_bg {
        background:url(/i/ico/life_loose2.gif) repeat-x;
    }
</style>
<title>Полоса загрузки</title>
</head>
 
<body onload="progress()">
 
 
 
    <script type="text/javascript">
    function progress()
    {
        var i=0;
        var width= document.getElementById('progressBar').parentNode.clientWidth;
        var id=setInterval(grow, 10*4)
        
        function grow()
        {
            
 
            if(i<width)
            {
                i+=1;
                if(!document.getElementById('progressBar').setAttribute("style","width: "+i+"px;"))
                    document.getElementById('progressBar').style.width = i;
                
            }
            else
            {
                //alert('готово')
                clearInterval(id);
            }
            
            if(i<38){
                
                document.getElementById('progressBar').src = '/i/ico/life_red.gif';
                
            }
            else if(i>39 && i<77) {
                
                document.getElementById('progressBar').src = '/i/ico/life_yellow.gif';
                
            }
            else {
 
                document.getElementById('progressBar').src = '/i/ico/life_green2.gif';
            
            }
            
        }
    }
    </script>
 
 
 
 
<table width="116" height="9" border="0" cellspacing="0" cellpadding="0" class="life_bg">
  <tr>
    <td nowrap="nowrap">
    <div id="timer_hp"><span title="Уровень жизни" id="myHP">log</span><span title="Уровень жизни"> / 430</span></div>
<script>
        var start = 0;
        document.getElementById("myHP").innerHTML = (~~start);
        setInterval(function(){ 
            start++;
            
            if(start>=(430)+1){
            clearInterval(intervalID);
            }
 
            document.getElementById("myHP").innerHTML = (~~start);
        }, 10)
</script>
 
<img id="progressBar" src="/i/ico/life_loose2.gif" title="Уровень жизни">
 
 
    </td>
  </tr>
</table>
 
 
</body>
</html>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.08.2013, 17:09
Помогаю со студенческими работами здесь

Изменение ширины картинки без сжатия
допустим есть картинка ширина 100px, если я укажу 50px, её сожмет на половину. Вопрос, как сделать,что бы при изменении ширины наполовину...

Изменение ширины картинки на форме через Scrollbar
Привет))) Помогите с задачей... При помощи Scrollbar'a изменять ширину картинки на форме. При нажатии стрелки влево она...

Изменение размера картинки при уменьшении ширины окна
Вот пример кода. При уменьшении размера окна появляется скролл снизу и если его подвинуть, изображение залезает под фиксированый блок...

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

Автоматическое изменение ширины столбца в DBGrid при изменении ширины формы
Подскажите как реализовать или дайте условие автоматического изменение ширины столбца в DBGrid при изменении ширины формы.


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru