Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: маштаб рисунка с помощью JS
 
 автор: tokmak   (12.12.2007 в 12:01)   письмо автору
 
 

Здравствуйте. В общем такой вопрос, как осуществить уменьшение масштаба рисунка через определенное время с помощью JS. Имеется рисунок размерами 250x300 формата gif, нужно чтобы после его загрузки на сайте прошло 10 секунд и он уменьшился, ну допустим на 50%

Это рисунок управляется JS и весит сверху страницы над всеми объектами. Плавность его уменьшения тоже нужна))

   
 
 автор: SHAman   (12.12.2007 в 14:54)   письмо автору
 
   для: tokmak   (12.12.2007 в 12:01)
 

ловите событие загрузки страницы (onload). Затем, делаете что-то в этом духе:

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

   
 
 автор: CNT   (12.12.2007 в 15:00)   письмо автору
 
   для: tokmak   (12.12.2007 в 12:01)
 

>Имеется рисунок размерами 250x300 формата gif, нужно чтобы после его загрузки на сайте прошло 10 секунд
<img id="myPic" onload="setTimeout (myFunc, 10000)">



>он уменьшился, ну допустим на 50%
function myFunc ()
{document.getElementById ('myPic').style.width = '125px'}



>сверху страницы над всеми объектами
<img style="z-index: 2">
* Но не над всеми - над тегом <select> или над флеш-объектом он никак не сможет "висеть" нигде, также как никак не сможет висеть над областью тега<iframe> в Opera...


>Плавность его уменьшения тоже нужна
var actual_size = 250;
function myFunc ()
{
if (actual_size == 125) return;
actual_size -= 5;
document.getElementById ('myPic').style.width = actual_size + 'px';
setTimeout (myFunc, 100);
}

   
 
 автор: tokmak   (12.12.2007 в 15:45)   письмо автору
 
   для: CNT   (12.12.2007 в 15:00)
 

Спасибо, сейчас подкину.

   
 
 автор: tokmak   (14.12.2007 в 09:21)   письмо автору
 
   для: tokmak   (12.12.2007 в 15:45)
 

в общем код работает, спасибо за помощь. Но возник такой вопрос, как можно управлять уменьшением рисунка. Т.е. данный рисунок уменьшается относительно левого верхнего угла и левой стороны. нужно что бы он уменьшался с лева, а правая сторона оставалась на меньше. в общем уменьшение должно происходить из левого нижнего угла в правый верхний, вот такое направление. Спасибо.

П.С. сам плоховато знаю JS поэтому прошу помощи.

   
 
 автор: CNT   (14.12.2007 в 09:37)   письмо автору
 
   для: tokmak   (14.12.2007 в 09:21)
 

Внутри функции перед setTimeout (myFunc, 100); добавьте строку
document.getElementById ('myPic').style.marginLeft = (250 - actual_size) + 'px';

   
 
 автор: tokmak   (18.12.2007 в 21:04)   письмо автору
 
   для: CNT   (14.12.2007 в 09:37)
 

спасибо, счас подкину. Очень благодарен за ответы.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования