Войти

Показать полную графическую версию : Вопросы по Javascript, Jquery, Ajax.


Страниц : [1] 2 3 4

monopolie
19-02-2014, 11:19
Чем $(this) отличается от this?

mar
19-02-2014, 13:10
$(this) - оборачивает вызываемый текущий элемент в функцию jQuery, создавая уже элемент jQuery и давая возможность использовать для него все соответствующие методы jQuery

Sham
20-02-2014, 01:19
this переменная, $(this) функция $() вызванная с аргументом переменной this.

monopolie
23-02-2014, 16:25
Пишет что переменная hour1 не определена.(андефайнд)
Хотя она определена и всё с ней в порядке. За пределами setInterval переменная hour1 хорошо определяется.


setInterval("alert(hour1)" , 1000);

http://jsfiddle.net/xtgw7/

Habetdin
23-02-2014, 17:06
monopolie, попробуйте так:
var hour1 = 10;
setInterval(function() { alert(hour1) }, 1000);
jsfiddle (http://jsfiddle.net/xtgw7/6)
P.S.: а ваш код у меня ни в хроме, ни в опере alert так и не вызвал :unsure:

monopolie
23-02-2014, 17:10
Так работает. Я уже сам эксперементировал.
Не знаю просто почему так не работает как я написал. setInterval("alert(hour1)" , 1000);

Ладно, через функцию запускается и ладно. но ещё одна непонятка с этим интервалом
Сделал таймер на объекте new Date. Хочу чтобы секунды постоянно обновлялись сами. Сейчас только при обновлении страницы секунды тикают.
Поставил setInterval на добавление таймера в блок #Taymer
Вроде мне кажется теперь должны каждую секунду обновляться секунды, но этого не происходит.



setInterval( function() { $('#taymer').html(hour1 + '.' + min1 + '.' + sec1)} , 1000);


http://jsfiddle.net/x3Um2/1/

Habetdin
23-02-2014, 18:21
теперь должны каждую секунду обновляться секунды »
Но ведь вы не обновляете переменных со временем внутри setInterval, откуда взяться "новому" времени? :jester:
Вот работающий вариант на основе вашего: jsfiddle (http://jsfiddle.net/x3Um2/6/), без ненужного jQuery, кстати (но оптимизировать этот код можно еще долго ;) )

monopolie
23-02-2014, 18:53
О, спасибо))
Значит setInterval просто не знал актуальное время? Интересно.

Habetdin
23-02-2014, 19:34
setInterval просто не знал актуальное время »
Да, не знал. Вы ему "рассказали" о ваших hour1, min1, sec1, и он перерисовывал их каждую секунду. А то что рисовать нужно обновленное - он не знает, ему же не сказали пересчитывать их :)

monopolie
28-02-2014, 10:38
Я всё ещё вожусь с этим таймером. http://jsfiddle.net/KV9U4/3/

У меня в область с датами приходят нужные мне даты в зависимости от заданных параметров.

Так вот эти все даты нужно выводить на хтмл странице.

Около 20 дат циклом заносятся в эту конструкцию . http://jsfiddle.net/KV9U4/3/
Как вывести эти даты в хтмл страничку используя массивы? Все даты должны стоять друг за другом, вместе на экране.

В строке 38 вывожу на экран дату, но она одна выводится, хотя условия соблюдаются для большего числа дат.

monopolie
28-02-2014, 17:14
Строка 37.

dataMili в функциях dayNum3.

Habetdin
28-02-2014, 17:29
dataMili в функциях dayNum. »
Вы хотите, чтобы dayNum возвращал массив подходящих dataMili вместо первого подходящего значения? Сделайте массив, в который добавляются элементы вместо return, а затем уже возвращайте получившийся массив:
// перед всеми условиями создайте массив
var result = [];
// и вместо возврата значения
return dataMili;
// добавляйте в массив
result.push(dataMili);
// и уже в конце - возврат
return result;
Только updateTimer тоже придется исправить, чтобы он использовал все полученные значения.

monopolie
28-02-2014, 17:52
О, классно, сейчас попробую))
Это я тренируюсь программировать. Первый код.))
И главное потом буду рассказывать что сам написал первый код))))

Sham
28-02-2014, 17:53
var a = 5;

if (a=5) {

function updateTimer4()
{зачем

monopolie
28-02-2014, 17:59
А, это просто для проверки цикла сделал. Чтобы пока условие не проверялось, а просто в цикл входило.
Условие потому-что не часто срабатывает, по задумке так.

monopolie
28-02-2014, 19:14
---

monopolie
01-03-2014, 14:05
По какому принципу можно осуществить вывод всех остальных дат с тикающим временем в левую часть экрана друг под другом?
Если каждую по отдельности выводить в отдельный див с идентификатором, то ооочень много места займёт.
http://jsfiddle.net/KV9U4/3/
Нужен какой-то цикл.

Habetdin
01-03-2014, 19:37
monopolie, выше (http://forum.oszone.net/post-2317360-13.html) описание изменений, вот пример: jsfiddle (http://jsfiddle.net/Habetdin/Q7mc9/)
P.S.: если исправить логику вашего алгоритма, все должно быть намного меньше по объему и легче в понимании :)

monopolie
05-03-2014, 04:07
Классно)) Спаситель просто)) Я уже не знал что делать)
Я примерно так хотел сделать по примеру который вы описывали ранее)) Но не знал как из функции вытянуть длину массива. Оказывается просто присвоить эту функцую переменной))
Насчёт громосткости программы это даже хорошо сейчас для меня, для изучения яваскрипта.
------------------------

Почему возвращаемые значения циклом for не взаимозаменяются? То-есть выводятся все три даты, а не одна.
Я делал без циклов, и содержимое тега постоянно переписывалось. В теге было только один элемент.

Для чего нужна переменная resStr? Я попробовал без неё. Как раз заменяется одно значение другим. Зачем ей присваивается пустое значение и оно прибавляется к датам?

Habetdin
05-03-2014, 19:00
monopolie, после обнуления resStr в неё, если dayNum3() вернуло хоть одно подходящее значение, будут заносится значения таймеров. Вам же нужно было нарисовать все подходящие таймеры? А "первый подходящий таймер" - это ваш код этого поста (http://forum.oszone.net/post-2317683-18.html).




© OSzone.net 2001-2012