Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   Вопросы по Javascript, Jquery, Ajax. (http://forum.oszone.net/showthread.php?t=278007)

monopolie 19-02-2014 11:19 2311684

Вопросы по Javascript, Jquery, Ajax.
 
Чем $(this) отличается от this?

mar 19-02-2014 13:10 2311775

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

Sham 20-02-2014 01:19 2312182

this переменная, $(this) функция $() вызванная с аргументом переменной this.

monopolie 23-02-2014 16:25 2314265

Пишет что переменная hour1 не определена.(андефайнд)
Хотя она определена и всё с ней в порядке. За пределами setInterval переменная hour1 хорошо определяется.


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

http://jsfiddle.net/xtgw7/

Habetdin 23-02-2014 17:06 2314282

monopolie, попробуйте так:
Код:

var hour1 = 10;
setInterval(function() { alert(hour1) }, 1000);

jsfiddle
P.S.: а ваш код у меня ни в хроме, ни в опере alert так и не вызвал :unsure:

monopolie 23-02-2014 17:10 2314284

Так работает. Я уже сам эксперементировал.
Не знаю просто почему так не работает как я написал. 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 2314334

Цитата:

Цитата monopolie
теперь должны каждую секунду обновляться секунды »

Но ведь вы не обновляете переменных со временем внутри setInterval, откуда взяться "новому" времени? :jester:
Вот работающий вариант на основе вашего: jsfiddle, без ненужного jQuery, кстати (но оптимизировать этот код можно еще долго ;) )

monopolie 23-02-2014 18:53 2314353

О, спасибо))
Значит setInterval просто не знал актуальное время? Интересно.

Habetdin 23-02-2014 19:34 2314381

Цитата:

Цитата monopolie
setInterval просто не знал актуальное время »

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

monopolie 28-02-2014 10:38 2317146

Я всё ещё вожусь с этим таймером. http://jsfiddle.net/KV9U4/3/

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

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

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

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

monopolie 28-02-2014 17:14 2317353

Строка 37.

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

Habetdin 28-02-2014 17:29 2317360

Цитата:

Цитата monopolie
dataMili в функциях dayNum. »

Вы хотите, чтобы dayNum возвращал массив подходящих dataMili вместо первого подходящего значения? Сделайте массив, в который добавляются элементы вместо return, а затем уже возвращайте получившийся массив:
Код:

// перед всеми условиями создайте массив
var result = [];
// и вместо возврата значения
return dataMili;
// добавляйте в массив
result.push(dataMili);
// и уже в конце - возврат
return result;

Только updateTimer тоже придется исправить, чтобы он использовал все полученные значения.

monopolie 28-02-2014 17:52 2317377

О, классно, сейчас попробую))
Это я тренируюсь программировать. Первый код.))
И главное потом буду рассказывать что сам написал первый код))))

Sham 28-02-2014 17:53 2317379

Цитата:

var a = 5;

if (a=5) {

function updateTimer4()
{
зачем

monopolie 28-02-2014 17:59 2317384

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

monopolie 28-02-2014 19:14 2317426

---

monopolie 01-03-2014 14:05 2317683

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

Habetdin 01-03-2014 19:37 2317822

monopolie, выше описание изменений, вот пример: jsfiddle
P.S.: если исправить логику вашего алгоритма, все должно быть намного меньше по объему и легче в понимании :)

monopolie 05-03-2014 04:07 2319258

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

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

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

Habetdin 05-03-2014 19:00 2319612

monopolie, после обнуления resStr в неё, если dayNum3() вернуло хоть одно подходящее значение, будут заносится значения таймеров. Вам же нужно было нарисовать все подходящие таймеры? А "первый подходящий таймер" - это ваш код этого поста.

monopolie 05-03-2014 21:13 2319661

Всё сделано именно так как было задумано.
Просто непонятна работа переменной resStr.
Даже если не прибавлять resStr к датам, то результат получается другой. Непонятно почему. http://jsfiddle.net/Q7mc9/3/

var resStr = ""; Это значит сделано для обнуление переменной, чтобы в ней не хранились старые данные.
Так зачем вообще даты заносить в переменную если можно напрямую вывести?(пробовал, не выводятся почему то напрямую).
Вот так. document.getElementById('ekad').innerHTML = day + '.' + min + '.' + sec + '<br>';

Habetdin 05-03-2014 23:19 2319701

Цитата:

Цитата monopolie
результат получается другой »

Вы исправили строку добавления следующего таймера к resStr на замену значения resStr последним таймером.
Цитата:

Цитата monopolie
прибавлять resStr к датам »

Наоборот, в Советской России даты прибавляются к resStr (resStr += "Bla-bla" аналогично resStr = resStr + "Bla-bla")
.
Цитата:

Цитата monopolie
зачем вообще даты заносить в переменную »

Потому что div для содержимого только один, и перерисовать его лучше один раз, чтобы разница между таймерами в "одном обновлении" была не такой большой :)
Цитата:

Цитата monopolie
можно напрямую вывести? »

Можно обнулять не переменную, а содержимое блока, а вместо добавления в переменную - добавлять напрямую.

monopolie 06-03-2014 00:02 2319720

зачем прибавлять resStr к дате (или наоборот)? В resStr ведь пустое значение.
Чем отличается resStr =resStr + day + '.' + min + '.' + sec + '<br>';
От resStr = day + '.' + min + '.' + sec + '<br>';

monopolie 06-03-2014 09:30 2319804

Цитата:

Цитата monopolie
Вы исправили строку добавления следующего таймера к resStr на замену значения resStr последним таймером. »

Я думал что я занёс этим массив дат в переменную.

Habetdin 06-03-2014 15:59 2319932

Цитата:

Цитата monopolie
Чем отличается resStr =resStr + day + '.' + min + '.' + sec + '<br>';
От resStr = day + '.' + min + '.' + sec + '<br>'; »

Тем что старое значение остается в начале? :tomato2:
Цитата:

Цитата monopolie
зачем прибавлять resStr ... В resStr ведь пустое значение. »

Это перед запуском цикла оно пустое (хотя, если dayNum() не вернет ни одной подходящей даты, таким и останется). Все обработанные "day + '.' + min + '.' + sec" добавляются в эту пустую строку, и потом один раз обновляется содержимое блока для таймеров.

monopolie 07-03-2014 01:24 2320189

В переменную resStr по любому должен ведь заноситься массив из дат.
Хоть так resStr =resStr + day + '.' + min + '.' + sec + '<br>';
Хоть так resStr +=resStr + day + '.' + min + '.' + sec + '<br>';
В любом случае в переменной resStr находится массив.

Habetdin 07-03-2014 21:41 2320570

Цитата:

Цитата monopolie
В любом случае в переменной resStr находится массив. »

Нет, resStr - это строка (если вдаваться в подробности, то это массив символов, конечно). Если бы вначале было написано:
Код:

resStr = new Array();
// или
resStr = [];

...то был бы массив. Полезные ссылки для изучения: Массивы в JS, объект Array.
А вот в функции dayNum() есть массив - result :)

monopolie 08-03-2014 00:13 2320618

Ага ага. То есть resStr будет каждый раз обновляться новым значением, а старое будет стираться?

monopolie 09-03-2014 07:21 2321040

Закончил.
Вот что получилось если интересно))
http://jsfiddle.net/LYBKQ/5/
В самом начале можете дату на меньшую менять. Появляются другие свойства программы.
читать дальше »

//HTML
<div id = aktuel1></div>
<div id = aktuel2></div>
<div id = aktuel3></div>
<div class = vyhod1 ></div>
<div class = vyhod2></div>
<div class = spisok>Даты Экадашей</div>
<div class = ekad></div>
<div class = ekad2></div>
//HTML

//CSS
body { background: url(index.jpg);}


#aktuel1

{color:green;
font-size: 45px;
align:left;
font-weight: bold;

}


#aktuel2

{color:#00008B;
font-size: 85px;
margin-top: -80px;
float:right;
font-weight: bold;



}

#aktuel3

{color:blue;
font-size: 25px;
align:left;
font-weight: bold;

}


.vyhod1

{color:green;
font-size: 45px;
margin-top:300px;
align:left;
font-weight: bold;
}


.vyhod2

{color:#00008B;
font-size: 85px;
margin-top: -80px;
float:right;
font-weight: bold;
}



.ekad

{color:#400090;
font-size: 25px;
margin:0px;
font-weight: bold;


}


.spisok

{color:green;
font-size: 35px;
align:left;
font-weight: bold;
}
//CSS




//GLOBAL'NYE PEREMENNYE NACHALO

//data ekadash1 nachalo
var date6 = new Date(2014,2,9,0,0,0);
var date7 = (date6.getTime()) / (1000*60);
//data ekadash1 konec

//data ekadash2 nachalo
var date8 = new Date(2014,2,27,0,0,0);
var date9 = (date8.getTime()) / (1000*60);
//data ekadash2 konec

//data ekadash3 nachalo
var date10 = new Date(2014,3,11,0,0,0);
var date11 = (date10.getTime()) / (1000*60);
//data ekadash3 konec

//data ekadash4 nachalo
var date12 = new Date(2014,3,25,0,0,0);
var date13 = (date12.getTime()) / (1000*60);
//data ekadash4 konec

//data ekadash5 nachalo
var date14 = new Date(2014,4,10,0,0,0);
var date15 = (date14.getTime()) / (1000*60);
//data ekadash5 konec

//data ekadash6 nachalo
var date16 = new Date(2014,4,24,0,0,0);
var date17 = (date16.getTime()) / (1000*60);
//data ekadash6 konec

//data ekadash7 nachalo
var date18 = new Date(2014,5,9,0,0,0);
var date19 = (date18.getTime()) / (1000*60);
//data ekadash7 konec

//data ekadash8 nachalo
var date20 = new Date(2014,5,23,0,0,0);
var date21 = (date20.getTime()) / (1000*60);
//data ekadash8 konec

//data ekadash9 nachalo
var date22 = new Date(2014,6,9,0,0,0);
var date23 = (date22.getTime()) / (1000*60);
//data ekadash9 konec

//data ekadash10 nachalo
var date24 = new Date(2014,6,22,0,0,0);
var date25 = (date24.getTime()) / (1000*60);
//data ekadash10 konec

//data ekadash11 nachalo
var date26 = new Date(2014,7,7,0,0,0);
var date27 = (date26.getTime()) / (1000*60);
//data ekadash11 konec

//data ekadash12 nachalo
var date28 = new Date(2014,7,21,0,0,0);
var date29 = (date28.getTime()) / (1000*60);
//data ekadash12 konec

//data ekadash13 nachalo
var date30 = new Date(2014,8,5,0,0,0);
var date31 = (date30.getTime()) / (1000*60);
//data ekadash13 konec

//data ekadash14 nachalo
var date32 = new Date(2014,8,19,0,0,0);
var date33 = (date32.getTime()) / (1000*60);
//data ekadash14 konec

//data ekadash15 nachalo
var date34 = new Date(2014,9,4,0,0,0);
var date35 = (date34.getTime()) / (1000*60);
//data ekadash15 konec

//data ekadash16 nachalo
var date36 = new Date(2014,9,19,0,0,0);
var date37 = (date36.getTime()) / (1000*60);
//data ekadash16 konec

//data ekadash17 nachalo
var date38 = new Date(2014,10,3,0,0,0);
var date39 = (date38.getTime()) / (1000*60);
//data ekadash17 konec

//data ekadash18 nachalo
var date40 = new Date(2014,11,2,0,0,0);
var date41 = (date40.getTime()) / (1000*60);
//data ekadash18 konec

//data ekadash19 nachalo
var date42 = new Date(2014,11,18,0,0,0);
var date43 = (date42.getTime()) / (1000*60);
//data ekadash19 konec

//data ekadash20 nachalo
var date44 = new Date(2014,11,31,0,0,0);
var date45 = (date44.getTime()) / (1000*60);
//data ekadash20 konec

//data ekadash21 nachalo
var date46 = new Date(2014,10,18,0,0,0);
var date47 = (date46.getTime()) / (1000*60);
//data ekadash21 konec



//aktialnaya data nachalo
var date4 = new Date();
var aktualDate = (date4.getTime() / (1000*60));
//aktualnaya data konec
//GLOBAL'NYE PEREMENNYE KONEC


//---------------------------------------------------------------







//SOZDANIE EKADASHEJ DLYA GLAVNOGO SCHJOTCHIKA NACHALO

function dayNum () {
var dataMili;


//1
if (date7 - aktualDate <= 14400 && date7 - aktualDate > 0) {
dataMili = date6.getTime();


}
//2
else if (date9 - aktualDate <= 14400 && date9 - aktualDate > 0) {
dataMili = date8.getTime();

}
//3
else if (date11 - aktualDate <= 14400 && date11 - aktualDate > 0) {
dataMili = date10.getTime();

}
//4
else if (date13 - aktualDate <= 14400 && date13 - aktualDate > 0) {
dataMili = date12.getTime();

}

//5
else if (date15 - aktualDate <= 14400 && date15 - aktualDate > 0) {
dataMili = date14.getTime();

}
//6
else if (date17 - aktualDate <= 14400 && date17 - aktualDate > 0) {
dataMili = date16.getTime();

}
//7
else if (date19 - aktualDate <= 14400 && date19 - aktualDate > 0) {
dataMili = date18.getTime();

}
//8
else if (date21 - aktualDate <= 14400 && date21 - aktualDate > 0) {
dataMili = date20.getTime();

}
//9
else if (date23 - aktualDate <= 14400 && date23 - aktualDate > 0) {
dataMili = date22.getTime();

}
//10
else if (date25 - aktualDate <= 14400 && date25 - aktualDate > 0) {
dataMili = date24.getTime();

}
//11
else if (date27 - aktualDate <= 14400 && date27 - aktualDate > 0) {
dataMili = date26.getTime();

}
//12
else if (date29 - aktualDate <= 14400 && date29 - aktualDate > 0) {
dataMili = date28.getTime();

}
//13
else if (date31 - aktualDate <= 14400 && date31 - aktualDate > 0) {
dataMili = date30.getTime();

}
//14
else if (date33 - aktualDate <= 14400 && date33 - aktualDate > 0) {
dataMili = date32.getTime();

}
//15
else if (date35 - aktualDate <= 14400 && date35 - aktualDate > 0) {
dataMili = date34.getTime();

}
//16
else if (date37 - aktualDate <= 14400 && date37 - aktualDate > 0) {
dataMili = date36.getTime();

}
//17
else if (date39 - aktualDate <= 14400 && date39 - aktualDate > 0) {
dataMili = date38.getTime();

}

//21
else if (date47 - aktualDate <= 14400 && date47 - aktualDate > 0) {
dataMili = date46.getTime();

}


//18
else if (date41 - aktualDate <= 14400 && date41 - aktualDate > 0) {
dataMili = date40.getTime();

}
//19
else if (date43 - aktualDate <= 14400 && date43 - aktualDate > 0) {
dataMili = date42.getTime();

}
//20
else if (date45 - aktualDate <= 14400 && date45 - aktualDate > 0) {
dataMili = date44.getTime();

}



return dataMili;


} //konec dayNum


//SOZDANIE EKADASHEJ DLYA GLAVNOGO SCHJOTCHIKA KONEC



//PERVYJ EKADASH NACHALO: VYVOD NA EKRAN





function dayzz (dayz) {

//DNI NACHALO
var ekad1 = new Date();

var ekad2 = (ekad1.getTime() / (1000 * 60 * 60 * 24));

var ekad3 = new Date(dayNum());


var ekad4 = (ekad3.getTime() / (1000*60*60*24));
var day = Math.round(ekad4 - ekad2);
//DNI KONEC

//SEKUNDY NACHALO
var diff3 = (ekad1.getTime() / (1000));
var ekad4 = (ekad3.getTime() / (1000));
var sec = Math.round(ekad4 - diff3);
//SEKUNDY KONEC

//MinUTY NACHALO
var diff2 = (ekad1.getTime() / (1000 * 60));
var ekad4 = (ekad3.getTime() / (1000 * 60));
var Min = Math.round(ekad4 - diff2);
//MinUTY KONEC

//CHASY NACHALO
var diff = (ekad1.getTime() / (1000 * 60 * 60));
var ekad5 = (ekad3.getTime() / (1000 * 60 * 60));
var hour = Math.round(ekad5 - diff);
//CHASY KONEC


if (dayz == "day") {return day}
if (dayz == "hour") {return hour}

}





//GLOBAL'NYE PEREMENNYE NACHALO

//data ekadash1 nachalo
var date6 = new Date(2014,2,12,0,0,0);
var date7 = (date6.getTime()) / (1000*60);
//data ekadash1 konec

//data ekadash2 nachalo
var date8 = new Date(2014,2,27,0,0,0);
var date9 = (date8.getTime()) / (1000*60);
//data ekadash2 konec

//data ekadash3 nachalo
var date10 = new Date(2014,3,11,0,0,0);
var date11 = (date10.getTime()) / (1000*60);
//data ekadash3 konec

//data ekadash4 nachalo
var date12 = new Date(2014,3,25,0,0,0);
var date13 = (date12.getTime()) / (1000*60);
//data ekadash4 konec

//data ekadash5 nachalo
var date14 = new Date(2014,4,10,0,0,0);
var date15 = (date14.getTime()) / (1000*60);
//data ekadash5 konec

//data ekadash6 nachalo
var date16 = new Date(2014,4,24,0,0,0);
var date17 = (date16.getTime()) / (1000*60);
//data ekadash6 konec

//data ekadash7 nachalo
var date18 = new Date(2014,5,9,0,0,0);
var date19 = (date18.getTime()) / (1000*60);
//data ekadash7 konec

//data ekadash8 nachalo
var date20 = new Date(2014,5,23,0,0,0);
var date21 = (date20.getTime()) / (1000*60);
//data ekadash8 konec

//data ekadash9 nachalo
var date22 = new Date(2014,6,9,0,0,0);
var date23 = (date22.getTime()) / (1000*60);
//data ekadash9 konec

//data ekadash10 nachalo
var date24 = new Date(2014,6,22,0,0,0);
var date25 = (date24.getTime()) / (1000*60);
//data ekadash10 konec

//data ekadash11 nachalo
var date26 = new Date(2014,7,7,0,0,0);
var date27 = (date26.getTime()) / (1000*60);
//data ekadash11 konec

//data ekadash12 nachalo
var date28 = new Date(2014,7,21,0,0,0);
var date29 = (date28.getTime()) / (1000*60);
//data ekadash12 konec

//data ekadash13 nachalo
var date30 = new Date(2014,8,5,0,0,0);
var date31 = (date30.getTime()) / (1000*60);
//data ekadash13 konec

//data ekadash14 nachalo
var date32 = new Date(2014,8,19,0,0,0);
var date33 = (date32.getTime()) / (1000*60);
//data ekadash14 konec

//data ekadash15 nachalo
var date34 = new Date(2014,9,4,0,0,0);
var date35 = (date34.getTime()) / (1000*60);
//data ekadash15 konec

//data ekadash16 nachalo
var date36 = new Date(2014,9,19,0,0,0);
var date37 = (date36.getTime()) / (1000*60);
//data ekadash16 konec

//data ekadash17 nachalo
var date38 = new Date(2014,10,3,0,0,0);
var date39 = (date38.getTime()) / (1000*60);
//data ekadash17 konec

//data ekadash18 nachalo
var date40 = new Date(2014,11,2,0,0,0);
var date41 = (date40.getTime()) / (1000*60);
//data ekadash18 konec

//data ekadash19 nachalo
var date42 = new Date(2014,11,18,0,0,0);
var date43 = (date42.getTime()) / (1000*60);
//data ekadash19 konec

//data ekadash20 nachalo
var date44 = new Date(2014,11,31,0,0,0);
var date45 = (date44.getTime()) / (1000*60);
//data ekadash20 konec

//data ekadash21 nachalo
var date46 = new Date(2014,10,18,0,0,0);
var date47 = (date46.getTime()) / (1000*60);
//data ekadash21 konec



//aktialnaya data nachalo
var date4 = new Date();
var aktualDate = (date4.getTime() / (1000*60));
//aktualnaya data konec
//GLOBAL'NYE PEREMENNYE KONEC


//---------------------------------------------------------------







//SOZDANIE EKADASHEJ DLYA GLAVNOGO SCHJOTCHIKA NACHALO

function dayNum () {
var dataMili;


//1
if (date7 - aktualDate <= 14400 && date7 - aktualDate > 0) {
dataMili = date6.getTime();


}
//2
else if (date9 - aktualDate <= 14400 && date9 - aktualDate > 0) {
dataMili = date8.getTime();

}
//3
else if (date11 - aktualDate <= 14400 && date11 - aktualDate > 0) {
dataMili = date10.getTime();

}
//4
else if (date13 - aktualDate <= 14400 && date13 - aktualDate > 0) {
dataMili = date12.getTime();

}

//5
else if (date15 - aktualDate <= 14400 && date15 - aktualDate > 0) {
dataMili = date14.getTime();

}
//6
else if (date17 - aktualDate <= 14400 && date17 - aktualDate > 0) {
dataMili = date16.getTime();

}
//7
else if (date19 - aktualDate <= 14400 && date19 - aktualDate > 0) {
dataMili = date18.getTime();

}
//8
else if (date21 - aktualDate <= 14400 && date21 - aktualDate > 0) {
dataMili = date20.getTime();

}
//9
else if (date23 - aktualDate <= 14400 && date23 - aktualDate > 0) {
dataMili = date22.getTime();

}
//10
else if (date25 - aktualDate <= 14400 && date25 - aktualDate > 0) {
dataMili = date24.getTime();

}
//11
else if (date27 - aktualDate <= 14400 && date27 - aktualDate > 0) {
dataMili = date26.getTime();

}
//12
else if (date29 - aktualDate <= 14400 && date29 - aktualDate > 0) {
dataMili = date28.getTime();

}
//13
else if (date31 - aktualDate <= 14400 && date31 - aktualDate > 0) {
dataMili = date30.getTime();

}
//14
else if (date33 - aktualDate <= 14400 && date33 - aktualDate > 0) {
dataMili = date32.getTime();

}
//15
else if (date35 - aktualDate <= 14400 && date35 - aktualDate > 0) {
dataMili = date34.getTime();

}
//16
else if (date37 - aktualDate <= 14400 && date37 - aktualDate > 0) {
dataMili = date36.getTime();

}
//17
else if (date39 - aktualDate <= 14400 && date39 - aktualDate > 0) {
dataMili = date38.getTime();

}

//21
else if (date47 - aktualDate <= 14400 && date47 - aktualDate > 0) {
dataMili = date46.getTime();

}


//18
else if (date41 - aktualDate <= 14400 && date41 - aktualDate > 0) {
dataMili = date40.getTime();

}
//19
else if (date43 - aktualDate <= 14400 && date43 - aktualDate > 0) {
dataMili = date42.getTime();

}
//20
else if (date45 - aktualDate <= 14400 && date45 - aktualDate > 0) {
dataMili = date44.getTime();

}



return dataMili;


} //konec dayNum


//SOZDANIE EKADASHEJ DLYA GLAVNOGO SCHJOTCHIKA KONEC



//PERVYJ EKADASH NACHALO: VYVOD NA EKRAN





function dayzz (dayz) {

//DNI NACHALO
var ekad1 = new Date();

var ekad2 = (ekad1.getTime() / (1000 * 60 * 60 * 24));

var ekad3 = new Date(dayNum());


var ekad4 = (ekad3.getTime() / (1000*60*60*24));
var day = Math.round(ekad4 - ekad2);
//DNI KONEC

//SEKUNDY NACHALO
var diff3 = (ekad1.getTime() / (1000));
var ekad4 = (ekad3.getTime() / (1000));
var sec = Math.round(ekad4 - diff3);
//SEKUNDY KONEC

//MinUTY NACHALO
var diff2 = (ekad1.getTime() / (1000 * 60));
var ekad4 = (ekad3.getTime() / (1000 * 60));
var Min = Math.round(ekad4 - diff2);
//MinUTY KONEC

//CHASY NACHALO
var diff = (ekad1.getTime() / (1000 * 60 * 60));
var ekad5 = (ekad3.getTime() / (1000 * 60 * 60));
var hour = Math.round(ekad5 - diff);
//CHASY KONEC


if (dayz == "day") {return day}
if (dayz == "hour") {return hour}
if (dayz == "date") {return ekad3}

}





//GLAVNYJ TAJMER NACHALO
//CHASY
if (dayzz("hour") <= 24 && dayzz("hour") >= 0) {

function updateTimer()
{

$('#aktuel1').html("Следующий Экадаш начнётся через");
$('#aktuel2').html(dayzz("hour") + " "+ "Часа");
$('#aktuel3').html(dayzz ("date"));

}

setInterval(updateTimer, 1000);

}

//TAJMER CHASOV KONEC



//TAJMER DNEJ NACHALO
if (dayzz("day") <= 10 && dayzz("day") > 0) {



function updateTimer2()
{
$('#aktuel1').html("Следующий Экадаш начнётся через");
$('#aktuel2').html(dayzz("day") + " "+ "Дней");
$('#aktuel3').html(dayzz ("date"));


}

setInterval(updateTimer2, 1000);

}

//TAJMER DNEJ KONEC







//TAJMER VYHODA IZ EKADASHA NACHALO



function vyhod(dayz){

//CHASY NACHALO

var ekad1 = new Date(dayNum2());
var ekad3 = ekad1.getTime();

var ekad2 = new Date(1000*60*60*24);
var ekad4 = ekad2.getTime();
var ekad5 = new Date();

var ekad6 = (ekad5.getTime() /(1000*60*60));
var ekad7 = (ekad3+ekad4);
var ekad8 = new Date(ekad7);
var ekad9 = ((ekad8.getTime()) / (1000*60*60));
var ekad10 = Math.round(ekad9 - ekad6);
var ekad11 = Number(ekad9);
//CHASY KONEC

if (dayz=="day") {return ekad10}
}



if (vyhod("day") > 0 && vyhod("day") <= 24) {

function updateTimer3()
{



$('.vyhod1').html("До выхода из Экадаша осталось");
$('.vyhod2').html(vyhod("day") + " "+ "Часов");


}

setInterval(updateTimer3, 1000);

}




//SPIDOK EKADASHEJ DLYA VYHODA IZ EKADASHEJ NACHALO

function dayNum2 () {
var dataMili;

//1
if (date7 - aktualDate <= 0 && (date7 + 1140)- aktualDate > 0) {
dataMili = date6.getTime();

}
//2
else if (date9 - aktualDate <= 0 && (date9 + 1440)- aktualDate > 0) {
dataMili = date8.getTime();

}
//3
else if (date11 - aktualDate <= 0 && (date11 + 1440)-aktualDate > 0) {
dataMili = date10.getTime();

}
//4
else if (date13 - aktualDate <= 0 && (date13 + 1440)-aktualDate > 0) {
dataMili = date12.getTime();

}

//5
else if (date15 - aktualDate <= 0 && (date15 + 1440)-aktualDate > 0) {
dataMili = date14.getTime();

}
//6
else if (date17 - aktualDate <= 0 && (date17 + 1440)-aktualDate > 0) {
dataMili = date16.getTime();

}
//7
else if (date19 - aktualDate <= 0 && (date19 + 1440)-aktualDate > 0) {
dataMili = date18.getTime();

}
//8
else if (date21 - aktualDate <= 0 && (date21 + 1440)-aktualDate > 0) {
dataMili = date20.getTime();

}
//9
else if (date23 - aktualDate <= 0 && (date23 + 1440)-aktualDate > 0) {
dataMili = date22.getTime();

}
//10
else if (date25 - aktualDate <= 0 && (date25 + 1440)-aktualDate > 0) {
dataMili = date24.getTime();

}
//11
else if (date27 - aktualDate <= 0 && (date27 + 1440)-aktualDate > 0) {
dataMili = date26.getTime();

}
//12
else if (date29 - aktualDate <= 0 && (date29 + 1440)-aktualDate > 0) {
dataMili = date28.getTime();

}
//13
else if (date31 - aktualDate <= 0 && (date31 + 1440)-aktualDate > 0) {
dataMili = date30.getTime();

}
//14
else if (date33 - aktualDate <= 0 && (date33 + 1440)-aktualDate > 0) {
dataMili = date32.getTime();

}
//15
else if (date35 - aktualDate <= 0 && (date35 + 1440)-aktualDate > 0) {
dataMili = date34.getTime();

}
//16
else if (date37 - aktualDate <= 0 && (date37 + 1440)-aktualDate > 0) {
dataMili = date36.getTime();

}
//17
else if (date39 - aktualDate <= 0 && (date39 + 1440)-aktualDate > 0) {
dataMili = date38.getTime();

}

//21
else if (date47 - aktualDate <= 0 && (date47 + 1440)-aktualDate > 0) {
dataMili = date46.getTime();

}


//18
else if (date41 - aktualDate <= 0 && (date41 + 1440)-aktualDate > 0) {
dataMili = date40.getTime();

}
//19
else if (date43 - aktualDate <= 0 && (date43 + 1440)-aktualDate > 0) {
dataMili = date42.getTime();

}
//20
else if (date45 - aktualDate <= 0 && (date45 + 1440)-aktualDate > 0) {
dataMili = date44.getTime();

}


return dataMili;


} //konec dayNum
//KONEC DAYNUM2




//TAJMER VYHODA IZ EKADASHA KONEC








//GLAVNYJ TAJMER KONEC





//SPISOK EKADASHEJ TAJMER NACHALO


function updateTimer4()
{
var setu = "";

var dayNumm = dayNum3();
for(var i = 0; i < dayNumm.length; i++) {




//DNI NACHALO
var ekad1 = new Date();
var ekad2 = (ekad1.getTime() / (1000 * 60 * 60 * 24));
var ekad3 = new Date(dayNumm[i]);
var ekad4 = (ekad3.getTime() / (1000*60*60*24));
var day = Math.round(ekad4 - ekad2);


//DNI KONEC


//CHASY NACHALO
var diff = (ekad1.getTime() / (1000 * 60 * 60));

var ekad = (ekad3.getTime() / (1000 * 60 * 60));

var hour = Math.round(ekad - diff);

//CHASY KONEC

//MinUTY NACHALO
var diff2 = (ekad1.getTime() / (1000 * 60));
var ekad4 = (ekad3.getTime() / (1000 * 60));
var Min = Math.round(ekad4 - diff2);
//MinUTY KONEC

//SEKUNDY NACHALO
var diff3 = (ekad1.getTime() / (1000));
var ekad4 = (ekad3.getTime() / (1000));
var sec = Math.round(ekad4 - diff3);
//SEKUNDY KONEC
var chislo = new Date(dayNumm[i]);


setu += "<div style = 'border: 10px solid black'>" + day + "\u00A0" + "Дней" + "\u00A0" + Min + "\u00A0" + "Минут" + "\u00A0" + sec + "\u00A0" + "Секунд" + "\u00A0" + "\u00A0" + "\u00A0" + "<p style='color:red'>" + chislo + "</p>" + "</div>" +"<br>";

}

$(".ekad").html(setu);




}

setInterval(updateTimer4, 1000);

//SPISOK EKADASHEJ TAJMER KONEC





//FUNKCIYA SPISKA EKADASHEJ 3 NACHALO


function dayNum3 () {

var dataMili;
var result = [];

//1
if (date7 - aktualDate >= 14400) {
dataMili = date6.getTime();
result.push(dataMili);

}
//2
if (date9 - aktualDate >= 14400) {
dataMili = date8.getTime();
result.push(dataMili);

}
//3
if (date11 - aktualDate >= 14400) {
dataMili = date10.getTime();
result.push(dataMili);


}
//4
if (date13 - aktualDate >= 14400) {
dataMili = date12.getTime();
result.push(dataMili);
}

//5
if (date15 - aktualDate >= 14400) {
dataMili = date14.getTime();
result.push(dataMili);
}
//6
if (date17 - aktualDate >= 14400) {
dataMili = date16.getTime();
result.push(dataMili);
}
//7
if (date19 - aktualDate >= 14400) {
dataMili = date18.getTime();
result.push(dataMili);
}
//8
if (date21 - aktualDate >= 14400) {
dataMili = date20.getTime();
result.push(dataMili);
}
//9
if (date23 - aktualDate >= 14400) {
dataMili = date22.getTime();
result.push(dataMili);
}
//10
if (date25 - aktualDate >= 14400) {
dataMili = date24.getTime();
result.push(dataMili);
}
//11
if (date27 - aktualDate >= 14400) {
dataMili = date26.getTime();
result.push(dataMili);
}
//12
if (date29 - aktualDate >= 14400) {
dataMili = date28.getTime();
result.push(dataMili);
}
//13
if (date31 - aktualDate >= 14400) {
dataMili = date30.getTime();
result.push(dataMili);
}
//14
if (date33 - aktualDate >= 14400) {
dataMili = date32.getTime();
result.push(dataMili);
}
//15
if (date35 - aktualDate >= 14400) {
dataMili = date34.getTime();
result.push(dataMili);
}
//16
if (date37 - aktualDate >= 14400) {
dataMili = date36.getTime();
result.push(dataMili);
}
//17
if (date39 - aktualDate >= 14400) {
dataMili = date38.getTime();
result.push(dataMili);
}

//21
if (date47 - aktualDate >= 14400) {
dataMili = date46.getTime();
result.push(dataMili);
}

//18
if (date41 - aktualDate >= 14400) {
dataMili = date40.getTime();
result.push(dataMili);
}
//19
if (date43 - aktualDate >= 14400) {
dataMili = date42.getTime();
result.push(dataMili);
}
//20
if (date45 - aktualDate >= 14400) {
dataMili = date44.getTime();
result.push(dataMili);
}


return result;

} //konec dayNum




//FUNKCIYA SPISKA EKADASHEJ 3 KONEC



//PERVYJ EKADASH KONEC


А как можно было проще сделать вы говорили? Проще написать этот код

monopolie 17-03-2014 22:09 2325007

Что делается строкой new User?? Для чего new?
Это объекту присваивается метод так?


function User (firstname, lastname) {
this. firstname = firstname;
this. lastname = lastname;
}

var Vasya = new User (“Вася” , “Иванов”);

Habetdin 18-03-2014 10:24 2325131

monopolie, создается новый объект. Google творит чудеса ;)

monopolie 19-03-2014 13:21 2325671

Я думал объекты создаются так -- new Object()
То-есть слово Object обязательно.

monopolie 26-03-2014 20:54 2328999

Так и не понял почему делается такая запись. Ведь объекты создаются
или так 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 в функции.

Habetdin 26-03-2014 23:50 2329122

Цитата:

Цитата monopolie
или так new Object() (слово Object обязательно)»

Нет, не обязательно использовать слово Object. Просто Object - стандартный объект в JS, описанный кстати по обоим ссылкам из вашего поста.
После слова new должен указываться тип (aka прототип) создаваемого объекта, из стандартных в пример можно привести Array или Date.
Цитата:

Цитата monopolie
var variable = {} »

Будет создан пустой объект, прототип которого - тот самый стандартный Object, как если бы написали var variable = new Object();
Цитата:

Цитата monopolie
Почему так пишется непонятно: »

Либо как в этом коде, автор должен описать свою функцию-конструктор для данного типа (в примере - User). Кстати, возможно "слово Object обязательно" появилось после попытки создать свой объект, перед этим не создав конструктор для этого типа? :)
Цитата:

Цитата monopolie
Здесь я вижу что функции User даётся два параметра и непонятно зачем тут слово new .
var Vasya = new User (“Вася” , “Иванов”);
Всё работало бы и без слова new если убрать ещё слово this в функции. »

Без слова new и this в Vasya запишется результат, возвращенный функцией (в приведенном примере его нет, будет пусто). В итоге не будет объекта, и нельзя будет прочитать, например, его свойство Vasya.firstname (в обычном режиме JS он попадет в firstname (window.firstname).
Без new но с this - сценарий выдаст ошибку.
А с new и this - запишет в объект Vasya типа User 2 свойства firstname и lastname, к которым можно будет обратиться по Vasya.firstname и Vasya.lastname соответственно.

Вот, можно поиграться на jsfiddle и понять разницу.

monopolie 27-03-2014 22:38 2329524

---

monopolie 05-04-2014 18:09 2333530

Как сделать чтобы проигрывался музыкальный файл(mp3). Без открытия медиа плеера?
Ну вот в компьютере всякие звуки системные есть ведь, каждый раз медиа плеер не открывается ведь.
Можно так же в ява скрипте сделать?
Я программу хочу написать для изучения слов и чтобы звуки воспроизводились.

Habetdin 05-04-2014 19:12 2333555

monopolie, аудио в вебе - тег audio. Либо указываем необходимые параметры, либо динамически управляем ими с помощью JS - все на ваш вкус :)

monopolie 05-04-2014 19:25 2333558

Есть аналог этого в яваскрипте?
Без изображения плеера на экране можно сделать?
Просто чтобы при команде из яваскрипта звук воспроизводился. Без нажатия в браузере чего-либо.

Habetdin 05-04-2014 19:52 2333569

Цитата:

Цитата monopolie
Без изображения плеера на экране можно сделать? »

Без параметра controls он и не отобразиться :)
Цитата:

Цитата monopolie
при команде из яваскрипта звук воспроизводился »

Нужно применить метод play():
HTML код:

<audio id="audiotag1" src="example.mp3" preload="auto"></audio>
Код:

document.getElementById('audiotag1').play();

Кстати, чтобы не прописывать свой звук заранее в коде страницы, можно создавать элемент audio с помощью JS:
Код:

var audio = new Audio('example.mp3'); // создаст элемент audio, правда куда его засунет - не знаю :)
audio.play(); // проиграть звук


monopolie 06-04-2014 01:50 2333700

Пытаюсь написать скрипт. Простой перебор элементов массива по команде setInterval().
Каждую секунду должны переключаться элементы массива.
Тут.
http://jsfiddle.net/7mLA9/

Создал два массива и отдал методу setInterval(). Вроде логически всё правильно. Но не работает.
Почему?

Habetdin 06-04-2014 03:14 2333709

Цитата:

Цитата monopolie
Вроде логически всё правильно. Но не работает.
Почему? »

Потому что при каждом выполнении функции вы полностью прогоняете цикл for, в итоге показывая только последний результат :)
Цитата:

Цитата monopolie
Каждую секунду должны переключаться элементы массива. »

Вот и надо переключать по одному, а не прогонять все за один раз. Изменяйте i один раз за выполнение функции, и сравните полученный результат с описанным ниже:
читать дальше »
Код:

var i = 0; // счетчик = 0
function fixedFunc()
{
    // ... используем наш массив с индексом i
    i++; // при каждой итерации увеличиваем счетчик
    if (array.length == i) i = 0; // и сбрасываем его, если добрались до конца массива :)
}

setInterval(fixedFunc, 1000);

И все в итоге работает :cool:

monopolie 06-04-2014 04:03 2333713

Не получается запустить метод showModalDialog();
Сначало работал, потом перестал почему-то.
Не принимаются параметры через dialogArguments.

Две переменные.

var c = "2sdfgsdfg";
var d = "5sdfgsdfgsdf";

Открываем окно и передаём переменную с.

var cl =showModalDialog("SLOVA.html" , [c])
--------------------------------------------
Другое окно которое открывается.

alert(dialogArguments[0]);
-------------------------------------------
По всякому пробовал уже.

Вот на фидл. Только там это не сработает.
http://jsfiddle.net/YVyj7/

monopolie 06-04-2014 20:44 2334001

Выключил в браюзере блокировку всплывающих окон. Всё заработало.

Можно showModalDialog обработать так чтобы это окно не воспринималось как всплывающее окно?

Какой метод лучше? open() или showModalDialog()

Методом open() кстати даже при заблокированных настройках всплывающих окон передаётся параметр opener.

monopolie 06-04-2014 21:47 2334016

Не получается запустить функцию из дочернего окна.
В главном окне вот эта функция написана.

var cl = open("SLOVA.html");

function dial () {

alert("dfsd");

}

А в дочернем окне пытался так запустить:

opener.dial();

monopolie 06-04-2014 22:47 2334045

Эти методы не кроссбраузерные? Как жаль что они коряво работают. Единственный метод для передачи данных в другое окно.

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

А в самом начале ошибка у меня была потомучто я поместил код всплывающего окна в $(document).ready(function() {});

Habetdin 06-04-2014 22:54 2334047

Цитата:

Цитата monopolie
Эти методы не кроссбраузерные? »

window.open вроде бы кроссбраузерен, а вот window.showModalDialog - не уверен.
Цитата:

Цитата monopolie
нужно жать на разрешение всплывающего окна »

Если окно будет открываться в ответ на действие пользователя - например, функцией, вызываемой по клику на каком-либо элементе, разрешения не требуется :)
(AFAIK, из-за этого всплывающая реклама обычно открывается кликом по body :jester:)

monopolie 06-04-2014 23:59 2334084

Есть кроссбраузерный метод в яваскрипте для передачи данных из одной страницы в другую?

Хром не поддерживает open().
А showModalDialog забраковали.
https://developer.mozilla.org/en-US/...howModalDialog

monopolie 07-04-2014 01:35 2334108

Получается метод open() тоже нельзя использовать. Он в хроме не работает.
Есть замена этим методам? Которые на всех браузерах работают?

monopolie 07-04-2014 06:25 2334120

Блин. И в Фаерфоксе не работает. Что это за методы, для издевательств чтоли??
Я как раз из за этих возможностей начал яваскрипт учить. А тут такое дело что этих возможностей и нету.
В главном окне открываю окно и вызываю функцию из открывшегося окна.

var cl = open("SLOVA.html" , "name" );

cl.ret();


В открывшемся окне написана функция которая должна выполниться.

function ret() {
alert("Алерт");
}
Фаербаг пишет что функции cl.ret(); не существует.
--------------------------------------
Только интернет Эксплорер работает с этим методом. И этим Интернет эксплорером уже никто не пользуется.

Habetdin 07-04-2014 09:30 2334133

Цитата:

Цитата monopolie
Фаербаг пишет что функции cl.ret(); не существует. »

Дождитесь загрузки страницы в дочернем окне, а затем вызывайте функцию. Либо таймаут (setTimeout), либо ожидание события загрузки... :)
Цитата:

Цитата monopolie
Он в хроме не работает. »

Вызывается при действии пользователя?
Цитата:

Цитата Habetdin
Если окно будет открываться в ответ на действие пользователя, разрешения не требуется »

Кстати, на локалке хром будет жаловаться при тестировании междуоконных вызовов:
Цитата:

Uncaught SecurityError: Blocked a frame with origin "null" from accessing a frame with origin "null". Protocols, domains, and ports must match.
А на тестовом сайте все нормально, и "в ту", и "в другую сторону" между окнами функции вызываются :tomato2:

monopolie 07-04-2014 10:29 2334150

Делал я уже так. Ждать загрузки документа и потом выполнять код. Так даже и Интернет Експлорер не работает.

Главное окно.
$(document).ready(function() {

var cl = open("SLOVA.html" , "name" );

cl.ret();

});

Дочернее окно.

$(document).ready(function() {
function ret() {
alert("Алерт");
}
});

И чередовал их тоже. Один без ready другой с ready.
В интернет експлорере работает, в других браузерах нет.

Habetdin 07-04-2014 10:34 2334154

Цитата:

Цитата monopolie
Ждать загрузки документа и потом выполнять код »

Цитата:

Цитата monopolie
var cl = open("SLOVA.html" , "name" );
cl.ret(); »

Ну нету же здесь ожидания перед cl.ret() :closed-to
Цитата:

Цитата monopolie
этим кодом ждётся загрузка документа »

Это дочернее окно ждет своей загрузки перед объявлением функции ret(),
а вот главное окно ничего не ждет и сразу после открытия пытается запустить ret(), которого нет :tomato2:

monopolie 07-04-2014 13:24 2334195

Разобрался как это работает. Спасибо.

Но почему то в Хроме не работает.
Онлайн работает всё в хроме.

А на компьютере не работает. Я скопировал всё так же как и в онлайн примере.
В других браузерах работает кроме хрома.

Habetdin 07-04-2014 15:16 2334253

Цитата:

Цитата monopolie
А на компьютере не работает »

Я писал выше про политику безопасности в хроме, при локальной работе он не считает безопасным обращение одной страницы к другой :dont-know
Так что тестировать локально можно либо в другом браузере, либо используя какой-нибудь веб-сервер (простой путь - denwer).

monopolie 07-04-2014 18:35 2334362

Какие есть ещё параметры?
if (windowRef.closed == false)

closed.
Наверное ещё opened есть? А ещё какие?

Habetdin 07-04-2014 18:38 2334365

Цитата:

Цитата monopolie
Наверное ещё opened есть? »

Если не closed - значит окно еще не закрыли. opened для такой проверки не существует, ибо не нужен.

Цитата:

Цитата monopolie
А ещё какие? »

На не раз уже приводимом для справки сайте javascript.ru есть описание и этого: window: методы, свойства ;)

monopolie 09-04-2014 21:48 2335482

Можно как нибудь оффлайн, без денвера воспроизводить аудио в IE8?

Habetdin 09-04-2014 22:01 2335490

monopolie, поддержка тега audio появилась в IE 9 версии. Для старых версий IE можно использовать embed/object.

monopolie 09-04-2014 23:01 2335530

В Хроме <embed> просит устанавливать плагин QuickTimePlayer.
В Фаерфоксе <embed> не работает. Ошибок не выдаёт.
В IE8 оффлайн не работают некоторые методы. Например hidden= "true".
Онлайн работают http://learn.javascript.ru/play/tVYo6b

-----------------------------

Тег <object> не работает ни в каком браузере.
В IE8 показывается неактивная панелька плеера.

-----------------------------

У меня Виндовс ХР. IE9 не смогу поставить.

Habetdin 10-04-2014 10:38 2335671

monopolie, а почему для mp3 выбран mime-тип audio/x-midi? Правильный - audio/mpeg.
Вот тут можно протестировать работу embed и object, переходя по "Try it yourself" после примеров кода. Ну и заодно там есть "The Best Solution" - пример "отката" на embed при неподдерживаемом audio в браузере.

monopolie 10-04-2014 14:31 2335748

Разобрался))
Я высоту и ширину у <embed> задавал, поэтому hidden = "true" не работало)))
У <bgsound> постоянно какой-то кодек вылазит в трее.
Круто. Даже не надо делать проверку каким браузером открыта страница с кодом The Best Solution)))

monopolie 19-04-2014 21:27 2340666

Можете расшифровать данный код?
читать дальше »
({
dom: {
window: window,
document: document
},
writeToConsole: function() {
console.log.apply(console, arguments);
},
showModalWindow: function() {
alert.apply(this.dom.window, arguments);
},
onClick: function(event) {
var msg = 'x=' + event.pageX + ', y=' + event.pageY;
this.writeToConsole(msg);
this.showModalWindow(msg);
},
init: function() {
this.dom.document.onclick = this.onClick.bind(this);
}
}).init();

http://learn.javascript.ru/play/is4l8

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

Я не понимаю что где прописано.
Например:

Что делается тут? this.onClick.bind(this);
При клике должно выполняться это this.onClick.bind(this);
Это значит так dom.onClick.bind(dom);
Зачем dom передаётся в метод bind ?
В метод bind() должны ведь вставляться события типа click.

monopolie 22-04-2014 13:38 2341525

Как вывести алерт при соприкосновении красного блока с зелёным?? Какое должно быть условие?
http://jsfiddle.net/xLa9m/1/


Время: 02:42.

Время: 02:42.
© OSzone.net 2001-