[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: логика кликания
borovik
тыкаешь на картинку она раздвигается, не могу усделать условие "если ещё раз тыкаешь то уменьшается" - чёто запарился всегда получается бесконечный цикл =)
тоесть тыкаешь на картинку вызывается функция resize() вот как сделать условие "если ещё раз тыкаешь" то выпонляется resize_down()


var normal = 1200;

function resize(){
var full = document.getElementById("full");
if (full.width < normal){
full.width *=1.1;
setTimeout("resize()",50);
}
}


function resize_down(){
var full = document.getElementById("full");
if (full.width > 200){
full.width /=1.1;
setTimeout("resize_down()",50);
}
}


window.onload = function(){
var img = document.getElementsByTagName("full");
img.onclick = resize;
}


<img id="full" width="200px">




Спустя 6 часов, 16 минут, 24 секунды (14.07.2011 - 05:20) fon написал(а):
Глобальный флаг попробуй.

Спустя 2 часа, 50 минут, 54 секунды (14.07.2011 - 08:11) borovik написал(а):
ну например? пробовал переменную типа 1 или 0, но не могу присобачить к логике, всегда бесконечный цикл получается =)

Спустя 27 минут, 16 секунд (14.07.2011 - 08:38) Mirexzpalich написал(а):

<html>
<head>
<title>
TEST</title>
<script>
var
normal = 1200;
var click = 0;

function resize(){
var full = document.getElementById("full");
var k = 1.10;
if ((parseInt(full.style.width) >= normal && click==0) ||
(
parseInt(full.style.width) <=200 && click==1)){
click=(click+1)%2;
return;
}

if (click==1) k = 1/k;
setTimeout("resize()",50);
full.style.width =parseInt(full.style.width)*k;

}
</script>
</head>
<body>
<div
id="full" style="width:300;height:300;background:red;" onclick="resize();"></div>
</body>
</html>


Попробуй...

Спустя 40 минут, 44 секунды (14.07.2011 - 09:19) borovik написал(а):
мудрено =)

Спустя 6 часов, 48 минут, 21 секунда (14.07.2011 - 16:08) borovik написал(а):
а если мои функции оставить похожие и добавить третию выбора, ктонить может составить условие?
if ()
resize()
else
resize_down()

Спустя 1 час, 14 минут, 47 секунд (14.07.2011 - 17:22) Mirexzpalich написал(а):
borovik
Цитата
а если мои функции оставить похожие и добавить третию выбора, ктонить может составить условие?

Ну ты маньяк!!! Нафига тебе куча однотипного кода??? Жизнь и железякам надо облегчать....
Но если так надо, держи, заблудший:

var normal = 1200;
var i =1;

function resize(){
var full = document.getElementById("full");
if (full.width < normal){
full.width *=1.1;
setTimeout("resize()",50);
} else i=(i+1)%2;
}

function resize_down(){
var full = document.getElementById("full");
if (full.width > 200){
full.width /=1.1;
setTimeout("resize_down()",50);
} else i=(i+1)%2;
}
function rresize()
{
if(i==1) resize();
else resize_down();

}
window.onload = function(){
var img = document.getElementsByTagName("full");
img.onclick = rresize;
}
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.