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)) но такой код не хочет этого делать! Кто - нибудь может объяснить - почему? или подсказать - просто сам - ну не могу дойти...и ещё, если вдруг, пользователь введёт значение, меньшее, чем исходное? Буду благодарен подсказке, именно подсказке, просто хочется сильно самому научиться писать скрипты. |
Tymur,
попробуйте не трогать границы диапазона, иначе как узнать что предел достигнут. |
Вот не могу понять, когда размер изображения доходит до максимального(минимальног� �) оно начинает дрожать, т.е. смещается на 2 пикселя туда - обратно, а насчёт диапазона - не догоняю, где именно я его трогаю?
|
так дрожание и есть
условно counter_1 = 301 -- count стало 302 -- пора обратно 301 300 --- ура 300 пора вперёд. 301 ...302 а трогаите здесь count++; и здесь count--; counter_1 это предел а куда до скольки назад неизвестно count затёрто |
А как же указать что именно надо уменьшать или увеличивать, ведь count - ширина, где же достать ещё одну переменную?
|
Tymur,
кто вам мешает ввести ещё 1 переменную в скрипт |
Цитата:
|
)) Да, но переменная должна быть связана со свойством width? так как же её не трогать, а если её трогать - она стирается, нет , ночь не спал, туплю конкретно, хорошо комп быстро вылетает с виса, много зависал - пытался даже ещё раз вызывать setInterval , вобщем сам не могу дотюкать...а дефицит у меня со знаниями в области программирования)
|
<!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> :write: |
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> |
Часовой пояс GMT +3, время: 22:17. |