Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.10.2013, 13:44
Аватар для 1n3gan
Интересующийся
Отправить личное сообщение для 1n3gan Посмотреть профиль Найти все сообщения от 1n3gan
 
Регистрация: 10.04.2013
Сообщений: 27

Узнать объявлялась ли функция ранее
Как узнать объявлялся ли такой кусок кода ранее?
$("body").mCustomScrollbar();

Такая проверка
if ($("body").mCustomScrollbar()) {alert (1)}

не прокатывает, т.к она по сути начинает срабатывать и выдает в итоге 1
Ответить с цитированием
  #2 (permalink)  
Старый 03.10.2013, 14:07
Аватар для mi.rafaylik
Кандидат Javascript-наук
Отправить личное сообщение для mi.rafaylik Посмотреть профиль Найти все сообщения от mi.rafaylik
 
Регистрация: 07.12.2012
Сообщений: 113

// на событие mCustomScrollbar добавляем счётчик
var srollCheck = 0;
$("body").mCustomScrollbar(function(){
	scrollCheck += 1;
});

// проверяем сколько раз сработал счётчик
if (scrollCheck != 0){
	alert(scrollCheck);
}

Последний раз редактировалось mi.rafaylik, 03.10.2013 в 16:16.
Ответить с цитированием
  #3 (permalink)  
Старый 03.10.2013, 14:22
Профессор
Отправить личное сообщение для Яростный Меч Посмотреть профиль Найти все сообщения от Яростный Меч
 
Регистрация: 12.04.2010
Сообщений: 557

а что такое mCustomScrollbar? это некий плагин? тогда он должен оставить какой-то след после себя. Надо выяснить детали, и вопрос решится сам собой.
Ответить с цитированием
  #4 (permalink)  
Старый 03.10.2013, 15:00
Аватар для 1n3gan
Интересующийся
Отправить личное сообщение для 1n3gan Посмотреть профиль Найти все сообщения от 1n3gan
 
Регистрация: 10.04.2013
Сообщений: 27

mi.rafaylik, спасибо за ответ, но ваш счетчик, к сожалению, не сработал

Яростный Меч, mCustomScrollbar - это плагин на jquery, меняющий стандартный скроллбар.
Я высчитываю высоту окна. Если она меньше 600px, то для блока с меню задавать фиксированную высоту и вызывать код скроллбара для него.
Все это поместил в setInterval, чтобы отслеживать изменения в реальном времени:

function windowHeight(){
	if ($(window).height() < 600) {
	$('nav').css({height:'150px'});
	$("nav").mCustomScrollbar(); //Здесь нужна проверка, если этот код уже вызывался, то более не выводить его. Иначе происходит лажа (бесконечное добавление скроллбара, скрин в конце)
}
else {
	$('nav').css({height:'auto'})
}}

setInterval(function(){
	windowHeight();
}, 1000)


Ответить с цитированием
  #5 (permalink)  
Старый 03.10.2013, 15:13
Профессор
Отправить личное сообщение для Яростный Меч Посмотреть профиль Найти все сообщения от Яростный Меч
 
Регистрация: 12.04.2010
Сообщений: 557

ну вот, совсем другое дело.

проверяй $("body").data("mCS_Init"), должно быть true, если метод вызывался
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как узнать какая функция вызывается в браузере при наведении мыши? Бобр Элементы интерфейса 6 01.10.2012 04:01
Как узнать где находится функция, на которую указывает javascript:openTag('mgmt') amigo* Общие вопросы Javascript 13 11.04.2012 12:11
функция не успевает Sadist_dead Элементы интерфейса 22 02.10.2011 19:00
Где вызывается функция? cradis Общие вопросы Javascript 5 23.04.2011 13:47
Как узнать, завершила ли свою работу рекурсивная функция Ajax Общие вопросы Javascript 4 13.05.2009 14:50