Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.08.2012, 16:34
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

проблемы с jQuery и оптимизацией
вот тут http://cyberua.16mb.com/files/zoom.html есть скрипт (что то типо мини карты ) но он ужасно виснит не понятно почему.
в мозиле вылетает такое сообщение
Цитата:
Похоже, исполняемый на этой странице сценарий занят или не отвечает. Вы можете остановить его сейчас или продолжить и посмотреть, сможет ли он завершить свою работу.

Сценарий: http://code.jquery.com/jquery.js:3805
как я понимаю проблема в jQuery , если да то что можно сделать?
Ответить с цитированием
  #2 (permalink)  
Старый 08.08.2012, 16:51
Аватар для Apollo_440
Аспирант
Отправить личное сообщение для Apollo_440 Посмотреть профиль Найти все сообщения от Apollo_440
 
Регистрация: 06.05.2012
Сообщений: 48

cyber,
что-то да есть. Чем больше двигаю, тем больше лаги. Может где-то зациклена функция??? Потому что сначало все ок, а уж потом плохенько.
Ответить с цитированием
  #3 (permalink)  
Старый 08.08.2012, 16:53
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

Сообщение от Apollo_440 Посмотреть сообщение
cyber,
что-то да есть. Чем больше двигаю, тем больше лаги. Может где-то зациклена функция??? Потому что сначало все ок, а уж потом плохенько.
не первый мой drag and drop , до этого все ок получалось с ними , но первый на jQuery , короче вот код
смотрите сами
function init_drag (e) {

move = true;
var margin = getMargin();

  downX = e.pageX + Math.abs(margin.left) - coord_elem.left;
  downY = e.pageY + Math.abs(margin.top) - coord_elem.top; 

  $(document).on('mousemove', wrapper);	
  $(document).on('mouseup', MouseUp);	
	
	}

function wrapper(e) {
	  
if (move) setTimeout(function (){
	MouseMove(e);
	},30);
	  
	  }


function MouseMove (e) {

var left, top;
var pgX = e.pageX - coord_elem.left;
var pgY = e.pageY - coord_elem.top;



 
left =  - (downX - pgX);
	
left = Math.min(left, 0);	
left = Math.max(left, - (img.width() - elem.width()));	


top = -(downY - pgY);
top = Math.min(top, 0);

top = Math.max(top, -(img.height() - elem.height()));


img.css({
	'margin-top': top+ 'px',
	'margin-left':left + 'px'
	});
}
	
	
function MouseUp () {
	
move = false;	
$(document).unbind('mousemove', wrapper);
$(document).on('mouseup', MouseUp);	
	}	

function getMargin () {
	
 var top = parseInt(img[0].style.marginTop);
var left = parseInt(img[0].style.marginLeft);
	
return {top: top, left: left};	
}
Ответить с цитированием
  #4 (permalink)  
Старый 08.08.2012, 17:30
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

хм интересно, у меня была не большая ошибка
в место
$(document).unbind('mouseup', MouseUp);


я написал

$(document).on('mouseup', MouseUp);


и теперь вроде все норм, но почему из за такой маленькой ошибки так его плющило?
Ответить с цитированием
  #5 (permalink)  
Старый 08.08.2012, 17:32
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

cyber,
Гы .unbind отключает обработчик - .on('mouseup', MouseUp) - ставит новый обработчик
Ответить с цитированием
  #6 (permalink)  
Старый 08.08.2012, 17:35
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

Сообщение от Deff Посмотреть сообщение
cyber,
Гы .unbind отключает обработчик - .on('mouseup', MouseUp) - ставит новый обработчик
я знаю , не внимательность меня доконает=)
кстати а как можно оптимизировать что бы было меньши тормозов?
Ответить с цитированием
  #7 (permalink)  
Старый 08.08.2012, 18:08
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

cyber,
Ксать я не наю
вот это верно ?
$(document).on('mousemove', wrapper);
(просто я со старыми версиями, где оn нет
Если обработчик подключается bind то отключается unbind
Про on - не знаю
Ответить с цитированием
  #8 (permalink)  
Старый 08.08.2012, 18:30
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

Сообщение от Deff Посмотреть сообщение
cyber,
Ксать я не наю
вот это верно ?
$(document).on('mousemove', wrapper);
(просто я со старыми версиями, где оn нет
Если обработчик подключается bind то отключается unbind
Про on - не знаю
я сам в jQuery шарю плохо(этой мой первый и наверно последний скрипт на jquery), но с on работает и unbind убирает обработчик вроде работает=)
Ответить с цитированием
  #9 (permalink)  
Старый 08.08.2012, 19:07
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

по этой ссылке http://gmap.nurtext.de/examples.html есть мини гугл карта (4я с верху), при перемещение карты позиция точек не меняется но почему то они остаются на месте, как это сделано не могу понять
Ответить с цитированием
  #10 (permalink)  
Старый 08.08.2012, 21:54
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

Сообщение от cyber Посмотреть сообщение
по этой ссылке http://gmap.nurtext.de/examples.html есть мини гугл карта (4я с верху), при перемещение карты позиция точек не меняется но почему то они остаются на месте, как это сделано не могу понять
неужели никто не знает?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблемы с разрешением экрана и jquery javascript raffx Элементы интерфейса 2 07.12.2012 16:53
Проблемы с zoom для jquery nematod jQuery 4 31.03.2012 21:07
Проблемы с jquery fancybox В IE не загружаются картинки pav8909 Общие вопросы Javascript 3 09.09.2011 10:46
jQuery проблемы с раскрывающимся списком teclis jQuery 3 24.08.2010 12:25
глюк форума Gvozd Сайт Javascript.ru 11 18.03.2009 14:37