Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.05.2013, 12:27
Профессор
Отправить личное сообщение для Brook Посмотреть профиль Найти все сообщения от Brook
 
Регистрация: 13.04.2012
Сообщений: 210

как сделать чтобы цикл не запускался второй раз
Доброго времени суток.
У меня есть сайт на нем в "подвале" лежит цикл который после загрузки страницы проходит по странице и заменяет слова на линки

также у меня стоит реклама которая я не знаю что делает но когда она отображается цикл запускается дважды -- ((

Подскажите можно ли сделать так что бы цикл проходил по страницы один раз и "включался"!?

Заранее спасибо за помощь!
Ответить с цитированием
  #2 (permalink)  
Старый 05.05.2013, 14:26
Интересующийся
Отправить личное сообщение для borodadada Посмотреть профиль Найти все сообщения от borodadada
 
Регистрация: 05.05.2013
Сообщений: 14

Вход по переменной со значением 1 , в конце цикла переменной присваивается значение 2.
Ответить с цитированием
  #3 (permalink)  
Старый 05.05.2013, 14:53
Профессор
Отправить личное сообщение для Brook Посмотреть профиль Найти все сообщения от Brook
 
Регистрация: 13.04.2012
Сообщений: 210

borodadada,
ага у меня присваивается до 15 надо что бы второй раз (+15) не присваивалось!!!
Ответить с цитированием
  #4 (permalink)  
Старый 10.05.2013, 07:45
_0_ _0_ вне форума
Аспирант
Отправить личное сообщение для _0_ Посмотреть профиль Найти все сообщения от _0_
 
Регистрация: 10.05.2013
Сообщений: 56

ready в JQuery может срабатывать несколько раз, видимо, у тебя реклама вызывает ready еще раз, когда подгружает контент методом Ajax.
Ответить с цитированием
  #5 (permalink)  
Старый 10.05.2013, 15:25
_0_ _0_ вне форума
Аспирант
Отправить личное сообщение для _0_ Посмотреть профиль Найти все сообщения от _0_
 
Регистрация: 10.05.2013
Сообщений: 56

Есть такой шаблон в javascript, называется "самоопределяемые функции",
такие функции сами меняют ссылку на себя при первом обращении, например:

function do_once(){
  return _do_once();
}

function _do_once(){
  // сразу заменяем себя
  _do_once=function(){};

  // делаем что-то
  return "все ок";
}

$( function(){do_once();});
// или вроде можно так - $( do_once ), надо попробовать


do_once - это специальная обертка для ссылок, т.к. если передать параметром _do_once как callback то ссылка на первоначальный вариант функции не измениться, а так какое-либо действие будет выполнено гарантированно один раз, но этот способ немного "грязноватый".
В JQuery вроде есть какой-то способ добавить callback на один раз, ключевое слово для поиска по документации - once.

Последний раз редактировалось _0_, 10.05.2013 в 15:28.
Ответить с цитированием
  #6 (permalink)  
Старый 12.05.2013, 21:43
Профессор
Отправить личное сообщение для Brook Посмотреть профиль Найти все сообщения от Brook
 
Регистрация: 13.04.2012
Сообщений: 210

_0_,
Оо, спасибо за ответ...
я тоже уже через callback сделал - вроде пока работает))
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать чтобы форум прогружался прежде, чем информеры? schipun Ваши сайты и скрипты 2 01.02.2013 22:47
jCarousel - как сделать чтобы подсвечивался текущий элемент управления? cenzored jQuery 15 18.06.2012 14:11
как сделать чтобы страница не обновлялась? teles Общие вопросы Javascript 5 25.05.2012 11:20
как в dreamweaver сделать чтобы шрифт и ссылки не съезжали на разных разрешениях?? ekstrimalka1 Элементы интерфейса 2 19.09.2011 11:33
Как сделать, чтобы 2 ссылки отображались как hover при наведении мышкой на любую? Ava Элементы интерфейса 5 19.05.2009 23:24