JavaScript & jQuery
UnderShot
Дата: Понедельник, 23.11.2009, 20:12 | Сообщение # 1
оратор
Группа: Модераторы
Пользователь №: 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 — онлайн фильмы.
  
Aleko
Дата: Воскресенье, 26.12.2010, 14:09 | Сообщение # 501
Watching you
Группа: Администраторы
Пользователь №: 2
Сообщений: 1621
Получено оценок: 167
DSC, чего?

Бесплатные обои.
  
DSC
Дата: Воскресенье, 26.12.2010, 14:42 | Сообщение # 502
спикер
Группа: Проверенные
Пользователь №: 127
Сообщений: 516
Получено оценок: 41
Aleko, я и так делаю привязку к началу строки, но никак, покажи свой вариант, а то я уже вообще в шоке сижу...

aka Latro
  
DSC
Дата: Понедельник, 27.12.2010, 17:14 | Сообщение # 503
спикер
Группа: Проверенные
Пользователь №: 127
Сообщений: 516
Получено оценок: 41
Я так понимаю вариантов нет... хреново... <_<

aka Latro
  
Drug
Дата: Вторник, 28.12.2010, 06:20 | Сообщение # 504
шептун
Группа: Проверенные
Пользователь №: 2803
Сообщений: 55
Кто нибудь может сказать, какой условный оператор
у названия раздела и категории, который выводиться в строке браузера т.е
http://site.ru/dir/раздел/категория/1-1-1

p.s нужны именно названия которые в строке браузера,
или может можно window.location?


Жизнь=Сумотоха

Сообщение отредактировал Drug - Вторник, 28.12.2010, 06:39
  
UnderShot
Дата: Вторник, 28.12.2010, 08:23 | Сообщение # 505
оратор
Группа: Модераторы
Пользователь №: 45
Сообщений: 923
Получено оценок: 85
window.location

Очень важная тема!
Filmzona — онлайн фильмы.
  
DSC
Дата: Среда, 29.12.2010, 11:39 | Сообщение # 506
спикер
Группа: Проверенные
Пользователь №: 127
Сообщений: 516
Получено оценок: 41
ОЧЕНЬ БОЛЬШАЯ ПРОСЬБА ПРОВЕРИТЬ РЕГУЛЯРКУ, вроде как написал, псевдо-классы должны нормально определяться!
Code
/:([\w-]+)(?:\(((?:\([^\)]+\)|[^\(\)]*)+\)*)\))?/


aka Latro

Сообщение отредактировал DSC - Среда, 29.12.2010, 11:47
  
UnderShot
Дата: Среда, 29.12.2010, 12:55 | Сообщение # 507
оратор
Группа: Модераторы
Пользователь №: 45
Сообщений: 923
Получено оценок: 85
DSC, пашет.

Очень важная тема!
Filmzona — онлайн фильмы.
  
DSC
Дата: Четверг, 06.01.2011, 16:22 | Сообщение # 508
спикер
Группа: Проверенные
Пользователь №: 127
Сообщений: 516
Получено оценок: 41
чёт меня подзае*ала выборка, и вот результат!
стоит доделывать?


aka Latro
  
UnderShot
Дата: Четверг, 06.01.2011, 18:14 | Сообщение # 509
оратор
Группа: Модераторы
Пользователь №: 45
Сообщений: 923
Получено оценок: 85
DSC, да, прикрути анимацию, и остальные перделки…

Очень важная тема!
Filmzona — онлайн фильмы.
  
DSC
Дата: Четверг, 06.01.2011, 19:36 | Сообщение # 510
спикер
Группа: Проверенные
Пользователь №: 127
Сообщений: 516
Получено оценок: 41
UnderShot, не, я собираюсь сделать полностью для всех модулей, а уже потом можно и анимацию делать)

aka Latro
  
RevoRen
Дата: Пятница, 14.01.2011, 17:23 | Сообщение # 511
говорун
Группа: Проверенные
Пользователь №: 3249
Сообщений: 214
Вопрос:
У меня есть переменная base. Мне нужно с помощью цикла создать n переменных так, чтобы они были такого типа:
Quote
perem1
perem2
perem3
...
peremn

А дальше мне надо, чтобы каждый круг, выполняемый циклом, то есть каждая новая переменная присоединялась к переменной base.
То есть результат:
N-ое кол-во переменных типа:
Quote
perem1
perem2
perem3
...
peremn

которые сложены между собой и приравнены к переменной base:

Quote
base = perem1 + perem2 + perem3 + ... + peremn
.
Надеюсь на Вашу помощь.
Разумеется, если это невозможно с помощью циклов, то я приму любой другой работающий вариант, можно и массив.


Follow your Destiny



Сообщение отредактировал RevoRen - Пятница, 14.01.2011, 18:07
  
Drug
Дата: Среда, 26.01.2011, 05:18 | Сообщение # 512
шептун
Группа: Проверенные
Пользователь №: 2803
Сообщений: 55
Всем привет, есть скрипт вызывается в таком виде
Code
<script>var link="http://site.ru"</script>

Можно ли его вызвать на форуме
Через тег?
Вот так:
Code
[tag]<script>var link="http://site.ru"</script>[/tag]

Скажите пожалуйста, что нужно добавить сюда, чтобы работал?

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('[tag]') != -1) {
s=s.replace('[tag]','код'); s=s.replace('[/tag]','код');
e[k].innerHTML=s;
}
} }
</script>

спасибо

так не работает

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('[tag]') != -1) {
s=s.replace('[tag]','var link="'); s=s.replace('[/tag]','"');
e[k].innerHTML=s;
}
} }
</script>


Жизнь=Сумотоха

Сообщение отредактировал Drug - Среда, 26.01.2011, 05:20
  
UnderShot
Дата: Среда, 26.01.2011, 13:33 | Сообщение # 513
оратор
Группа: Модераторы
Пользователь №: 45
Сообщений: 923
Получено оценок: 85
Code
alert('[tag]var link="http://site.ru"[/tag]'.replace(/\[(\/)?tag]/g,"<$1script>"))


Очень важная тема!
Filmzona — онлайн фильмы.
  
Drug
Дата: Среда, 26.01.2011, 14:41 | Сообщение # 514
шептун
Группа: Проверенные
Пользователь №: 2803
Сообщений: 55
UnderShot, нужно, чтобы скрипт исполнялся, когда его добавили в тег.
Code
<script>var link="http://site.ru"</script>

Т.е при этом у групп пользователей не должен включен (разрешить html в сообщениях форума)


Жизнь=Сумотоха

Сообщение отредактировал Drug - Среда, 26.01.2011, 14:42
  
UnderShot
Дата: Среда, 26.01.2011, 20:53 | Сообщение # 515
оратор
Группа: Модераторы
Пользователь №: 45
Сообщений: 923
Получено оценок: 85
Drug, ye tebya ne ponyal.

Очень важная тема!
Filmzona — онлайн фильмы.
  
Infamous
Дата: Четверг, 27.01.2011, 13:04 | Сообщение # 516
говорун
Группа: Проверенные
Пользователь №: 316
Сообщений: 158
Получено оценок: 21
Code
[script]
alert("Hello, world!");
[/script]

Code
<script type='text/javascript'>
  (function () {
   var nodes = document.body.childNodes,
   curTag;
   (function (A) {
    for (var i = 0; i < A.length; i++) {
     if (A[i].nodeType === 3) {
      if (curTag = A[i].nodeValue.match(/\[script\][\u0000-\uFFFF]*\[\/script\]/gi))
       eval(curTag.toString().replace(/\[\/?script\]/g, ""));
     } else {
      arguments.callee(A[i].childNodes);
     }
    }
   })(nodes);
  })();
</script>
  
RevoRen
Дата: Понедельник, 31.01.2011, 19:30 | Сообщение # 517
говорун
Группа: Проверенные
Пользователь №: 3249
Сообщений: 214
Есть анимация: при клике на "главное меню" выезжает черный прямоугольник. Но вот как, при втором клике, задвинуть его обратно?
Code
<html>
      <head>
          <title>Slide Menu</title>
          <script>
              function dropMenu() //выдвигающая функция
              {
                  var from = 0; // Начальная координата X
                  var to = 100; // Конечная координата X
                  var duration = 200; // Длительность - 0.2 секунда
                  var start = new Date; // Время старта
                  setTimeout (function()   
                  {
                      var now = new Date - start; // Текущее время
                      var progress = now / duration; // Прогресс анимации
                      var result = (to - from) * progress + from;
                      dropedMenu.style.height = result + 'px';
                      if (progress < 1)
                      {
                          setTimeout(arguments.callee, 10);
                      }
                  }, 10);
              }
                    
              function foldingMenu() // задвигающая функция
              {
                      
                  var from = 100; // Начальная координата X
                  var to = 0; // Конечная координата X
                  var duration = 100; // Длительность - 0.1 секунда
                  var start = new Date; // Время старта
                  setTimeout (function()   
                  {
                      var now = new Date - start; // Текущее время
                      var progress = now / duration; // Прогресс анимации
                      var result = (to - from) * progress + from;
                      dropedMenu.style.height = result + 'px';
                      if (progress < 1)
                      {
                          setTimeout(arguments.callee, 10);
                      }
                  }, 10);
               }
          </script>
      </head>
      <body>
      <div id="menu">
          <div id="title" style="width:200px;">          
              Главное меню
          </div>
          <div id="dropedMenu" style="width:200px; height:0px; background:#000000;"></div>
      </div>
          <script>
              var title = document.getElementById('title');
              title.onclick = dropMenu;
          </script>
      </body>
</html>

Есть выдвигающая и задвигающая функции, но как поставить событие onclick, чтобы при клике в первый раз выдвигался прямоугольник, а при клике во второй раз - задвигался.


Follow your Destiny



Сообщение отредактировал RevoRen - Понедельник, 31.01.2011, 19:32
  
UnderShot
Дата: Понедельник, 31.01.2011, 20:30 | Сообщение # 518
оратор
Группа: Модераторы
Пользователь №: 45
Сообщений: 923
Получено оценок: 85
Code
title.onclick = window[parseInt(title.style.height)!=0?"foldingMenu":"dropMenu"];


Очень важная тема!
Filmzona — онлайн фильмы.
  
RevoRen
Дата: Понедельник, 31.01.2011, 20:37 | Сообщение # 519
говорун
Группа: Проверенные
Пользователь №: 3249
Сообщений: 214
UnderShot, а в какую часть это кидать?

Follow your Destiny

  
UnderShot
Дата: Понедельник, 31.01.2011, 21:06 | Сообщение # 520
оратор
Группа: Модераторы
Пользователь №: 45
Сообщений: 923
Получено оценок: 85
RevoRen, где есть title.onclick.

Очень важная тема!
Filmzona — онлайн фильмы.
  
RevoRen
Дата: Понедельник, 31.01.2011, 22:19 | Сообщение # 521
говорун
Группа: Проверенные
Пользователь №: 3249
Сообщений: 214
UnderShot, не работает. Вообще.

Follow your Destiny

  
DSC
Дата: Вторник, 01.02.2011, 01:23 | Сообщение # 522
спикер
Группа: Проверенные
Пользователь №: 127
Сообщений: 516
Получено оценок: 41
RevoRen, на:
Code
<html>
  <head>
   <title>Slide Menu</title>
   <script>
function animHeight(object,from,to,duration){
  var from=from,
  start=new Date,
  int=setInterval(function(){
   var progress=(new Date-start)/duration;
   progress>1&&(clearInterval(int),object.style.height=to+'px');
   object.style.height=from+(to-from)*progress+'px'
  },0)
}
   </script>
  </head>
  <body>
   <div id=menu>
    <div id=title style=width:200px>Главное меню</div>
    <div id=dropedMenu style=background:#000;height:0;width:200px></div>
   </div>
   <script>
var title=document.getElementById('title'),
dropedMenu=document.getElementById('dropedMenu');
title.onclick=function(){
  parseInt(dropedMenu.style.height)==0?animHeight(dropedMenu,0,100,200):animHeight(dropedMenu,100,0,200)
}
   < /script>
  </body>
</html>


aka Latro
  
RevoRen
Дата: Суббота, 12.02.2011, 15:35 | Сообщение # 523
говорун
Группа: Проверенные
Пользователь №: 3249
Сообщений: 214
Каким образом можно вызывая функцию из элемента, например, div, в параметрах функции указать этот же элемент, не прибегая к поиску по классу, тегу, id?

Follow your Destiny

  
UnderShot
Дата: Суббота, 12.02.2011, 15:52 | Сообщение # 524
оратор
Группа: Модераторы
Пользователь №: 45
Сообщений: 923
Получено оценок: 85
Code
<a href="#" onclick="func(this)"></a>


Очень важная тема!
Filmzona — онлайн фильмы.
  
CoolSenpai
Дата: Суббота, 12.02.2011, 22:36 | Сообщение # 525
говорун
Группа: Проверенные
Пользователь №: 2213
Сообщений: 116
Получено оценок: 24
Code
var classes = $("div").map(function(indx, element){
   return $(element).attr("class");
});
  
Raiderr
Дата: Понедельник, 28.02.2011, 20:05 | Сообщение # 526
болтун
Группа: Проверенные
Пользователь №: 673
Сообщений: 349
Получено оценок: 26
Code
<script>
  document.write('<style>.p-img-a img {max-width:' + Math.round(screen.width/2.5) + 'px}</style>')
</script>

Как сделать чтобы это работало в IE?


Новый кавер Jar of Hearts: http://www.youtube.com/watch?v=OLkXQMHVRhI
  
MegaFill
Дата: Понедельник, 28.02.2011, 20:32 | Сообщение # 527
шептун
Группа: Проверенные
Пользователь №: 3260
Сообщений: 79
Получено оценок: 8
max-width не поддерживает ИЕ. Только js отлавливать ресайз элемента и вешать ширину вручную.

Мой моушенhttp://vimeo.com/megafill
Креатив http://dailycreative.ru/
Веб разработка и тп http://devshack.ru/
  
Aleko
Дата: Среда, 02.03.2011, 02:16 | Сообщение # 528
Watching you
Группа: Администраторы
Пользователь №: 2
Сообщений: 1621
Получено оценок: 167
Raiderr, или expression

Бесплатные обои.
  
RevoRen
Дата: Пятница, 11.03.2011, 18:52 | Сообщение # 529
говорун
Группа: Проверенные
Пользователь №: 3249
Сообщений: 214
Вопрос: как сделать доступ к переменным внутри функции, но созданным вне функции?
Code
var a = значение;
       function a () {
           alert(a.style.padding) //ничего не выдаст;
       }

       function a () {
           var a = значение;
           alert(a.style.padding) //выдаст значение а;
       }

Но вот как сделать так, чтобы задать переменные снаружи функции, а вызывать их внутри?


Follow your Destiny

  
Crasher
Дата: Пятница, 11.03.2011, 19:29 | Сообщение # 530
говорун
Группа: Проверенные
Пользователь №: 3179
Сообщений: 256
Получено оценок: 3
RevoRen, не знаю как (с js особо не дружу), но нужно сделать переменную глобальной, вместо var a — globalvar a (наугад пишу)

  
Crasher
Дата: Пятница, 11.03.2011, 19:30 | Сообщение # 531
говорун
Группа: Проверенные
Пользователь №: 3179
Сообщений: 256
Получено оценок: 3
google

  
Infamous
Дата: Пятница, 11.03.2011, 19:41 | Сообщение # 532
говорун
Группа: Проверенные
Пользователь №: 316
Сообщений: 158
Получено оценок: 21
RevoRen, имена функции и переменной совпадают.

Code
var a = 0;
function b(){alert(a);}
b(); // 0
  
RevoRen
Дата: Понедельник, 28.03.2011, 13:40 | Сообщение # 533
говорун
Группа: Проверенные
Пользователь №: 3249
Сообщений: 214
Имеется некий элемент на странице с id='1'.
Я получаю его скриптом.
Code
var a = document.getElementById('1');

Вопрос: в переменной а теперь находится значение с типом object? Т.е. я могу давать ему свойства через точку?
Code
a.b = 1;

Вот так?
И еще вопрос: можно-ли давать свойства, аналогичные тем, что выше (через точку) переменным, хранящим булево значение, число или строку?


Follow your Destiny

  
DSC
Дата: Понедельник, 28.03.2011, 17:41 | Сообщение # 534
спикер
Группа: Проверенные
Пользователь №: 127
Сообщений: 516
Получено оценок: 41
RevoRen, мне кажется чем ждать ответа, так проще самому проверить всё в браузере и сделать для себя определённые выводы.
p.s.: да


aka Latro
  
RevoRen
Дата: Понедельник, 28.03.2011, 17:57 | Сообщение # 535
говорун
Группа: Проверенные
Пользователь №: 3249
Сообщений: 214
М-м, точно. Проверил и все понял: любое получаемое значения из кода - это объект. Если переменной присвоен некий тип - это не объект и при вызове его свойства - вернет undefined.

Follow your Destiny

  
Infamous
Дата: Вторник, 29.03.2011, 11:42 | Сообщение # 536
говорун
Группа: Проверенные
Пользователь №: 316
Сообщений: 158
Получено оценок: 21
Значения примитивного типа (т.е. не object) берутся не по ссылке, а по значению. Поэтому код

Code
var a = "string";
a.b = "something";

аналогичен

Code
"string".b = "something";

Очевидно, что до свойства b никак не добраться.

Просто для ясности сказал.

Сообщение отредактировал Infamous - Вторник, 29.03.2011, 11:44
  
Iceslim
Дата: Вторник, 29.03.2011, 20:14 | Сообщение # 537
шептун
Группа: Проверенные
Пользователь №: 3775
Сообщений: 61
Нужен темный спойлер для каталога файлов. Можете помочь?
  
UnderShot
Дата: Вторник, 29.03.2011, 20:20 | Сообщение # 538
оратор
Группа: Модераторы
Пользователь №: 45
Сообщений: 923
Получено оценок: 85
Code
input{background:#333;border:1px solid #000;color:#fff}


Очень важная тема!
Filmzona — онлайн фильмы.
  
Iceslim
Дата: Вторник, 29.03.2011, 20:35 | Сообщение # 539
шептун
Группа: Проверенные
Пользователь №: 3775
Сообщений: 61
UnderShot, а можно поподробнее, куда это сунуть?
  
RevoRen
Дата: Вторник, 29.03.2011, 20:52 | Сообщение # 540
говорун
Группа: Проверенные
Пользователь №: 3249
Сообщений: 214
Iceslim, в стиле, куда еще.
Только зачем ему менять стиль всех инпутов, если ему спойлер нужен.


Follow your Destiny

  
Iceslim
Дата: Вторник, 29.03.2011, 20:53 | Сообщение # 541
шептун
Группа: Проверенные
Пользователь №: 3775
Сообщений: 61
RevoRen, ну я понял, только в какое место (в разделе форума смотреть в CSS)?
Quote (RevoRen)
Только зачем ему менять стиль всех инпутов, если ему спойлер нужен.

Не понял.
  
RevoRen
Дата: Вторник, 29.03.2011, 21:15 | Сообщение # 542
говорун
Группа: Проверенные
Пользователь №: 3249
Сообщений: 214
Quote (Iceslim)
RevoRen, ну я понял, только в какое место (в разделе форума смотреть в CSS)?
Чего? В файл стилей надо, куда еще. Если ты думаешь, что браузер читает комментарии и разделяет где какие стили (для форума или нет) по твоим комментам, то ты ошибаешься.
Quote (Iceslim)
Не понял.

Он дал код для смены инпутов, притом, это я Андершоту писал.


Follow your Destiny

  
Iceslim
Дата: Вторник, 29.03.2011, 21:26 | Сообщение # 543
шептун
Группа: Проверенные
Пользователь №: 3775
Сообщений: 61
RevoRen, хорошо. А как данный спойлер будет выводиться в добавлении материала в каталоге файлов и будет выглядеть в панели кодов, если здесь просто маленький тег инпута. fear
  
RevoRen
Дата: Вторник, 29.03.2011, 21:28 | Сообщение # 544
говорун
Группа: Проверенные
Пользователь №: 3249
Сообщений: 214
Iceslim, я то откуда знаю. Я и задал ему этот вопрос.

Follow your Destiny

  
RevoRen
Дата: Вторник, 26.04.2011, 23:49 | Сообщение # 545
говорун
Группа: Проверенные
Пользователь №: 3249
Сообщений: 214
Вопрос: если я делаю событие onClick как свойство к тегу, то тогда, при вызове в этом onClick некоторой функции я должен после её имени поставить (), где могут быть разные элементы. Если я присваиваю onClick через свойство элемента (через JS) и вызываю там функцию, то () ставить не надо, т.к. это означает, что функция заканчивает работу, но если у меня в функции есть аргументы, то как их задать через свойство? Придется ставить (). Я не понимаю, будет ли работать правильно, если поставить скобки или нет, пытался это на примере сделать, а результат понять не могу.

Follow your Destiny

  
RevoRen
Дата: Суббота, 21.05.2011, 14:31 | Сообщение # 546
говорун
Группа: Проверенные
Пользователь №: 3249
Сообщений: 214
Вот вопрос: есть событие onKeyDown, которое выполняет действие, если мы нажали на кнопку, а фокус был в элементе, на котором стоит событие. Так вот: на инпуты это легко ставится, а вот как сделать для дива фокус? Мне нужно чтобы при клике на див, на нем появлялся фокус и это событие работало. Как такое сделать?

Follow your Destiny

  
Диего
Дата: Воскресенье, 22.05.2011, 15:39 | Сообщение # 547
молчун
Группа: Проверенные
Пользователь №: 3861
Сообщений: 21
помогите сократить код:
Code
<script>var y='/*ссылка на видео ютуб*/'
       y=y.replace('http://','')     
       y=y.replace('www.','')     
       y=y.replace('.','')         
       y=y.replace('youtube','')      
       y=y.replace('com ','')       
       y =y.replace('watch?v=','')       
       y=y.replace('/','')       
       y=y.replace('?','')           
       y=y.replace(/&/g,'')            
       y=y.replace('hd=1','')            
       y=y.replace(/t=([0-9]+m)?[0-9]+s/g,'')           
       document.write('<br>'+y+'<br>')</script>

я так думаю, тут надо использовать больше регекспов, вот только у меня не выходит <_<


Сообщение отредактировал Диего - Воскресенье, 22.05.2011, 15:57
  
Aleko
Дата: Воскресенье, 22.05.2011, 15:47 | Сообщение # 548
Watching you
Группа: Администраторы
Пользователь №: 2
Сообщений: 1621
Получено оценок: 167
Диего, тут одного достаточно..

Бесплатные обои.
  
Диего
Дата: Воскресенье, 22.05.2011, 15:55 | Сообщение # 549
молчун
Группа: Проверенные
Пользователь №: 3861
Сообщений: 21
ну да, я неправильно выразился ^_^
т.е. один регексп, только побольше:
Code
y=y.replace(/как то так/g,'')
  
DSC
Дата: Воскресенье, 22.05.2011, 18:32 | Сообщение # 550
спикер
Группа: Проверенные
Пользователь №: 127
Сообщений: 516
Получено оценок: 41
Диего, на:
Code
<script>document.write('<br>'+'/*ссылка на видео ютуб*/'.replace(/http:\/\/|www\.|youtube|com |watch\?v=|[.\/\?&]|hd=1|t=([0-9]+m)?[0-9]+s/,'')+'<br>')</script>


aka Latro
  
Поиск:
© Studioad.ru 2006 · 2010. Использование материалов форума на сторонних ресурсах без прямой обратной ссылки строго запрещено. Хостинг от uCoz.