Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.07.2013, 00:38
Аватар для Tymur
Интересующийся
Отправить личное сообщение для Tymur Посмотреть профиль Найти все сообщения от Tymur
 
Регистрация: 29.06.2013
Сообщений: 13

setInterval и изображение
<script type="text/javascript">
function func() {
document.images.im.width = count;
document.images.im.height = kount;
if(count < counter_1) b = false;
if(b == false) count++;
if(count > counter_1) b = true;
if(b == true) count--;
if(count == counter_1) ;
}
</script>
<title>Проходим скрипты</title>
</head>
<body>
<img src = "images/imag.jpg" name = "im">
<h1>Привет мир!!!</h1>
<script type = "text/javascript">
var id = setInterval(func, 100);
var b ;
var counter_1 = prompt("Введите макимальную длину изображения:");
var counter_2 = prompt("Введите макимальную высоту изображения:");
var count = 300;
var kount = 300;
</script>
Вот то, что я накалякал.
Хочется, чтобы пользователь ввёл максимальное значение для изображения, и, затем код начал его увеличивать до заданного значения, достигнув цели он начал бы уменьшать, потом увеличивать и так далее пока не clearInterval)) но такой код не хочет этого делать! Кто - нибудь может объяснить - почему? или подсказать - просто сам - ну не могу дойти...и ещё, если вдруг, пользователь введёт значение, меньшее, чем исходное? Буду благодарен подсказке, именно подсказке, просто хочется сильно самому научиться писать скрипты.
Ответить с цитированием
  #2 (permalink)  
Старый 08.07.2013, 01:35
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

Tymur,
попробуйте не трогать границы диапазона, иначе как узнать что предел достигнут.
Ответить с цитированием
  #3 (permalink)  
Старый 08.07.2013, 01:54
Аватар для Tymur
Интересующийся
Отправить личное сообщение для Tymur Посмотреть профиль Найти все сообщения от Tymur
 
Регистрация: 29.06.2013
Сообщений: 13

Вот не могу понять, когда размер изображения доходит до максимального(минимальног ) оно начинает дрожать, т.е. смещается на 2 пикселя туда - обратно, а насчёт диапазона - не догоняю, где именно я его трогаю?
Ответить с цитированием
  #4 (permalink)  
Старый 08.07.2013, 02:00
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

так дрожание и есть
условно counter_1 = 301 -- count стало 302 -- пора обратно 301 300 --- ура 300 пора вперёд. 301 ...302
а трогаите здесь count++; и здесь count--; counter_1 это предел а куда до скольки назад неизвестно count затёрто
Ответить с цитированием
  #5 (permalink)  
Старый 08.07.2013, 02:20
Аватар для Tymur
Интересующийся
Отправить личное сообщение для Tymur Посмотреть профиль Найти все сообщения от Tymur
 
Регистрация: 29.06.2013
Сообщений: 13

А как же указать что именно надо уменьшать или увеличивать, ведь count - ширина, где же достать ещё одну переменную?
Ответить с цитированием
  #6 (permalink)  
Старый 08.07.2013, 03:09
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

Tymur,
кто вам мешает ввести ещё 1 переменную в скрипт
Ответить с цитированием
  #7 (permalink)  
Старый 08.07.2013, 07:45
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Tymur
где же достать ещё одну переменную
рони, у нас в стране дефицит переменных, ты че, не знал? Ее можно достать только по блату, Tymur. Могу с этим помочь
Ответить с цитированием
  #8 (permalink)  
Старый 08.07.2013, 14:58
Аватар для Tymur
Интересующийся
Отправить личное сообщение для Tymur Посмотреть профиль Найти все сообщения от Tymur
 
Регистрация: 29.06.2013
Сообщений: 13

)) Да, но переменная должна быть связана со свойством width? так как же её не трогать, а если её трогать - она стирается, нет , ночь не спал, туплю конкретно, хорошо комп быстро вылетает с виса, много зависал - пытался даже ещё раз вызывать setInterval , вобщем сам не могу дотюкать...а дефицит у меня со знаниями в области программирования)

Последний раз редактировалось Tymur, 08.07.2013 в 15:10. Причина: дополнение
Ответить с цитированием
  #9 (permalink)  
Старый 08.07.2013, 15:27
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

<!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=windows-1251" />
<title>Увелечение изображения</title>
</head>

<body>
<input onclick="clearInterval(intImage); intImage = 0" type="button" value="Остановить" />
<img alt="" id="image" src="http://kotomatrix.ru/images/users/Artur3/author.jpg" width="100px" />

<script type="text/javascript">
var intImage;
window.onload = function()
{
	var image = document.getElementById('image'), size = 1, copySize = [image.width, image.height];
	var width = prompt('Введите макимальную ширину изображения:');
	var height = prompt('Введите макимальную высоту изображения:');
	if(width > image.width && height > image.height)
	{
		intImage = setInterval(function()
		{
			image.width += size || -1;
			image.height += size || -1;
			if((size && (image.width == width || image.height == height)) || (!size && (image.width == copySize[0] || image.height == copySize[1]))) size = !size;
		}, 10);
	}
	else alert('Вы ввели слишком маленький размер!');
}
</script>
</body>
</html>


Ответить с цитированием
  #10 (permalink)  
Старый 08.07.2013, 15:27
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

Tymur,
если надоело мучатся
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
  <script type="text/javascript">
 function func() {
 document.images.im.width = r;
 r +=b
 if(r == counter_1||r == count) {b = b == -1? 1 : -1}
 }
 </script>
 <title>Проходим скрипты</title>
</head>
 <body>
 <img src = "http://javascript.ru/forum/images/ca_serenity/misc/logo.gif" name = "im">
 <h1>Привет мир!!!</h1>
 <script type = "text/javascript">
 var b = 1;
 var counter_1 = 350 //  Введите ЛЮБУЮ длину изображения >= 0
 var count = 336;
 var r =  count;
 if(count > counter_1) {b = -1;}
 var id = setInterval(func, 10);
 </script>
</body>
</html>
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
imagecreatefromjpeg + изображение со сторонннего ресурса bushstas Серверные языки и технологии 0 24.02.2013 12:50
setInterval и глобальные переменные Почемучкин Events/DOM/Window 11 11.08.2012 14:44
setTimeout setInterval и др. mycoding Общие вопросы Javascript 6 28.10.2010 17:26
Как предварительно загруженное изображение сделать бэкграундом? hrundel Общие вопросы Javascript 1 02.08.2009 12:45
Проблема в document.write при использовании setInterval() GOll Общие вопросы Javascript 21 06.10.2008 17:38