JavaScript & jQuery
UnderShot
Группа: Модераторы
Пользователь №: 45
Сообщений: 923
Получено оценок: 85
Чтобы не создавать отдельные темы с проблемой в JavaScript, решил создать тему с вопросами по jS и jQ. Задаем вопросы… Ссылки для обучения JS: 1. Центральный Javascript-ресурс 2. Учебники JavaScript 3. Уроки JavaScript 4. Справочник JavaScript 5. JavaScript tutorials 6. Плагины для jQuery 7. Учим JavaScript 8. Интересные решения на JS Конечно, если я какие-нибудь ссылки пропустил, оповестите меня, и я добавлю эти ссылки.
UPD Стандарт экма на русском: http://javascript.ru/ecma
Очень важная тема! Filmzona — онлайн фильмы .
Just_
Группа: Проверенные
Пользователь №: 1418
Сообщений: 19
Получено оценок: 4
Привет всем. Мне нужно сделать, что бы при нажатии на ссылку появлялся блок и в нем информация. И нужно, чтобы при клике вне этого блока он исчезал. Пытался сделать. Все получилось, но он исчезает если кликнуть внутри него.
UnderShot
Группа: Модераторы
Пользователь №: 45
Сообщений: 923
Получено оценок: 85
Не проверял:Code
<script> (function(ids){ var a=document,b=["getElementsByTagName","getElementById"],i=ids.split(","); a[b[1]](i[0]).onclick=function(){a[b[1]](i[1]).style.display="block"}; for(var o=0,d=a[b[0]]("*");o<d.length;o++){ if(d[o].id!=i[1]){ d[o].onclick=function(){a[b[1]](i[1]).style.display="none"} } } }("link_id,elem_id")) </script>
Перед </body> Очень важная тема! Filmzona — онлайн фильмы .
Aleko
Watching you
Группа: Администраторы
Пользователь №: 2
Сообщений: 1621
Получено оценок: 167
Проверял. Code
<!DOCTYPE html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body> <a href='javascript:document.getElementById("block").style.display="";void(0)'>Показать блок</a> <div id='block' style='display:none;border:1px solid black;height:100px;width:200px;'>Контент</div> <script> (function(a){ window.onclick = function(event){ // вешать событие напрямую не очень хорошо var target = event ? event.target : window.event.srcElement, // получаем блок, в котором произошло событие current = a.style.display=="none", // узнаем, скрыт ли блок isChild = false; // узнаем, произошло ли событие внутри блока или снаружи while(target!=document){ if(target==a){ isChild=true; break }else{ target=target.parentNode } } if(!isChild && !current){ a.style.display="none" // профит! } } })( document.getElementById("block") // получаем наш элемент ) </script> </body> </html>
Бесплатные обои.
Just_
Группа: Проверенные
Пользователь №: 1418
Сообщений: 19
Получено оценок: 4
Aleko , Большое спасибо, но можно еще сделать, чтобы при клике на ссылку "Показать блок" блок тоже закрывался (если открыт)?
DSC
Группа: Проверенные
Пользователь №: 127
Сообщений: 516
Получено оценок: 41
Aleko , подсветка хромает...aka Latro
UnderShot
Группа: Модераторы
Пользователь №: 45
Сообщений: 923
Получено оценок: 85
Чет я бред написал Очень важная тема! Filmzona — онлайн фильмы .
DSC
Группа: Проверенные
Пользователь №: 127
Сообщений: 516
Получено оценок: 41
Code
<script type='text/javascript'> function hex(c){ return c.replace(/^#(.)(.)(.)$/,'$1$1$2$2$3$3') .replace(/(\d+\%?)([,)])/g,function(a,b,c){ return parseInt(b).toString(16).replace(/^(.)$/,'0$1')+c }) .replace(/[^\da-f]+/g,'') .replace(/^b/,'') } function rgb(c){ var p=parseInt; return c.replace(/^#/,'') .replace(/^(.)(.)(.)$/,'$1$1$2$2$3$3') .replace(/^(..)(..)(..)$/i,function(a,b,c,d){ return 'rgb('+p(b,16)+','+p(c,16)+','+p(d,16)+')' }) } </script>
aka Latro
Drug
шептун
Группа: Проверенные
Пользователь №: 2803
Сообщений: 55
Вечер добрый, вот появился вопрос. Возможно-ли в новостях сайта - страница материала и комментариев к нему реализовать <вперед назад> Как в модуле онлайн игры?
Code
<?if($NUM_ENTRIES$>1)?><div style="float:center;" class="entPrevNext"><div align="center"><a href="$PREVIOUS_ENTRY_URL$"><img title="Назад" src="http://cdn.iconfinder.net/data/icons/glaze/32x32/actions/previous.png" align="absmiddle" border="0"></a> <a href="$NEXT_ENTRY_URL$"><img title="Вперед" src="http://cdn.iconfinder.net/data/icons/glaze/32x32/actions/next.png" align="absmiddle" border="0"></a> </div><?endif?>
Т.е следующий полный материал Жизнь=Сумотоха Сообщение отредактировал Drug - Среда, 22.09.2010, 18:33
UnderShot
Группа: Модераторы
Пользователь №: 45
Сообщений: 923
Получено оценок: 85
Drug , я так делал .Очень важная тема! Filmzona — онлайн фильмы .
Drug
шептун
Группа: Проверенные
Пользователь №: 2803
Сообщений: 55
UnderShot , спасибо большое!!! Можно еще спрошу вопрос. Вот, на форуме есть онлайн видео вот код Code
e=document.getElementsByTagName("TD"); for(k=0;k<e.length;k++) { if(e[k].className=='posttdMessage') { s=e[k].innerHTML; while (s.indexOf('[flv]') != -1) { s=s.replace('[flv]','<embed src="/Mediapleer/player.swf" type="application/x-shockwave-flash" allowfullscreen="true" flashvars="&file='); s=s.replace('[/flv]','&height=500&width=410" width="500" height="410">'); e[k].innerHTML=s; }}}
При добавлении, видео идет вот сюда &file=' А как бы так сделать, чтобы внизу автоматически появлялась ссылка на этот файл и было написано что-то типа прямая ссылка?Жизнь=Сумотоха Сообщение отредактировал Drug - Четверг, 23.09.2010, 21:18
UnderShot
Группа: Модераторы
Пользователь №: 45
Сообщений: 923
Получено оценок: 85
Drug , Code
s=s.replace('[/flv]','&height=500&width=410" width="500" height="410"><br/><a href="'+s.replace(/&file=([^&]+)(.+)/g,"$1")+'">Прямая ссылка</a>');
Очень важная тема! Filmzona — онлайн фильмы .
Drug
шептун
Группа: Проверенные
Пользователь №: 2803
Сообщений: 55
UnderShot , от души! Я вот попытался сделать по аналогии, с mp3 <object></object> но почему-то ссылка сливается с подписью и дальше каракули А вот код mp3 Code
e=document.getElementsByTagName("TD"); for(k=0;k<e.length;k++) { if(e[k].className=='posttdMessage') { s=e[k].innerHTML; while (s.indexOf('[mp3]') != -1) { s=s.replace('[mp3]','<object style="visibility: visible;" data="mp3_player.swf" type="application/x-shockwave-flash" height="30" width="292"><param value="players_number=7&player_id=1&snd_name='); s=s.replace('[/mp3]','&volume=70&player_mode=Compact&controls_color=0xdf57ef&controls_color_over=0xdf57ef&bg_color=0x202020&player_opacity=100&auto_play_on_start=Off" name="flashvars"></object>'); e[k].innerHTML=s; }}}
Наверное я надоел уже, ну все-же
Жизнь=Сумотоха Сообщение отредактировал Drug - Четверг, 23.09.2010, 23:09
Drug
шептун
Группа: Проверенные
Пользователь №: 2803
Сообщений: 55
Не получается Жизнь=Сумотоха
UnderShot
Группа: Модераторы
Пользователь №: 45
Сообщений: 923
Получено оценок: 85
Code
s=s.replace('[/mp3]','&volume=70&player_mode=Compact&controls_color=0xdf57ef&controls_color_over=0xdf57ef&bg_color=0x202020&player_opacity=100&auto_play_on_start=Off" name="flashvars"></object><br/><a href="'+s.replace(/&snd_name=([^&]+)(.+)/g,"$1")+'">Прямая ссылка</a>');
Очень важная тема! Filmzona — онлайн фильмы .
Drug
шептун
Группа: Проверенные
Пользователь №: 2803
Сообщений: 55
UnderShot , спасибо за труды Но видимо это я не правильно объяснил, &snd_name=вот сюда' грузится mp3 файл и нужно на него ссылку, а получается ссылка на страницу Жизнь=Сумотоха
UnderShot
Группа: Модераторы
Пользователь №: 45
Сообщений: 923
Получено оценок: 85
Drug , приведи пример кода со всеми ссылками.Очень важная тема! Filmzona — онлайн фильмы .
Drug
шептун
Группа: Проверенные
Пользователь №: 2803
Сообщений: 55
UnderShot , Привет, вот это у меня в общем виде страниц форума Code
<script type="text/javascript"> e=document.getElementsByTagName("TD"); for(k=0;k<e.length;k++) { if(e[k].className=='posttdMessage') { s=e[k].innerHTML; while (s.indexOf('[my_mp3]') != -1) { s=s.replace('[my_mp3]','<object type="application/x-shockwave-flash" data="/player.swf" height="20" width="200"><param name="movie" value="/player.swf"> <param name="FlashVars" value="playerID=1 &autostart=no&animation=yes&soundFile='); s=s.replace('[/my_mp3]','"><param name="quality" value="high"><param name="menu" value="true"><param name="bgcolor" value="#ffffff"></object>'); e[k].innerHTML=s; }}} </script>
А вставка mp3 вот так [my_mp3]файл.mp3[/my_mp3] и т.е файл.mp3 вот тут soundFile=' soundFile=вот_тут' А нужно как раз на него ссылкуЖизнь=Сумотоха Сообщение отредактировал Drug - Суббота, 25.09.2010, 17:48
UnderShot
Группа: Модераторы
Пользователь №: 45
Сообщений: 923
Получено оценок: 85
Code
s=s.replace('[/my_mp3]','"><param name="quality" value="high"><param name="menu" value="true"><param name="bgcolor" value="#ffffff"></object><br/><a href="'+s.replace(/&soundFile=([^&]+)(.+)/g,"$1")+'">Прямая ссылка</a>');
Не?Очень важная тема! Filmzona — онлайн фильмы .
Drug
шептун
Группа: Проверенные
Пользователь №: 2803
Сообщений: 55
UnderShot , нет, ну ладно тогда обойдусь Жизнь=Сумотоха
Drug
шептун
Группа: Проверенные
Пользователь №: 2803
Сообщений: 55
А вот как сделать, есть изображение которое нельзя скопировать вот примерно как выводиться: Code
<span oncontextmenu="return false;" ondragstart="return false";><img src="изображение.jpg" galleryimg="no"></span>
И чтобы на форуме ко всем изображениям, применялась данная функия? Жизнь=Сумотоха
Slimmi
говорун
Группа: Модераторы
Пользователь №: 5
Сообщений: 287
Получено оценок: 38
Quote (Drug )
А вот как сделать, есть изображение которое нельзя скопировать
ни как Большие фотостатусы
DSC
Группа: Проверенные
Пользователь №: 127
Сообщений: 516
Получено оценок: 41
Drug , обычным цыкломaka Latro
Slimmi
говорун
Группа: Модераторы
Пользователь №: 5
Сообщений: 287
Получено оценок: 38
Quote (DSC )
обычным цыклом
Интересно как?Большие фотостатусы
UnderShot
Группа: Модераторы
Пользователь №: 45
Сообщений: 923
Получено оценок: 85
Slimmi , Code
for(var i=0,a=document.images;i<a.length;i++){ try{ a[i].oncontextmenu="return false"; a[i].ondragstart="return false" } catch(e){ a[i].getAttribute("oncontextmenu")="return false"; a[i].getAttribute("ondragstart")="return false" } }
Только насчет getAttribute не уверен.Очень важная тема! Filmzona — онлайн фильмы .
DSC
Группа: Проверенные
Пользователь №: 127
Сообщений: 516
Получено оценок: 41
UnderShot , так если не уверен, зачем всё это делать?? оО Да и тем более, так как сделал ты, будет работать не визде! А вот так правильно: Code
<script> for(var i=0,t;t=document.images[i++];)t.oncontextmenu=t.ondragstart=function(){return false}; </script>
aka Latro Сообщение отредактировал DSC - Вторник, 28.09.2010, 17:17
Drug
шептун
Группа: Проверенные
Пользователь №: 2803
Сообщений: 55
DSC , спасибо огромное, работает!Жизнь=Сумотоха
Just_
Группа: Проверенные
Пользователь №: 1418
Сообщений: 19
Получено оценок: 4
Привет всем. Aleko писал небольшой скрипт авто-прокрутка textarea . Так вот вопрос. Как это сделать на форуме uCoz, если там код $_MESSAGE$ ?
Infamous
Группа: Проверенные
Пользователь №: 316
Сообщений: 158
Получено оценок: 21
Code
var el = document.getElementById('message'); el.style.overflow = 'hidden'; el.style.resize = 'none'; el.onkeyup = function () { check(this.id); };
dancelot
говорун
Группа: Проверенные
Пользователь №: 26
Сообщений: 236
Получено оценок: 13
Интересно,Алеко,вроде со скриптами на ты,разрабатываешь собственные вещи,а до сих пор пользуешься методом document.write,который не рекомендуется использовать уже несколько лет. твоё мнение по поводу такой замены старого метода document.write:
старая запись:
Code
document.write("hello world");
новая запись
Code
document.getElementById('hello').innerHTML('hello world');
Infamous
Группа: Проверенные
Пользователь №: 316
Сообщений: 158
Получено оценок: 21
Quote (dancelot )
.innerHTML('hello world');
LOL
innerHTML — это свойство, а не метод.
dancelot
говорун
Группа: Проверенные
Пользователь №: 26
Сообщений: 236
Получено оценок: 13
Quote (Infamous )
innerHTML — это свойство, а не метод.
LOL
где в моём сообщении ты увидел,что я написал innerHTML — это метод?
Infamous
Группа: Проверенные
Пользователь №: 316
Сообщений: 158
Получено оценок: 21
Quote (dancelot )
.innerHTML('hello world');
.innerHTML = 'hello world'; надо.
Не знаешь — не пиши.
DSC
Группа: Проверенные
Пользователь №: 127
Сообщений: 516
Получено оценок: 41
Infamous , забей! человек явно привык к jQuery!aka Latro
dancelot
говорун
Группа: Проверенные
Пользователь №: 26
Сообщений: 236
Получено оценок: 13
Quote (Infamous )
Не знаешь — не пиши.
а ты Алеко? вопрос то я адресовал именно ему,а не тебе,но тебя так распирает выпендриться? вопрос я задал ему,потому что меня интересует именно его мнение по этому вопросу.
Сообщение отредактировал dancelot - Вторник, 19.10.2010, 15:45
Aleko
Watching you
Группа: Администраторы
Пользователь №: 2
Сообщений: 1621
Получено оценок: 167
Моё мнение - использовать гораздо более длинную конструкцию, да ещё и пишущую в заранее подготовленный тег, вместо краткой, универсальной, стандартной конструкции - бред. Бесплатные обои.
Infamous
Группа: Проверенные
Пользователь №: 316
Сообщений: 158
Получено оценок: 21
Quote (dancelot )
а ты Алеко? вопрос то я адресовал именно ему,а не тебе,но тебя так распирает выпендриться?
Нет. Ты просто такую хрень сморозил, что я не сдержался и отписал в теме.
UnderShot
Группа: Модераторы
Пользователь №: 45
Сообщений: 923
Получено оценок: 85
Только если…Code
HTMLElement.prototype.innerHTMl=function(a){ if(a) return this.innerHTML=a; else return this.innerHTML; };
Очень важная тема! Filmzona — онлайн фильмы .
dancelot
говорун
Группа: Проверенные
Пользователь №: 26
Сообщений: 236
Получено оценок: 13
Quote (Aleko )
Моё мнение - использовать гораздо более длинную конструкцию, да ещё и пишущую в заранее подготовленный тег, вместо краткой, универсальной, стандартной конструкции - бред.
спасибо за ответ
Quote (Infamous )
Нет. Ты просто такую хрень сморозил, что я не сдержался и отписал в теме.
хм...надо быть терпимее к людям,а рецепт кода не мой,я всего лишь хотел узнать мнение Алеко по этому поводу
CoolSenpai
говорун
Группа: Проверенные
Пользователь №: 2213
Сообщений: 116
Получено оценок: 24
UnderShot , Лучше уже первый способ
UnderShot
Группа: Модераторы
Пользователь №: 45
Сообщений: 923
Получено оценок: 85
Как узнать, сколько раз была вызвана функция внутри нее самой?Code
function lol(){alert("Сколько раз я вызывалась")}
Очень важная тема! Filmzona — онлайн фильмы .
DSC
Группа: Проверенные
Пользователь №: 127
Сообщений: 516
Получено оценок: 41
Code
<script> function name(){alert('функция вызвана '+ ++name.i+' раз(а)')} name.i=0; name(); name() </script>
aka Latro
UnderShot
Группа: Модераторы
Пользователь №: 45
Сообщений: 923
Получено оценок: 85
Так, вопрос не правильно поставил, сколько вызовов функции было совершено я знаю, мне нужно, чтобы при выполнении каждой функции выдавало ее id (номер, например 1, 2, 3…). Очень важная тема! Filmzona — онлайн фильмы .
UnderShot
Группа: Модераторы
Пользователь №: 45
Сообщений: 923
Получено оценок: 85
Все, готово) Очень важная тема! Filmzona — онлайн фильмы .
Drug
шептун
Группа: Проверенные
Пользователь №: 2803
Сообщений: 55
Всем привет, есть скрипт, который не даёт появляться аякс окну при добавлении материала и делает редирект на страницу материала, Code
<script type="text/javascript"> function redirLayer(){ redir=$('.myWinCont a').attr('href'); if(redir!=undefined){ _uWnd.close('addEnt'); // закрываем layer window.location.href=redir; // перенаправляем на новость. clearInterval(int);}} int=setInterval(function(){redirLayer()},10); </script>
(вставляется после $body$ в страницу (доб/ред) Интересно, а как можно сделать, чтобы перенаправляла не на страницу материала, а на главную того модуля куда добавил? --------- И ещё можно ли реализовать, такую фишку, как комментарии пользователя в виде материла, может как-то через iframe? Буду очень благодарен и думаю многие другие пользователи, которые возможно тоже не знаю как сделать подобную вещь Жизнь=Сумотоха Сообщение отредактировал Drug - Суббота, 23.10.2010, 04:49
Infamous
Группа: Проверенные
Пользователь №: 316
Сообщений: 158
Получено оценок: 21
Quote
redir=$('.myWinCont a').attr('href');
Замени на
Raiderr
Группа: Проверенные
Пользователь №: 673
Сообщений: 349
Получено оценок: 26
как поставить условие: если в инпуте число, то алерт "ЛОЛ", а если не число, то алерт "НЕЛОЛ"? Новый кавер Jar of Hearts: http://www.youtube.com/watch?v=OLkXQMHVRhI
MegaFill
Группа: Проверенные
Пользователь №: 3260
Сообщений: 79
Получено оценок: 8
Quote (Raiderr )
как поставить условие: если в инпуте число, то алерт "ЛОЛ", а если не число, то алерт "НЕЛОЛ"?
Code
a = $('#message').val(); if( a.match(/[0-9]*/)[0].length == a.length) { alert('lol')} else { alert('no =\')
Мой моушенhttp://vimeo.com/megafill Креатив http://dailycreative.ru/ Веб разработка и тп http://devshack.ru/
Raiderr
Группа: Проверенные
Пользователь №: 673
Сообщений: 349
Получено оценок: 26
спасибо Новый кавер Jar of Hearts: http://www.youtube.com/watch?v=OLkXQMHVRhI
Aleko
Watching you
Группа: Администраторы
Пользователь №: 2
Сообщений: 1621
Получено оценок: 167
MegaFill , O_o в рот мне ноги!
Code
value = $('#message').val(); alert( isNaN(value) ? 'не число' : 'число' )
Бесплатные обои.
MegaFill
Группа: Проверенные
Пользователь №: 3260
Сообщений: 79
Получено оценок: 8
Aleko , так тоже можно Мой моушенhttp://vimeo.com/megafill Креатив http://dailycreative.ru/ Веб разработка и тп http://devshack.ru/