Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.10.2014, 10:31
Аспирант
Отправить личное сообщение для serrrgggeee Посмотреть профиль Найти все сообщения от serrrgggeee
 
Регистрация: 15.08.2014
Сообщений: 46

глобальные переменные
Здравствуйте! Вот не могу разобраться с глобальными переменными. Вот мой тренировочный так сказать сайт http://hostserg.irk0.ru Вы видите слайдер есть две кнопки backward и farward одна для движения этой галереи другая для открытия слайдера на весь экран. Так вот я пытаюсь сохранить дерево галереи что бы при закрытии слайдера вернуть все обратно. В данном случае я беру id = demo5 вот код описание проблемы в комментариях
<script type="text/javascript">
                
                 
		$('#demo5').scrollbox({
		  direction: 'h',
		});
		$('#demo5-backward').click(function () {
		  $('#demo5').trigger('backward');
		});
               // здесь я сохраняю в переменную demo значение #demo5
		$('#demo5-forward').click(function () {
                    demo = $('#demo5');
                    $('#demo5').jshowoff();
		}); 
                //$('.jshowoff-play').click(function () {
		  //jsvisible();
		//}); 
                $('#demo5-forwardd').click(function () {

                   
// а здесь уже использую но почему то попадает в эту переменную                      
//значение demo5 слайдера, а не галереи   
// и еще вот это id #demo5-forwardd генерируется кодом который 
//вызывает  слайдер но при клике на нем ничего не происходит
//и я просто вызываю функцию jsvisible(); 
//из консоли
                     jsvisible(); 
		});
               
               
	</script>
Ответить с цитированием
  #2 (permalink)  
Старый 28.10.2014, 10:33
Аспирант
Отправить личное сообщение для serrrgggeee Посмотреть профиль Найти все сообщения от serrrgggeee
 
Регистрация: 15.08.2014
Сообщений: 46

Вот сама функция слайдера и функция возврата состояния jsvisible();

var headerk;
(function($) {


	$.fn.jshowoff = function() {

		// default global vars
		var config = {
			animatePause : true,
			autoPlay : true,
			changeSpeed : 600,
			controls : true,
			controlText : {
				play :		'Play',
				pause :		'Pause',
				next :		'Next',
				previous :	'Previous'
			},
			effect : 'fade',
			hoverPause : true,
			links : true,
			speed : 3000
		};
                // Удаляем и восстанавливаем параграф #myDiv2
            

                
                   
		if (config.speed < (config.changeSpeed+20)) {
			alert('jShowOff: Make speed at least 20ms longer than changeSpeed; the fades aren\'t always right on time.');
			return this;
		};
		
		// create slideshow for each matching element invoked by .jshowoff()
		this.each(function(i) {
			
			// declare instance variables
			var $cont = $(this);
			var gallery = $(this).children().children().children().remove();
			var timer = '';
			var counter = 0;
			var preloadedImg = [];
			var howManyInstances = $('.jshowoff').length+1;
			var uniqueClass = 'jshowoff-'+howManyInstances;
			var cssClass = config.cssClass != undefined ? config.cssClass : '';
			
			
			// set up wrapper
			$cont.css('position','relative').wrap('<div class="jshowoff '+uniqueClass+'" />');
			var $wrap = $('.'+uniqueClass);
			$wrap.css('position','absolute').addClass(cssClass);
			
			// add first slide to wrapper
                        
                         $('#demo5.scroll-img ul').css('margin','0px, 0px');
                        $('.btn').css('display','none');
                        $('.demo5').css('display','none');
                         $('.container').css('display','none');
			$(gallery[0]).clone().appendTo($cont);
			
			// preload slide images into memory
			preloadImg();
			
			// add controls
			if(config.controls){
				addControls();
				if(config.autoPlay==false){
					$('.'+uniqueClass+'-play').addClass(uniqueClass+'-paused jshowoff-paused').text(config.controlText.play);
				};
			};
			
			// add slide links
			if(config.links){
				addSlideLinks();
				$('.'+uniqueClass+'-slidelinks a').eq(0).addClass(uniqueClass+'-active jshowoff-active');
			};
			
			// pause slide rotation on hover
			if(config.hoverPause){ $cont.hover(
				function(){ if(isPlaying()) pause('hover'); },
				function(){ if(isPlaying()) play('hover'); }
			);};
			
			// determine autoPlay
			if(config.autoPlay && gallery.length>1) {
				timer = setInterval( function(){ play(); }, config.speed );
			};
			
			// display error message if no slides present
			if(gallery.length<1){
				$('.'+uniqueClass).append('<p>For jShowOff to work, the container element must have child elements.</p>');
			};

			
			// utility for loading slides
			function transitionTo(gallery,index) {
				
				var oldCounter = counter;
				if((counter >= gallery.length) || (index >= gallery.length)) { counter = 0; var e2b = true; }
				else if((counter < 0) || (index < 0)) { counter = gallery.length-1; var b2e = true; }
				else { counter = index; }


				if(config.effect=='fade') {
                                       
					$(gallery[counter]).clone().appendTo($cont).hide().fadeIn(config.changeSpeed);
					$cont.children().children().eq(0).css('position','absolute').fadeOut(config.changeSpeed,function(){$(this).remove();});
					
				} 
				// update active class on slide link
				if(config.links){
					$('.'+uniqueClass+'-active').removeClass(uniqueClass+'-active jshowoff-active');
					$('.'+uniqueClass+'-slidelinks a').eq(counter).addClass(uniqueClass+'-active jshowoff-active');
				};
			};
			
			// is the rotator currently in 'play' mode
			function isPlaying(){
				return $('.'+uniqueClass+'-play').hasClass('jshowoff-paused') ? false : true;
			};
                        
			// start slide rotation on specified interval
			function play(src) {
				if(!isBusy()){
					counter++;
					transitionTo(gallery,counter);
					if(src=='hover' || !isPlaying()) {
						timer = setInterval(function(){ play(); },config.speed);
					}
					if(!isPlaying()){
						$('.'+uniqueClass+'-play').text(config.controlText.pause).removeClass('jshowoff-paused '+uniqueClass+'-paused');
					}
				};
			};
			
			// stop slide rotation
			function pause(src) {
				clearInterval(timer);
				if(!src || src=='playBtn') $('.'+uniqueClass+'-play').text(config.controlText.play).addClass('jshowoff-paused '+uniqueClass+'-paused');
				if(config.animatePause && src=='playBtn'){
					$('<p class="'+uniqueClass+'-pausetext jshowoff-pausetext">'+config.controlText.pause+'</p>').css({ fontSize:'62%', textAlign:'center', position:'absolute', top:'40%', lineHeight:'100%', width:'100%' }).appendTo($wrap).addClass(uniqueClass+'pauseText').animate({ fontSize:'600%', top:'30%', opacity:0 }, {duration:500,complete:function(){$(this).remove();}});
				}
			};
			
			// load the next slide
			function next() {
				goToAndPause(counter+1);
			};
		
			// load the previous slide
			function previous() {
				goToAndPause(counter-1);
			};
			
			// is the rotator in mid-transition
			function isBusy() {
				return $cont.children().length>1 ? true : false;
			};
			
			// load a specific slide
			function goToAndPause(index) {
				$cont.children().stop(true,true);
				if((counter != index) || ((counter == index) && isBusy())){
					if(isBusy()) $cont.children().eq(0).remove();
					transitionTo(gallery,index);
					pause();
				};
			};	

			// load images into memory
			function preloadImg() {
				$(gallery).each(function(i){
					$(this).find('img').each(function(i){
						preloadedImg[i] = $('<img>').attr('src',$(this).attr('src'));					
					});
				});
			};
				
			// generate and add play/pause, prev, next controls
			function addControls() {
				$wrap.append('<button class="btn" id="demo5-forwardd">Forward <i class="icon-chevron-right"></i></button><p class="jshowoff-controls '+uniqueClass+'-controls"><a class="jshowoff-play '+uniqueClass+'-play" href="#null">'+config.controlText.pause+'</a> <a class="jshowoff-prevv '+uniqueClass+'-prevv" href="#null"></a> <a class="jshowoff-prev '+uniqueClass+'-prev" href="#null">'+config.controlText.previous+'</a> <a class="jshowoff-next '+uniqueClass+'-next" href="#null">'+config.controlText.next+'</a></p>');
				$('.'+uniqueClass+'-controls a').each(function(){
						if($(this).hasClass('jshowoff-play')) $(this).click(function(){ isPlaying() ? pause('playBtn') : play(); return false; } );
						if($(this).hasClass('jshowoff-prev')) $(this).click(function(){ previous(); return false; });
						if($(this).hasClass('jshowoff-next')) $(this).click(function(){ next(); return false; });
				});
			};	
			function addSlideLinks() {
				$wrap.append('<p class="jshowoff-slidelinks '+uniqueClass+'-slidelinks"></p>');
				$.each(gallery, function(i, val) {
					var linktext = $(this).attr('title') || i+1;
					$('<a class="jshowoff-slidelink-'+i+' '+uniqueClass+'-slidelink-'+i+'" href="#null">'+linktext+'</a>').bind('click', {index:i}, function(e){ goToAndPause(e.data.index); return false; }).appendTo('.'+uniqueClass+'-slidelinks');
				});
			};		
		});
		return this;
	};

// end closure
})(jQuery);


var jsvisible = function ()  {
   // header = $('header').detach();
     //  header.appendTo('body');
     
    $('body').empty();
       demo.appendTo('body');
 };
Ответить с цитированием
  #3 (permalink)  
Старый 28.10.2014, 11:01
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

serrrgggeee,
ничего непонятно из вашего описания кроме того что в 5 строке запятая лишняя а в 18 forwardd
Ответить с цитированием
  #4 (permalink)  
Старый 28.10.2014, 11:10
Аспирант
Отправить личное сообщение для serrrgggeee Посмотреть профиль Найти все сообщения от serrrgggeee
 
Регистрация: 15.08.2014
Сообщений: 46

у меня есть галерея, при нажатии на кнопку forward появляется слайдер, если по русски мне нужно сохранить всю разметку которая голлереи в переменную, что бы потом вернуться обратно из слайдера к голереи при нажатии на кнопку, но у меня сохраняется разметка уже слайдера, вот как мен сохранить именно разметку, галлереи вот вопрос
Ответить с цитированием
  #5 (permalink)  
Старый 28.10.2014, 11:17
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Сообщение от serrrgggeee
но у меня сохраняется разметка уже слайдера, вот как мен сохранить именно разметку,
Но пасаран
Ответить с цитированием
  #6 (permalink)  
Старый 28.10.2014, 11:29
Аспирант
Отправить личное сообщение для serrrgggeee Посмотреть профиль Найти все сообщения от serrrgggeee
 
Регистрация: 15.08.2014
Сообщений: 46

что это значит? Вы знаете я не имею большой опыт в js поэтому кое что не понимаю
Ответить с цитированием
  #7 (permalink)  
Старый 28.10.2014, 11:34
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

serrrgggeee,
не могу вам помочь - код большой, проблема не локализована - описание проблемы недоступно для моего понимания.
Ответить с цитированием
  #8 (permalink)  
Старый 28.10.2014, 11:41
Аспирант
Отправить личное сообщение для serrrgggeee Посмотреть профиль Найти все сообщения от serrrgggeee
 
Регистрация: 15.08.2014
Сообщений: 46

это потаму, что я плохо объяснил или вы просто еще не на этом уровне?
Ответить с цитированием
  #9 (permalink)  
Старый 28.10.2014, 11:57
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

serrrgggeee,
не на том, не на том
Ответить с цитированием
  #10 (permalink)  
Старый 28.10.2014, 14:07
Аспирант
Отправить личное сообщение для serrrgggeee Посмотреть профиль Найти все сообщения от serrrgggeee
 
Регистрация: 15.08.2014
Сообщений: 46

так вы можете как то помоч?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Callback функция и глобальные переменные drunia85 Events/DOM/Window 5 14.10.2012 03:06
глобальные переменные сайта и js leko Общие вопросы Javascript 8 01.07.2012 10:53
Глобальные переменные kilogram Серверные языки и технологии 3 30.03.2012 15:59
JavaScript глобальные переменные anset jQuery 7 22.12.2010 17:31
JavaScript Глобальные переменные MixMe Javascript под браузер 1 12.07.2009 14:04