Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.02.2013, 23:03
Интересующийся
Отправить личное сообщение для Mapcicc Посмотреть профиль Найти все сообщения от Mapcicc
 
Регистрация: 13.02.2013
Сообщений: 21

Не могу понять где косяк в передаче или управлении.
var controllSize;
var controllSizeThree;
var controllSizeTwo;
var controllSizeOne;
$('#headerwrap').ready(function() {
	    var ua = navigator.userAgent;
    if (ua.search(/Firefox/) > 0){ controllSizeOne = 1287 ; controllSizeTwo = 883 ; controllSizeThree = 733;}
	else{ controllSizeOne = 1300 ; controllSizeTwo = 900 ; controllSizeThree = 750; }
});
var MAX = 'max';
var MIN;
var Content = $('#content');
var sideBar = $('#sidebar');
var scrolledH;
var rightSidebarH = $('#sidebar').height();
function scrollScreen () {
	scrolledH = $(document).scrollTop();
	if ( scrolledH > rightSideBar ) {
		sideBar.hide();
		Content.removeClass(MIN);
		Content.addClass(MAX);
	}else {
		sidebar.show();
		Content.removeClass(MAX);
		Content.addClass(MIN);
	}
};
function resizeScreen () {
	var sizesWindow = $('#headerwrap').width();
	switch( true ){
		case sizesWindow >= controllSizeOne:
				MIN = 'minOne';
				scrollScreen();		  		
  				break;
  		case sizesWindow < controllSizeOne && sizesWindow >= controllSizeTwo:
				MIN = 'minTwo';
				scrollScreen();
	  			break;
  		case sizesWindow < controllSizeTwo && sizesWindow >= controllSizeThree:
				MIN = 'minThree';
				scrollScreen();				
  		        break;
  		case sizesWindow < controllSizeThree:
				MIN = MAX;
				scrollScreen();		  		
	  			break;	
};
addEventListener('scroll', scrollScreen, false);
addEventListener('resize', resizeScreen, false);
$('body').ready(function() {
	var sizesWindow = $('#headerwrap').width();
	switch( true ){
		case sizesWindow >= controllSizeOne:
				MIN = minOne;
				scrollScreen();		  		
				break;
  		case sizesWindow < controllSizeOne && sizesWindow >= controllSizeTwo:
				MIN = minTwo;
				scrollScreen();
	  			break;
  		case sizesWindow < controllSizeTwo && sizesWindow >= controllSizeThree:
				MIN = minThree;
				scrollScreen();				
  		        break;
  		case sizesWindow < controllSizeThree:
				MIN = MAX;
				scrollScreen();		  		
	  			break;	
	}
});
Ответить с цитированием
  #2 (permalink)  
Старый 13.02.2013, 23:07
Интересующийся
Отправить личное сообщение для Mapcicc Посмотреть профиль Найти все сообщения от Mapcicc
 
Регистрация: 13.02.2013
Сообщений: 21

Смысл такой:
Функция resizeScreen в зависимости от размеров окна браузера выставляет необходимый класс в переменную MIN, которая затем в вызванной функции scrollScreen используется при прокрутке- расширение либо сжатие.
Ответить с цитированием
  #3 (permalink)  
Старый 13.02.2013, 23:12
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Mapcicc
Не могу понять где косяк в передаче или управлении
Можете расшифровать вопрос? Какая передача, какое управление? Рефакторинг кода был бы очень ксати, потому что много буков...
Ответить с цитированием
  #4 (permalink)  
Старый 13.02.2013, 23:19
Интересующийся
Отправить личное сообщение для Mapcicc Посмотреть профиль Найти все сообщения от Mapcicc
 
Регистрация: 13.02.2013
Сообщений: 21

Точнее не смогу. Я не могу понять, почему скрипт не проявляет вообще никаких признаков жизни
Ответить с цитированием
  #5 (permalink)  
Старый 13.02.2013, 23:21
Интересующийся
Отправить личное сообщение для Mapcicc Посмотреть профиль Найти все сообщения от Mapcicc
 
Регистрация: 13.02.2013
Сообщений: 21

Передача: значение MIN при case изменится и уйдет ли изменившиеся в scrollScreen?
Ответить с цитированием
  #6 (permalink)  
Старый 13.02.2013, 23:23
Интересующийся
Отправить личное сообщение для Mapcicc Посмотреть профиль Найти все сообщения от Mapcicc
 
Регистрация: 13.02.2013
Сообщений: 21

Не судите строго- пред вами дно последнее) Только начал
Ответить с цитированием
  #7 (permalink)  
Старый 13.02.2013, 23:28
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

F12 либо Ctrl+Shift+I - консоль браузера. незаменимая вещь. Выводит ошибки скриптов.
Так и быть, подскажу: не закрыт блок switch(){} в функции resizeScreen(){}
Ответить с цитированием
  #8 (permalink)  
Старый 13.02.2013, 23:48
Интересующийся
Отправить личное сообщение для Mapcicc Посмотреть профиль Найти все сообщения от Mapcicc
 
Регистрация: 13.02.2013
Сообщений: 21

Спасибо за подсказку- ошибок было очень много) Но не помогло...
Ответить с цитированием
  #9 (permalink)  
Старый 13.02.2013, 23:50
Интересующийся
Отправить личное сообщение для Mapcicc Посмотреть профиль Найти все сообщения от Mapcicc
 
Регистрация: 13.02.2013
Сообщений: 21

var controllSize;
var controllSizeThree;
var controllSizeTwo;
var controllSizeOne;
$('#headerwrap').ready(function() {
	    var ua = navigator.userAgent;
    if (ua.search(/Firefox/) > 0){ controllSizeOne = 1287 ; controllSizeTwo = 883 ; controllSizeThree = 733;}
	else{ controllSizeOne = 1300 ; controllSizeTwo = 900 ; controllSizeThree = 750; }
});
var MAX = 'max';
var MIN;
var Content = $('#content');
var sideBar = $('#sidebar');
var scrolledH;
var rightSidebarH = $('#sidebar').height();
function scrollScreen () {
	scrolledH = $(document).scrollTop();
	if ( scrolledH > rightSidebarH ) {
		sideBar.hide();
		Content.removeClass(MIN);
		Content.addClass(MAX);
	}else {
		sideBar.show();
		Content.removeClass(MAX);
		Content.addClass(MIN);
	}
};
function resizeScreen () {
	var sizesWindow = $('#headerwrap').width();
	switch( true ){
		case sizesWindow >= controllSizeOne:
				MIN = 'minOne';
				scrollScreen();		  		
  				break;
  		case sizesWindow < controllSizeOne && sizesWindow >= controllSizeTwo:
				MIN = 'minTwo';
				scrollScreen();
	  			break;
  		case sizesWindow < controllSizeTwo && sizesWindow >= controllSizeThree:
				MIN = 'minThree';
				scrollScreen();				
  		        break;
  		case sizesWindow < controllSizeThree:
				MIN = MAX;
				scrollScreen();		  		
	  			break;	
}};
addEventListener('scroll', scrollScreen, false);
addEventListener('resize', resizeScreen, false);
$('body').ready(function() {
	var sizesWindow = $('#headerwrap').width();
	Content.removeClass('minOne');
	Content.removeClass('minTwo');
	Content.removeClass('minThree')
	switch( true ){
		case sizesWindow >= controllSizeOne:
				MIN = 'minOne';
				scrollScreen();		  		
				break;
  		case sizesWindow < controllSizeOne && sizesWindow >= controllSizeTwo:
				MIN = 'minTwo';
				scrollScreen();
	  			break;
  		case sizesWindow < controllSizeTwo && sizesWindow >= controllSizeThree:
				MIN = 'minThree';
				scrollScreen();				
  		        break;
  		case sizesWindow < controllSizeThree:
				MIN = MAX;
				scrollScreen();		  		
	  			break;	
	}
});
Ответить с цитированием
  #10 (permalink)  
Старый 13.02.2013, 23:50
Интересующийся
Отправить личное сообщение для Mapcicc Посмотреть профиль Найти все сообщения от Mapcicc
 
Регистрация: 13.02.2013
Сообщений: 21

$('body').ready(function() {
Даже не выполняется, в чем может быть проблема?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу понять, почему не работает автокомпил в IE 8 gargon2008 jQuery 0 07.06.2011 11:31
RegExp - поиск в найденном. Не могу понять senseysensor Общие вопросы Javascript 9 17.10.2010 21:55
проблема с рекурсией, не могу понять почему скрипт не выходит из неё. Flirer Общие вопросы Javascript 5 24.12.2009 01:01
Предполагается наличие объекта... не могу понять где косяк mp3moto Internet Explorer 3 18.06.2009 04:34
не могу понять в чём ошибка scuter Общие вопросы Javascript 2 28.08.2008 15:22