![]() |
Вопросы по Javascript, Jquery, Ajax.
Чем $(this) отличается от this?
|
$(this) - оборачивает вызываемый текущий элемент в функцию jQuery, создавая уже элемент jQuery и давая возможность использовать для него все соответствующие методы jQuery
|
this переменная, $(this) функция $() вызванная с аргументом переменной this.
|
Пишет что переменная hour1 не определена.(андефайнд)
Хотя она определена и всё с ней в порядке. За пределами setInterval переменная hour1 хорошо определяется. setInterval("alert(hour1)" , 1000); http://jsfiddle.net/xtgw7/ |
monopolie, попробуйте так:
Код:
var hour1 = 10; P.S.: а ваш код у меня ни в хроме, ни в опере alert так и не вызвал :unsure: |
Так работает. Я уже сам эксперементировал.
Не знаю просто почему так не работает как я написал. setInterval("alert(hour1)" , 1000); Ладно, через функцию запускается и ладно. но ещё одна непонятка с этим интервалом Сделал таймер на объекте new Date. Хочу чтобы секунды постоянно обновлялись сами. Сейчас только при обновлении страницы секунды тикают. Поставил setInterval на добавление таймера в блок #Taymer Вроде мне кажется теперь должны каждую секунду обновляться секунды, но этого не происходит. setInterval( function() { $('#taymer').html(hour1 + '.' + min1 + '.' + sec1)} , 1000); http://jsfiddle.net/x3Um2/1/ |
Цитата:
Вот работающий вариант на основе вашего: jsfiddle, без ненужного jQuery, кстати (но оптимизировать этот код можно еще долго ;) ) |
О, спасибо))
Значит setInterval просто не знал актуальное время? Интересно. |
Цитата:
|
Я всё ещё вожусь с этим таймером. http://jsfiddle.net/KV9U4/3/
У меня в область с датами приходят нужные мне даты в зависимости от заданных параметров. Так вот эти все даты нужно выводить на хтмл странице. Около 20 дат циклом заносятся в эту конструкцию . http://jsfiddle.net/KV9U4/3/ Как вывести эти даты в хтмл страничку используя массивы? Все даты должны стоять друг за другом, вместе на экране. В строке 38 вывожу на экран дату, но она одна выводится, хотя условия соблюдаются для большего числа дат. |
Строка 37.
dataMili в функциях dayNum3. |
Цитата:
Код:
// перед всеми условиями создайте массив |
О, классно, сейчас попробую))
Это я тренируюсь программировать. Первый код.)) И главное потом буду рассказывать что сам написал первый код)))) |
Цитата:
|
А, это просто для проверки цикла сделал. Чтобы пока условие не проверялось, а просто в цикл входило.
Условие потому-что не часто срабатывает, по задумке так. |
---
|
По какому принципу можно осуществить вывод всех остальных дат с тикающим временем в левую часть экрана друг под другом?
Если каждую по отдельности выводить в отдельный див с идентификатором, то ооочень много места займёт. http://jsfiddle.net/KV9U4/3/ Нужен какой-то цикл. |
|
Классно)) Спаситель просто)) Я уже не знал что делать)
Я примерно так хотел сделать по примеру который вы описывали ранее)) Но не знал как из функции вытянуть длину массива. Оказывается просто присвоить эту функцую переменной)) Насчёт громосткости программы это даже хорошо сейчас для меня, для изучения яваскрипта. ------------------------ Почему возвращаемые значения циклом for не взаимозаменяются? То-есть выводятся все три даты, а не одна. Я делал без циклов, и содержимое тега постоянно переписывалось. В теге было только один элемент. Для чего нужна переменная resStr? Я попробовал без неё. Как раз заменяется одно значение другим. Зачем ей присваивается пустое значение и оно прибавляется к датам? |
monopolie, после обнуления resStr в неё, если dayNum3() вернуло хоть одно подходящее значение, будут заносится значения таймеров. Вам же нужно было нарисовать все подходящие таймеры? А "первый подходящий таймер" - это ваш код этого поста.
|
Всё сделано именно так как было задумано.
Просто непонятна работа переменной resStr. Даже если не прибавлять resStr к датам, то результат получается другой. Непонятно почему. http://jsfiddle.net/Q7mc9/3/ var resStr = ""; Это значит сделано для обнуление переменной, чтобы в ней не хранились старые данные. Так зачем вообще даты заносить в переменную если можно напрямую вывести?(пробовал, не выводятся почему то напрямую). Вот так. document.getElementById('ekad').innerHTML = day + '.' + min + '.' + sec + '<br>'; |
Цитата:
Цитата:
Цитата:
Цитата:
|
зачем прибавлять resStr к дате (или наоборот)? В resStr ведь пустое значение.
Чем отличается resStr =resStr + day + '.' + min + '.' + sec + '<br>'; От resStr = day + '.' + min + '.' + sec + '<br>'; |
Цитата:
|
Цитата:
Цитата:
|
В переменную resStr по любому должен ведь заноситься массив из дат.
Хоть так resStr =resStr + day + '.' + min + '.' + sec + '<br>'; Хоть так resStr +=resStr + day + '.' + min + '.' + sec + '<br>'; В любом случае в переменной resStr находится массив. |
Цитата:
Код:
resStr = new Array(); А вот в функции dayNum() есть массив - result :) |
Ага ага. То есть resStr будет каждый раз обновляться новым значением, а старое будет стираться?
|
Закончил.
Вот что получилось если интересно)) http://jsfiddle.net/LYBKQ/5/ В самом начале можете дату на меньшую менять. Появляются другие свойства программы. А как можно было проще сделать вы говорили? Проще написать этот код |
Что делается строкой new User?? Для чего new?
Это объекту присваивается метод так? function User (firstname, lastname) { this. firstname = firstname; this. lastname = lastname; } var Vasya = new User (“Вася” , “Иванов”); |
monopolie, создается новый объект. Google творит чудеса ;)
|
Я думал объекты создаются так -- new Object()
То-есть слово Object обязательно. |
Так и не понял почему делается такая запись. Ведь объекты создаются
или так new Object() (слово Object обязательно) или так var variable = {} Почему так пишется непонятно: function User (firstname, lastname) { this. firstname = firstname; this. lastname = lastname; } var Vasya = new User (“Вася” , “Иванов”); Читал уже статьи http://javascript.ru/tutorial/object...ya-konstruktor http://popel-studio.com/blog/article...avascript.html Но сути не понял. Здесь я вижу что функции User даётся два параметра и непонятно зачем тут слово new . var Vasya = new User (“Вася” , “Иванов”); Всё работало бы и без слова new если убрать ещё слово this в функции. |
Цитата:
После слова new должен указываться тип (aka прототип) создаваемого объекта, из стандартных в пример можно привести Array или Date. Цитата:
Цитата:
Цитата:
Без new но с this - сценарий выдаст ошибку. А с new и this - запишет в объект Vasya типа User 2 свойства firstname и lastname, к которым можно будет обратиться по Vasya.firstname и Vasya.lastname соответственно. Вот, можно поиграться на jsfiddle и понять разницу. |
---
|
Как сделать чтобы проигрывался музыкальный файл(mp3). Без открытия медиа плеера?
Ну вот в компьютере всякие звуки системные есть ведь, каждый раз медиа плеер не открывается ведь. Можно так же в ява скрипте сделать? Я программу хочу написать для изучения слов и чтобы звуки воспроизводились. |
monopolie, аудио в вебе - тег audio. Либо указываем необходимые параметры, либо динамически управляем ими с помощью JS - все на ваш вкус :)
|
Есть аналог этого в яваскрипте?
Без изображения плеера на экране можно сделать? Просто чтобы при команде из яваскрипта звук воспроизводился. Без нажатия в браузере чего-либо. |
Цитата:
Цитата:
HTML код:
<audio id="audiotag1" src="example.mp3" preload="auto"></audio> Код:
document.getElementById('audiotag1').play(); Кстати, чтобы не прописывать свой звук заранее в коде страницы, можно создавать элемент audio с помощью JS: Код:
var audio = new Audio('example.mp3'); // создаст элемент audio, правда куда его засунет - не знаю :) |
Пытаюсь написать скрипт. Простой перебор элементов массива по команде setInterval().
Каждую секунду должны переключаться элементы массива. Тут. http://jsfiddle.net/7mLA9/ Создал два массива и отдал методу setInterval(). Вроде логически всё правильно. Но не работает. Почему? |
Цитата:
Цитата:
|
Не получается запустить метод showModalDialog();
Сначало работал, потом перестал почему-то. Не принимаются параметры через dialogArguments. Две переменные. var c = "2sdfgsdfg"; var d = "5sdfgsdfgsdf"; Открываем окно и передаём переменную с. var cl =showModalDialog("SLOVA.html" , [c]) -------------------------------------------- Другое окно которое открывается. alert(dialogArguments[0]); ------------------------------------------- По всякому пробовал уже. Вот на фидл. Только там это не сработает. http://jsfiddle.net/YVyj7/ |
Выключил в браюзере блокировку всплывающих окон. Всё заработало.
Можно showModalDialog обработать так чтобы это окно не воспринималось как всплывающее окно? Какой метод лучше? open() или showModalDialog() Методом open() кстати даже при заблокированных настройках всплывающих окон передаётся параметр opener. |
Не получается запустить функцию из дочернего окна.
В главном окне вот эта функция написана. var cl = open("SLOVA.html"); function dial () { alert("dfsd"); } А в дочернем окне пытался так запустить: opener.dial(); |
Эти методы не кроссбраузерные? Как жаль что они коряво работают. Единственный метод для передачи данных в другое окно.
В хроме например не работает. В фаерфоксе постоянно нужно жать на разрешение всплывающего окна, даже если в настройках включены всплывающие окна. Только в Интернет Експлорере работает хорошо. А в самом начале ошибка у меня была потомучто я поместил код всплывающего окна в $(document).ready(function() {}); |
Цитата:
Цитата:
(AFAIK, из-за этого всплывающая реклама обычно открывается кликом по body :jester:) |
Есть кроссбраузерный метод в яваскрипте для передачи данных из одной страницы в другую?
Хром не поддерживает open(). А showModalDialog забраковали. https://developer.mozilla.org/en-US/...howModalDialog |
Получается метод open() тоже нельзя использовать. Он в хроме не работает.
Есть замена этим методам? Которые на всех браузерах работают? |
Блин. И в Фаерфоксе не работает. Что это за методы, для издевательств чтоли??
Я как раз из за этих возможностей начал яваскрипт учить. А тут такое дело что этих возможностей и нету. В главном окне открываю окно и вызываю функцию из открывшегося окна. var cl = open("SLOVA.html" , "name" ); cl.ret(); В открывшемся окне написана функция которая должна выполниться. function ret() { alert("Алерт"); } Фаербаг пишет что функции cl.ret(); не существует. -------------------------------------- Только интернет Эксплорер работает с этим методом. И этим Интернет эксплорером уже никто не пользуется. |
Цитата:
Цитата:
Цитата:
Цитата:
|
Делал я уже так. Ждать загрузки документа и потом выполнять код. Так даже и Интернет Експлорер не работает.
Главное окно. $(document).ready(function() { var cl = open("SLOVA.html" , "name" ); cl.ret(); }); Дочернее окно. $(document).ready(function() { function ret() { alert("Алерт"); } }); И чередовал их тоже. Один без ready другой с ready. В интернет експлорере работает, в других браузерах нет. |
Цитата:
Цитата:
Цитата:
а вот главное окно ничего не ждет и сразу после открытия пытается запустить ret(), которого нет :tomato2: |
Разобрался как это работает. Спасибо.
Но почему то в Хроме не работает. Онлайн работает всё в хроме. А на компьютере не работает. Я скопировал всё так же как и в онлайн примере. В других браузерах работает кроме хрома. |
Цитата:
Так что тестировать локально можно либо в другом браузере, либо используя какой-нибудь веб-сервер (простой путь - denwer). |
Какие есть ещё параметры?
if (windowRef.closed == false) closed. Наверное ещё opened есть? А ещё какие? |
Цитата:
Цитата:
|
Можно как нибудь оффлайн, без денвера воспроизводить аудио в IE8?
|
monopolie, поддержка тега audio появилась в IE 9 версии. Для старых версий IE можно использовать embed/object.
|
В Хроме <embed> просит устанавливать плагин QuickTimePlayer.
В Фаерфоксе <embed> не работает. Ошибок не выдаёт. В IE8 оффлайн не работают некоторые методы. Например hidden= "true". Онлайн работают http://learn.javascript.ru/play/tVYo6b ----------------------------- Тег <object> не работает ни в каком браузере. В IE8 показывается неактивная панелька плеера. ----------------------------- У меня Виндовс ХР. IE9 не смогу поставить. |
monopolie, а почему для mp3 выбран mime-тип audio/x-midi? Правильный - audio/mpeg.
Вот тут можно протестировать работу embed и object, переходя по "Try it yourself" после примеров кода. Ну и заодно там есть "The Best Solution" - пример "отката" на embed при неподдерживаемом audio в браузере. |
Разобрался))
Я высоту и ширину у <embed> задавал, поэтому hidden = "true" не работало))) У <bgsound> постоянно какой-то кодек вылазит в трее. Круто. Даже не надо делать проверку каким браузером открыта страница с кодом The Best Solution))) |
Можете расшифровать данный код?
http://learn.javascript.ru/play/is4l8 Смысл его в том что когда кликаешь по экрану, алертом возвращается местоположение курсора. Я не понимаю что где прописано. Например: Что делается тут? this.onClick.bind(this); При клике должно выполняться это this.onClick.bind(this); Это значит так dom.onClick.bind(dom); Зачем dom передаётся в метод bind ? В метод bind() должны ведь вставляться события типа click. |
Как вывести алерт при соприкосновении красного блока с зелёным?? Какое должно быть условие?
http://jsfiddle.net/xLa9m/1/ |
Время: 02:42. |
Время: 02:42.
© OSzone.net 2001-