Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.04.2015, 17:41
Интересующийся
Отправить личное сообщение для Paul_Wahtel Посмотреть профиль Найти все сообщения от Paul_Wahtel
 
Регистрация: 26.03.2015
Сообщений: 17

Гляньте плс мой код
Всем привет, пишу функцию которая будет каждую секунду поднимать див на 50 пикселей в верх.
вот мой код
function upAndDown () {
        var lift = document.getElementById('lift');
	lift.style.marginBottom = "50px";
	}			
function lift () {
	timer = window.setInterval("upAndDown()", 1000);
       }


<a href="javascript:lift()">
			button
		</a>


при нажатии на ссылку диву единожды прибавляется margin-bottom: 50px; и все, хотя интервал сам продолжает идти, я просто только учусь js, что я написал не так?
Ответить с цитированием
  #2 (permalink)  
Старый 12.04.2015, 18:38
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,112

Сообщение от Paul_Wahtel
прибавляется
и где в коде хоть один +
Ответить с цитированием
  #3 (permalink)  
Старый 12.04.2015, 23:33
Интересующийся
Отправить личное сообщение для Paul_Wahtel Посмотреть профиль Найти все сообщения от Paul_Wahtel
 
Регистрация: 26.03.2015
Сообщений: 17

Имеется в виду что ему присваивается margin-bottom 50 px, но лишь один раз.
Ответить с цитированием
  #4 (permalink)  
Старый 12.04.2015, 23:37
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,112

Сообщение от Paul_Wahtel
лишь один раз.
а вы сколько раз хотели, если а = 5 то чему равно а ?
почему не 10 или 15
Ответить с цитированием
  #5 (permalink)  
Старый 12.04.2015, 23:40
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,112

Paul_Wahtel,

var x = 0;
function upAndDown () {
        var lift = document.getElementById('lift');
	lift.style.marginBottom = x +"px";
x += 50;
	}			
function lift () {
	timer = window.setInterval("upAndDown()", 1000);
       }


<a href="javascript:lift()">
			button
		</a>
Ответить с цитированием
  #6 (permalink)  
Старый 12.04.2015, 23:48
Интересующийся
Отправить личное сообщение для Paul_Wahtel Посмотреть профиль Найти все сообщения от Paul_Wahtel
 
Регистрация: 26.03.2015
Сообщений: 17

спасибо, что то я и вправду втыканул.
Ответить с цитированием
  #7 (permalink)  
Старый 13.04.2015, 07:36
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

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

var lift;

(function() {
    var elemStyle = document.getElementById('lift').style,
        timer, x = 0;
    lift = function() {
        clearInterval(timer);
        timer = setInterval(function() {
            x += 50;
            elemStyle.marginBottom = x + 'px';
        }, 1000);
    };
})();


Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
javascript обфускатор или как правильно скрыть код syegorius Общие вопросы Javascript 1 19.09.2012 02:58
Не работает код Kendrick Internet Explorer 5 12.09.2012 16:14
Требуется выводить код рекламного блока Adsense из файла JavaScript??? speedflow Элементы интерфейса 0 26.05.2012 15:50
Запуск кода с фрейма, код в родительском окне - КАК ? lamer Javascript под браузер 7 06.05.2012 15:15
Как узнать динамический код страницы? gosha13 Общие вопросы Javascript 5 27.07.2009 13:31