Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Не могу понять где косяк в передаче или управлении. (https://javascript.ru/forum/misc/35536-ne-mogu-ponyat-gde-kosyak-v-peredache-ili-upravlenii.html)

Mapcicc 13.02.2013 23:03

Не могу понять где косяк в передаче или управлении.
 
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;	
	}
});

Mapcicc 13.02.2013 23:07

Смысл такой:
Функция resizeScreen в зависимости от размеров окна браузера выставляет необходимый класс в переменную MIN, которая затем в вызванной функции scrollScreen используется при прокрутке- расширение либо сжатие.

danik.js 13.02.2013 23:12

Цитата:

Сообщение от Mapcicc
Не могу понять где косяк в передаче или управлении

Можете расшифровать вопрос? Какая передача, какое управление? Рефакторинг кода был бы очень ксати, потому что много буков...

Mapcicc 13.02.2013 23:19

Точнее не смогу. Я не могу понять, почему скрипт не проявляет вообще никаких признаков жизни

Mapcicc 13.02.2013 23:21

Передача: значение MIN при case изменится и уйдет ли изменившиеся в scrollScreen?

Mapcicc 13.02.2013 23:23

Не судите строго- пред вами дно последнее) Только начал

danik.js 13.02.2013 23:28

F12 либо Ctrl+Shift+I - консоль браузера. незаменимая вещь. Выводит ошибки скриптов.
Так и быть, подскажу: не закрыт блок switch(){} в функции resizeScreen(){}

Mapcicc 13.02.2013 23:48

Спасибо за подсказку- ошибок было очень много) Но не помогло...

Mapcicc 13.02.2013 23:50

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;	
	}
});

Mapcicc 13.02.2013 23:50

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


Часовой пояс GMT +3, время: 11:23.