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 — онлайн фильмы.
  
WRC
Дата: Суббота, 09.01.2010, 10:29 | Сообщение # 51
говорун
Группа: Проверенные
Пользователь №: 223
Сообщений: 149
Получено оценок: 11
вот не пойму...
есть допустим
Code
<div style="width: 100%;" id="lol"></div>

мне надо чтоб при нажатии на
Code
<input type="button" value="кнопа">

ставилось значение width на 50...
пробовал так xD сорь за тупую писанину :D (я в скриптах не знаток)
Code
<input type="button" value="кнопа" onclick="$('div#lol').style.width='50';">

но не выходит...
скажите плз как правильно?
и ещё... как можно сделать чтоб состояние сохранялось в кэше...


Устраняем баг при просмотре материала

Сообщение отредактировал WRC - Суббота, 09.01.2010, 10:32
  
DSC
Дата: Суббота, 09.01.2010, 10:52 | Сообщение # 52
спикер
Группа: Проверенные
Пользователь №: 127
Сообщений: 516
Получено оценок: 41
WRC, вот:
Code
<div style="width:100%" id="lol"></div>
<input type="button" value="кнопа" onclick="document.getElementById('lol').style.width='50px'">


aka Latro
  
WRC
Дата: Суббота, 09.01.2010, 13:46 | Сообщение # 53
говорун
Группа: Проверенные
Пользователь №: 223
Сообщений: 149
Получено оценок: 11
DSC, спасибо... буду знать теперь...
а что на счёт кэша?
без сохранения эта штука бесполезна(


Устраняем баг при просмотре материала
  
Infamous
Дата: Суббота, 09.01.2010, 13:54 | Сообщение # 54
говорун
Группа: Проверенные
Пользователь №: 316
Сообщений: 158
Получено оценок: 21
Quote (WRC)
а что на счёт кэша?

В кэш никак, используй Cookies.

  
WRC
Дата: Суббота, 09.01.2010, 14:31 | Сообщение # 55
говорун
Группа: Проверенные
Пользователь №: 223
Сообщений: 149
Получено оценок: 11
Infamous, потрясающий ответ...
использовать... как? ;)
дайте хотяб ссылочку где можно подробно об этом почитать...


Устраняем баг при просмотре материала

Сообщение отредактировал WRC - Суббота, 09.01.2010, 14:35
  
BeSinLi
Дата: Суббота, 09.01.2010, 14:43 | Сообщение # 56
спикер
Группа: Проверенные
Пользователь №: 216
Сообщений: 500
Получено оценок: 112
Quote (WRC)
дайте хотяб ссылочку где можно подробно об этом почитать...

Ответ банален но - www.w3schools.com и www.google.com. Два довольно известных сайта к которым нужно обращаться в первую очередь при изучении JS, html, CSS, PHP.


——————————--Tempora mutantur, et nos mutamur in illis
———————————————Si felix esse vis, este!

———————————————————————————————————————————————————————старая аватарка

Сообщение отредактировал BeSinLi - Суббота, 09.01.2010, 14:43
  
DSC
Дата: Вторник, 12.01.2010, 22:32 | Сообщение # 57
спикер
Группа: Проверенные
Пользователь №: 127
Сообщений: 516
Получено оценок: 41
Подскажите, как на JS сделать чтобы title="sdfsd" принимало значение false, или же наоборот true, вообщ не особо важно, пускай будет не title, а rel, как сделать на JS?

aka Latro
  
Aleko
Дата: Среда, 13.01.2010, 06:48 | Сообщение # 58
Watching you
Группа: Администраторы
Пользователь №: 2
Сообщений: 1621
Получено оценок: 167
DSC, просто.
Code
элемент.rel='false';


Бесплатные обои.
  
DSC
Дата: Среда, 13.01.2010, 14:34 | Сообщение # 59
спикер
Группа: Проверенные
Пользователь №: 127
Сообщений: 516
Получено оценок: 41
Aleko, нет, я имел ввиду сделать чтоб он если поставить false - не работал, а если поставить true, то работал!

aka Latro
  
Aleko
Дата: Среда, 13.01.2010, 17:54 | Сообщение # 60
Watching you
Группа: Администраторы
Пользователь №: 2
Сообщений: 1621
Получено оценок: 167
DSC, стоп, как может не работать татйтл на уровне js? Если нужно чтоб подсказка не всплывала - сделайл тайтл пустым или вообще его не прописывай.

Бесплатные обои.
  
DSC
Дата: Среда, 13.01.2010, 20:52 | Сообщение # 61
спикер
Группа: Проверенные
Пользователь №: 127
Сообщений: 516
Получено оценок: 41
Aleko, я имею ввиду, как вообще сделать чтобы подобным title, ставилось значение false, на jq можно, а как на js?

+ ещё один вопрос, вот код:

Code
function a(){ alert('Привет') }
function b(){ alert('Привет') }
function c(){ alert('Привет') }
a()
b()
c()
Как мне вынески алерт за функции, но чтобы использовать в функции можно было?


aka Latro

Сообщение отредактировал DSC - Среда, 13.01.2010, 21:43
  
Infamous
Дата: Четверг, 14.01.2010, 12:07 | Сообщение # 62
говорун
Группа: Проверенные
Пользователь №: 316
Сообщений: 158
Получено оценок: 21
Как сделать вот такую функцию:

Code
fnName({param1: value, param2: value})

Т.е. чтобы параметры можно было заносить в object?

  
dancelot
Дата: Четверг, 21.01.2010, 11:32 | Сообщение # 63
говорун
Группа: Проверенные
Пользователь №: 26
Сообщений: 236
Получено оценок: 13
есть скрипт, выводящий награды на форуме

Code
<ul><div align=center><script type="text/javascript">  
$(document).ready(function(){$("#doskapocheta$ID$").click(function(){$("div#doskapoch$ID$").show("slow"); $("div#userminiprof").hide("slow");});});//
$(document).ready(function(){$("#backprofil$ID$").click(function(){$("div#userminiprof").show("slow"); $("div#doskapoch$ID$").hide("slow");});});  
</script>  

<div id="userminiprof">  

<center>[ <a href="javascript://" id="doskapocheta$ID$">Награды</a> ] <?if($AWARDS_READ_URL$)?><div id="reputation"><b>$AWARDS$</b> <?if($AWARDS_DO_URL$)?> <a href="$AWARDS_DO_URL$"><span style="font-size:10pt" title="Вручить награду"><b>+</b></span></a><?endif?><?endif?></center>  
</div>  
   

<!-- //Конец мини профиля -->  
</div>  
<div id="doskapoch$ID$" style="display:none;">  

<span id="listawards$ID$">загрузка наград ...</span>

<script type="text/javascript">
  $('#listawards$ID$').hide(); // by UAWARDS.RU
  $.get('/index/54-$UID$', function(data){
  data=$(data).text();
  $('#listawards$ID$').empty().append($('td',data)).show();
})</script>
<br>
[ <a href="javascript://" id="backprofil$ID$">Закрыть награды</a> ]</center>  
<!-- //Конец управления профилем -->  
</div></div></ul>

всё бы хорошо, но:

1. при просмотре наград одного из участников форума, у других участников ссылка на награды исчезает и появляется только тогда,когда заканчиваешь просмотр наград этого выбранного участника.
Но в принципе это не так важно.

2.Награды выводятся все в одну строку,а когда их становится уже много,строка начинает раздвигать форум,что не есть гуд.

Как бы сделать,чтобы награды выводились не в одну строку,а в несколько...

  
dancelot
Дата: Четверг, 21.01.2010, 11:32 | Сообщение # 64
говорун
Группа: Проверенные
Пользователь №: 26
Сообщений: 236
Получено оценок: 13
пример можно посмотреть тут, нажав на награды у пользователя в самом верхнем сообщении
  
UnderShot
Дата: Четверг, 28.01.2010, 11:46 | Сообщение # 65
оратор
Группа: Модераторы
Пользователь №: 45
Сообщений: 923
Получено оценок: 85
Как через js можно узнать исходный код стороннего урл'а? Например узнать исходник гугла

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

aka Latro
  
UnderShot
Дата: Четверг, 28.01.2010, 15:14 | Сообщение # 67
оратор
Группа: Модераторы
Пользователь №: 45
Сообщений: 923
Получено оценок: 85
DSC, это же php

Очень важная тема!
Filmzona — онлайн фильмы.
  
dancelot
Дата: Суббота, 30.01.2010, 15:31 | Сообщение # 68
говорун
Группа: Проверенные
Пользователь №: 26
Сообщений: 236
Получено оценок: 13
вопрос по java-script:

есть скрипт плавного скролла страницы, при котором при нажатии на ссылку в футере страницы происходит плавный подъём вверх страницы

скрипт в секции HEAD

Code
<script Language="JavaScript">
  function scrollit()
  {for (I=100; I>=1; I--)
  {self.scroll(1,I)}}
</script>

ссылка в футере

<a href="javascript:scrollit()">Вверх</a>

В опере 10.10 и IE8 скрипт работает замечательно,но вот в FireFox 3.5.7 почему то плавного скролла не происходит,а происходит обычный быстрый подъём.
Как бы решить проблему?

  
Infamous
Дата: Суббота, 30.01.2010, 16:39 | Сообщение # 69
говорун
Группа: Проверенные
Пользователь №: 316
Сообщений: 158
Получено оценок: 21
dancelot,

Code
<a href="javascript://" onclick="$('body').scrollTo('0px',800, {axis:'y'})">Scroll</a>
  
Infamous
Дата: Среда, 03.02.2010, 09:33 | Сообщение # 70
говорун
Группа: Проверенные
Пользователь №: 316
Сообщений: 158
Получено оценок: 21
Написал функцию для поиска элементов:

Code
getElement = function (attr, value) {
var e = document.getElementsByTagName('*'), k = e.length;
var c = [];
while (q--) if (e[k].getAttribute(attr) == value) c.push(e[k])
return c
}

Пытался прикрутить к ней hide():

Code
hide = function () {
c.style.display = 'none';
}

При тестировании выяснилось, что ничего не работает:

Code
getElement('class', 'test').hide()

1. Как написать нормальную функцию для поиска элементов?
2. Как сделать наследование функций, как в js фреймворках?

Сообщение отредактировал Infamous - Среда, 03.02.2010, 09:49
  
UnderShot
Дата: Среда, 03.02.2010, 13:17 | Сообщение # 71
оратор
Группа: Модераторы
Пользователь №: 45
Сообщений: 923
Получено оценок: 85
Как разделить js-файл на части? Например, одна часть скриптов вызывается «js.head();» а другая «js.body();»

Очень важная тема!
Filmzona — онлайн фильмы.
  
frost
Дата: Среда, 03.02.2010, 17:55 | Сообщение # 72
молчун
Группа: Проверенные
Пользователь №: 344
Сообщений: 29
Получено оценок: 7
способов несколько:

Code
<script>
var jsLib = {};
jsLib.init = function() {......}
jsLib.admin = {};
jsLib.admin.add = function() {......}
jsLib.admin.remove = function() {......}
/********************************************/
jsLib = {
     init:function() {
        .........  
     },
     admin: {
        add:function() {
           ..........
        },
        remove:function() {
           ..........
        } // запятая не ставиться так как функция последняя в этом блоке(admin)
     } // запятая не ставиться так как функция последняя во всем блоке  
}
// в конце запятые не ставить (fix IE)
// использовать jsLib.admin.add();
/********************************************/
jsLib = {
   global: new Object(),
   user: new Object(),
   admin: new Object()
};
jsLib.global.time = function() {....}
</script>

Таких способов очень много.
Надеюсь ты это имел ввиду
  
frost
Дата: Среда, 03.02.2010, 18:29 | Сообщение # 73
молчун
Группа: Проверенные
Пользователь №: 344
Сообщений: 29
Получено оценок: 7
Quote (Infamous)
1. Как написать нормальную функцию для поиска элементов?

Написал специально для тебя:

Code
<script>
function getElement(el) {
   var regexp = el.match(/([\w\d\*-_]+)\[([\w\d-_]+)\=['"]([\w\d-_\#\:\;\/]+)['"]\]/);
   if (regexp[2] == 'id') {
     return document.getElementById(regexp[3])
   } else {
     var elem = document.getElementsByTagName(regexp[1].toLowerCase());
     var arr = new Array();
     for (i = 0, iarr = 0; i < elem.length; i++) {
       att = elem[i].getAttribute(regexp[2]);
       if (regexp[2] != 'class') {
         if (att == regexp[3]) {
           arr[iarr] = elem[i];
           iarr++;
         }
       } else {
         if (new RegExp("(^|\\b)" + regexp[3] + "(\\b|$)").test(elem[i].className)) {
           arr[iarr] = elem[i];
           iarr++;
         }
       }
     }
     return arr
   }
}
</script>

Проверял, работает везде, даже IE 5.5.

Quote (Infamous)
2. Как сделать наследование функций, как в js фреймворках?

Я с прототипами неочень дружу но всеже..

Code
<script>
Object.prototype.$hide =  function(){
     return this.style.display = 'none';
};
</script>

использовать так:

Code
<textarea attribute="myAttr" name="myName" wrap="off" id="myId" class="myClass" rows="10" cols="50"></textarea>

<script>
getElement('textarea[attribute="myAttr"]')[0].$hide();
getElement('textarea[name="myName"]')[0].$hide();
getElement('textarea[wrap="off"]')[0].$hide();
getElement('textarea[id="myId"]').$hide();
getElement('textarea[class="myClass"]')[0].$hide();
getElement('textarea[rows="10"]')[0].$hide();
getElement('textarea[cols="50"]')[0].$hide();

/*
Короче говоря функция getElement() ищет по любому атрибуту даже по такому которого не должно быть например : attribute="myAttr" на подобие как в jQuery
во всех атрибутах кроме ID после функции нужно указывать номер элемента на странице. В данном случае [0];
Можно также вместо элемента (в данном случае textarea) указывать знак "*" - то есть поиск будет по всем элементам на странице.. Пример  
getElement('*[class="ClassName"]')[0].innerHTML = 'my text';
*/
</script>

И делов то... :D

  
frost
Дата: Среда, 03.02.2010, 18:38 | Сообщение # 74
молчун
Группа: Проверенные
Пользователь №: 344
Сообщений: 29
Получено оценок: 7
Quote (Infamous)
Как сделать вот такую функцию:

Code
<script>
function fnName(options) {
   var defaults = {
     param1 : '',
     param2 : '',
     param3 : ''
   };
   var opts = $.extend(defaults, options);
   // использовать opts.paramN
}
</script>
  
Infamous
Дата: Среда, 03.02.2010, 18:41 | Сообщение # 75
говорун
Группа: Проверенные
Пользователь №: 316
Сообщений: 158
Получено оценок: 21
frost, спасибо огромное за помощь. up
  
frost
Дата: Среда, 03.02.2010, 18:43 | Сообщение # 76
молчун
Группа: Проверенные
Пользователь №: 344
Сообщений: 29
Получено оценок: 7
та не за что :)
  
UnderShot
Дата: Среда, 03.02.2010, 18:58 | Сообщение # 77
оратор
Группа: Модераторы
Пользователь №: 45
Сообщений: 923
Получено оценок: 85
frost, да, спасибо большое за помощь

Очень важная тема!
Filmzona — онлайн фильмы.
  
WRC
Дата: Четверг, 04.02.2010, 15:01 | Сообщение # 78
говорун
Группа: Проверенные
Пользователь №: 223
Сообщений: 149
Получено оценок: 11
проблема с панелью бб кодов... то есть с одним бб кодом...
речь идёт про бб ссылка...
когда нажимаешь на кнопку вылезает окошко с начало для ввода ссылки потом для ввода названия этой ссылки...
как сделать чтоб это поле было без окна... ну как сказать как форма...
для примера даж скриник сделаю... как я пытался и не допытался :(
Прикрепления: 2515017.jpg (13.8 Kb)


Устраняем баг при просмотре материала
  
UnderShot
Дата: Воскресенье, 07.02.2010, 10:53 | Сообщение # 79
оратор
Группа: Модераторы
Пользователь №: 45
Сообщений: 923
Получено оценок: 85
Как работать с куками? Как их подключать? Как их прикреплять к функции? Ответьте мне пожалуйста ^_^

Очень важная тема!
Filmzona — онлайн фильмы.
  
frost
Дата: Воскресенье, 07.02.2010, 16:05 | Сообщение # 80
молчун
Группа: Проверенные
Пользователь №: 344
Сообщений: 29
Получено оценок: 7
Code
<script>
cookie = {
      add: function (name, value, days) {
          if (days) {
              var date = new Date();
              date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
              var expires = "; expires=" + date.toGMTString();
          } else var expires = "";
          document.cookie = name + "=" + value + expires + "; path=/";
      },
      read: function (name) {
          var nameEQ = name + "=";
          var ca = document.cookie.split(';');
          for (var i = 0; i < ca.length; i++) {
              var c = ca[i];
              while (c.charAt(0) == ' ') c = c.substring(1, c.length);
              if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
          }
          return null;
      },
      delete: function (name) {
          cookie.add(name, "", -1);
      }
}
</script>

использовать:

Code
<script>

   cookie.add('nameCookie');

if(cookie.read('nameCookie')) {
  выполняем что то..  
}
</script>
  
UnderShot
Дата: Воскресенье, 07.02.2010, 17:35 | Сообщение # 81
оратор
Группа: Модераторы
Пользователь №: 45
Сообщений: 923
Получено оценок: 85
Допустим мне нужно было, что-бы value в поле после обновления страницы сохранился, как мне применить куки?

Очень важная тема!
Filmzona — онлайн фильмы.
  
Infamous
Дата: Понедельник, 08.02.2010, 04:48 | Сообщение # 82
говорун
Группа: Проверенные
Пользователь №: 316
Сообщений: 158
Получено оценок: 21
UnderShot,

Code
<input id="myid" …

Code
document.getElementById('myid').onkeypress = function () {
setCookie('val', this.value, 365);
}
if (getCookie('val')) {
document.getElementById('myid').value = getCookie('val');
}
  
UnderShot
Дата: Понедельник, 08.02.2010, 14:58 | Сообщение # 83
оратор
Группа: Модераторы
Пользователь №: 45
Сообщений: 923
Получено оценок: 85
Infamous, спасибо, разобрался

Очень важная тема!
Filmzona — онлайн фильмы.
  
UnderShot
Дата: Среда, 10.02.2010, 19:28 | Сообщение # 84
оратор
Группа: Модераторы
Пользователь №: 45
Сообщений: 923
Получено оценок: 85
delete.

Очень важная тема!
Filmzona — онлайн фильмы.
  
UnderShot
Дата: Суббота, 13.02.2010, 12:41 | Сообщение # 85
оратор
Группа: Модераторы
Пользователь №: 45
Сообщений: 923
Получено оценок: 85
Много-где видел эти строки:
Code
for(i = 0; i < tags.length; i++)
// или
while(i = 0; i < tags.length; i++)

Что каждая из них за собой несет? Что они означают? Кто как понял это?


Очень важная тема!
Filmzona — онлайн фильмы.
  
Infamous
Дата: Суббота, 13.02.2010, 15:04 | Сообщение # 86
говорун
Группа: Проверенные
Пользователь №: 316
Сообщений: 158
Получено оценок: 21
UnderShot, for — это цикл. Выполняет действие нужное кол-во раз. while — тоже самое. Но действие выполняет, пока выражение возвращает true.
  
Aleko
Дата: Суббота, 13.02.2010, 16:49 | Сообщение # 87
Watching you
Группа: Администраторы
Пользователь №: 2
Сообщений: 1621
Получено оценок: 167
Infamous, немного не так. Оба цикла выполняются пока проверочное выражение правдиво. Отличие for от while в том, что в for всегда 3 передающихся значения: переменная счетчик, проверяемое значение и инкремент или декремент. В while передается одно единственное значение которое так же как и в for выполняется только пока равно правде. Но существенная разница в том, что в while сначала выполняется проверочное значение а затем содержимое цикла, а for позволяет сначала выполнить содержимое цикла а затем изменить счетчик. Пример:

Code
<script>
var i=1;
while(i--){alert(i)}
// выдаст 0 так как сначала сработает декремент
</script>

И цикл for:

Code
<script>
var i=1;
for(;i;i--){alert(i)}
// выдаст 1 так как декремент сработает после
</script>

К тому же цикл while так же может принимать вид do{}while() где всегда сначала будет выполнятся содержимое цикла и только потом проверяться контрольное значение.


Бесплатные обои.
  
Infamous
Дата: Суббота, 13.02.2010, 19:52 | Сообщение # 88
говорун
Группа: Проверенные
Пользователь №: 316
Сообщений: 158
Получено оценок: 21
Quote (Aleko)
в for всегда 3 передающихся значения

Может быть и 2, если используется for (prop in obj) { … }

Сообщение отредактировал Infamous - Суббота, 13.02.2010, 19:53
  
Aleko
Дата: Суббота, 13.02.2010, 19:55 | Сообщение # 89
Watching you
Группа: Администраторы
Пользователь №: 2
Сообщений: 1621
Получено оценок: 167
Infamous, да, правильно, но это уже цикл с определенной целью =)

Бесплатные обои.
  
DSC
Дата: Суббота, 13.02.2010, 23:05 | Сообщение # 90
спикер
Группа: Проверенные
Пользователь №: 127
Сообщений: 516
Получено оценок: 41
Aleko, помню ты писал о том, как можно зелёненький треугольник сделать текстом на js, ну а щас я нигде найти не могу...

aka Latro
  
Aleko
Дата: Суббота, 13.02.2010, 23:07 | Сообщение # 91
Watching you
Группа: Администраторы
Пользователь №: 2
Сообщений: 1621
Получено оценок: 167
DSC, я писал как его сделать на css? поэтому ты найти и не можешь. Ищи в css.

Бесплатные обои.
  
UnderShot
Дата: Воскресенье, 14.02.2010, 00:45 | Сообщение # 92
оратор
Группа: Модераторы
Пользователь №: 45
Сообщений: 923
Получено оценок: 85
Aleko, Infamous, спасибо вам.

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

Aleko, как на js задать максимальное количество символов в диве? Например мой текст превышает 20 символов, остальные слова заменяются троеточиями


Очень важная тема!
Filmzona — онлайн фильмы.
  
vladko95
Дата: Воскресенье, 14.02.2010, 00:55 | Сообщение # 93
говорун
Группа: Проверенные
Пользователь №: 51
Сообщений: 121
Получено оценок: 6
<div id="lol">Какой то текст нах блин ппц я ваще в шоке</div>

Code
$('#lol').each(function(){
var lol = $(this).text();
if (lol.length > 20) {lol = lol.slice(0, 20);}
$(this).text(lol);
});
  
UnderShot
Дата: Воскресенье, 14.02.2010, 01:00 | Сообщение # 94
оратор
Группа: Модераторы
Пользователь №: 45
Сообщений: 923
Получено оценок: 85
vladko95, спасибо, зыбл что нужно добавить .text();

Очень важная тема!
Filmzona — онлайн фильмы.
  
Infamous
Дата: Воскресенье, 14.02.2010, 08:43 | Сообщение # 95
говорун
Группа: Проверенные
Пользователь №: 316
Сообщений: 158
Получено оценок: 21
Хотел сделать, чтобы на главной странице форума вместо надписи "Форум просматривают: …" выводились ники юзеров, которые смотрят этот форум. Пробовал реализовать — не получилось:

Code
$('span.forumViewed').each(function(){
$.get($(this).parent().find('a.forum').attr('href'), function (data) {
var c = $('td.forumOnlineBar:first', data).html();
});
$(this).html(c);
});

Что неправильно в коде?

Сообщение отредактировал Infamous - Воскресенье, 14.02.2010, 08:44
  
UnderShot
Дата: Суббота, 20.02.2010, 13:25 | Сообщение # 96
оратор
Группа: Модераторы
Пользователь №: 45
Сообщений: 923
Получено оценок: 85
Code
.replace(/(\/_ph\/\d+)\/1(\/\d+\.\w+)/ig,'$1\/2\$2'))

Что означают эти скобки: (\/_ph\/\d+)\/1(\/\d+\.\w+), и вообще, как в них не запутаться?


Очень важная тема!
Filmzona — онлайн фильмы.
  
Infamous
Дата: Суббота, 20.02.2010, 15:40 | Сообщение # 97
говорун
Группа: Проверенные
Пользователь №: 316
Сообщений: 158
Получено оценок: 21
Quote (UnderShot)
Что означают эти скобки

Это "запоминающие" скобки, их содержимое хранится в свойствах $1, $2 … $9. Также эти скобки можно использовать для объединения символов:

Code
/abc+/; // Найдет ab и все последующие повторяющиеся c
/(abc)+/; // Найдет все повторяющиеся abc


Сообщение отредактировал Infamous - Суббота, 20.02.2010, 15:42
  
Aleko
Дата: Суббота, 20.02.2010, 22:32 | Сообщение # 98
Watching you
Группа: Администраторы
Пользователь №: 2
Сообщений: 1621
Получено оценок: 167
UnderShot, так же если необходимо только сгруппировать символы скобками но не запоминать результат, необходимо писать скобки так:
Code
/(?:abc)/

В этом случае под найденную группы не выделяется память что увеличивает скорость работы regexp.


Бесплатные обои.
  
Slimmi
Дата: Воскресенье, 21.02.2010, 14:05 | Сообщение # 99
говорун
Группа: Модераторы
Пользователь №: 5
Сообщений: 287
Получено оценок: 38
Code

<style>
div>div.lol {...}/*что значит > ? Для чего это нужно*/
</style>


Большие фотостатусы
  
UnderShot
Дата: Воскресенье, 21.02.2010, 14:15 | Сообщение # 100
оратор
Группа: Модераторы
Пользователь №: 45
Сообщений: 923
Получено оценок: 85
Slimmi, знак > — дает приоритет.

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