• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Проблемы со слайдером

Vasilisk

Новые
Регистрация
16 Май 2010
Сообщения
1,194
Реакции
12
Баллы
0
Проблемы со слайдером

Переделываю шаблон для DLE, в нем есть интересный слайдер, который перелистывает картинки и выводит на них текст. Со временем заметил, что он не всегда отображается. Если обновить страницу, или вернуться назад, то его может вообще не быть на странице. Такое ощущение, что он перестает грузиться и отображаются только стрелочки управления. Попросил проверить у друзей, у некоторых он вообще не отображается. Как это исправить?
Вот сайт:
[mod]Ай-яй-яй :)
Запрещены ссылки на:
- на неизвестные и неразвитые сайты, а также на сайты возрастом меньше года
Модератор!
[/mod]
Если понадобится, то могу скинуть слайдер.
 
Возможно конфликт скриптов JS, проверяется методом тыка :)
 
За все время просмотра, у мня слайдер появился один раз всего.

Действительно такое ощущение, что конфикт....

Методом тыка перебрал все, оказалось, что слайдер состоит из нескольких .js. При отсутствии одного из них, слайдер не грузится, но стрелочки остаются. Возможно по какой-то причине не все .js подгружаются при каждой загрузке. Что делать дальше?
 
Что делать дальше?

Если так, то попробуй поставить их в начале body или в конце body

Бывает помогает. Снова же попробуй просто поменять местами вызовы js файлов слайдера. То есть может быть, что один подгружается после другого, а должно быть наоборот.

Расстановка важна.

У меня похожая беда была с плеером на сайте. CSS не успевал подгрузиться, как js уже картинки вставил беспорядочно
 
Попробовал поставить в начале, в конце, соединил все файлы слайдер в один, все так же. Может дело в старой версии слайдера?
Код:
/*
 * VitaSlider
 * Ðàçðàáîòêà - Ñêóáàåâ Àëåêñåé (Test-Templates.com)
 * 
*/

jQuery.fn.VitaSlider = function(options){
	
	var options = jQuery.extend({

	    SliderTime: 10000, // Time
	    autoPlay: true // 
	   
	  },options);
	
	return this.each(function() {
			
		////////////////////////////
		var thisSlider = $(this);
		
		thisSlider.find('.slider-item:first').addClass('slaider-activ').fadeIn(500);
		
		if (options.autoPlay === false) { 
			options.SliderTime = 90000000;
		} 
	
		var currentHeightSlider = thisSlider.find('.slider-item:first img:last').height();
		thisSlider.css({'height':currentHeightSlider, 'font-size':currentHeightSlider/47});
		
		$(window).resize(function(){
			var currentHeightSlider = $('.slaider-activ img:last').height();
			thisSlider.css({'height':currentHeightSlider, 'font-size':currentHeightSlider/47});
			var currentWinSize = $(window).width();
			var currentBlockMargin = $('.slaider-activ .slider-text').css('left');
			currentBlockMargin = parseInt(currentBlockMargin, 10);
			if ( currentWinSize < currentBlockMargin + 530 ) {
			  $('.slaider-activ .slider-text').css({'left':'auto', 'right':'20px'}).attr('rel',(currentBlockMargin+530));
			}
		});
		
		function showNext() {
			clearTimeout(timerId);
			$('.slider-item, .slider-item h3, .slider-text').queue("fx", []);
			$('.slider-item, .slider-item h3, .slider-text').stop();
			var currentBlock = $('.slaider-activ');
			var nextBlock = currentBlock.next('.slider-item').length ? currentBlock.next('.slider-item') : $('.slider-item:first');
			$('.slider-item').fadeOut(400);
			$('.slider-item h3, .slider-item .slider-text').css({'opacity':'0'});
			$('.slider-item').removeClass('slaider-activ');
			nextBlock.addClass('slaider-activ').fadeIn(1000, function(){
				var dataTime = $('.slaider-activ h3').data('time');
				var dataTime2 = $('.slaider-activ .slider-text').data('time');
				var datatransition = $('.slaider-activ h3').data('transition');
				var datatransition2 = $('.slaider-activ .slider-text').data('transition');
				var leftM = $('.slaider-activ h3').data('x');
				var topM = $('.slaider-activ h3').data('y');
				var leftM2 = $('.slaider-activ .slider-text').data('x');
				var topM2 = $('.slaider-activ .slider-text').data('y');
				$('.slaider-activ h3').animate({
					'opacity': '1',
					'left':''+leftM+'%',
					'top':''+topM+'%'
				}, dataTime, ''+datatransition+'', function(){
						$('.slaider-activ .slider-text').animate({
							'opacity': '1',
							'left':''+leftM2+'%',
							'top':''+topM2+'%'
						}, dataTime2, ''+datatransition2+'', function(){
							var currentWinSize = $(window).width();
							var currentBlockMargin = $('.slaider-activ .slider-text').css('left');
							currentBlockMargin = parseInt(currentBlockMargin, 10);
							if ( currentWinSize < currentBlockMargin + 530 ) {
								 $('.slaider-activ .slider-text').css({'left':'auto', 'right':'20px'}).attr('rel',(currentBlockMargin+530));
							}
						});
					});
			});
			timerId = setTimeout(showNext, options.SliderTime);
			
			$('.slider-item h3').each(function() {
				var randomX = Math.floor(Math.random() * (500 - (-500) + 1) + -500);
				var randomY = Math.floor(Math.random() * (500 - (-500) + 1) + -500);
				$(this).css({
					'left':randomX,
					'top':randomY
				});
			});
			
			$('.slider-item .slider-text').each(function() {
				var randomX = Math.floor(Math.random() * (500 - (-500) + 1) + -500);
				var randomY = Math.floor(Math.random() * (500 - (-500) + 1) + -500);
				$(this).css({
					'left':randomX,
					'top':randomY
				});
			});
		};
		
		timerId = setTimeout(showNext, options.SliderTime);

		
		$('.next').click(showNext);
		
		function showPrev() {
			clearTimeout(timerId);
			$('.slider-item, .slider-item h3, .slider-text').queue("fx", []);
			$('.slider-item, .slider-item h3, .slider-text').stop();
			var currentBlock = $('.slaider-activ');
			var prevBlock = currentBlock.prev('.slider-item').length ? currentBlock.prev('.slider-item') : $('.slider-item:last');
			$('.slider-item').fadeOut(500);
			$('.slider-item h3, .slider-item .slider-text').css({'opacity':'0'});
			$('.slider-item').removeClass('slaider-activ');
			prevBlock.addClass('slaider-activ').fadeIn(1000, function(){
				var dataTime = $('.slaider-activ h3').data('time');
				var dataTime2 = $('.slaider-activ .slider-text').data('time');
				var datatransition = $('.slaider-activ h3').data('transition');
				var datatransition2 = $('.slaider-activ .slider-text').data('transition');
				var leftM = $('.slaider-activ h3').data('x');
				var topM = $('.slaider-activ h3').data('y');
				var leftM2 = $('.slaider-activ .slider-text').data('x');
				var topM2 = $('.slaider-activ .slider-text').data('y');
				$('.slaider-activ h3').animate({
					'opacity': '1',
					'left':''+leftM+'%',
					'top':''+topM+'%'
				}, dataTime, ''+datatransition+'', function(){
						$('.slaider-activ .slider-text').animate({
							'opacity': '1',
							'left':''+leftM2+'%',
							'top':''+topM2+'%'
						}, dataTime2, ''+datatransition2+'', function(){
							var currentWinSize = $(window).width();
							var currentBlockMargin = $('.slaider-activ .slider-text').css('left');
							currentBlockMargin = parseInt(currentBlockMargin, 10);
							if ( currentWinSize < currentBlockMargin + 530 ) {
								 $('.slaider-activ .slider-text').css({'left':'auto', 'right':'20px'}).attr('rel',(currentBlockMargin+530));
							}
						});
					});
			});
			
			timerId = setTimeout(showNext, options.SliderTime);
			
			$('.slider-item h3').each(function() {
				var randomX = Math.floor(Math.random() * (500 - (-500) + 1) + -500);
				var randomY = Math.floor(Math.random() * (500 - (-500) + 1) + -500);
				$(this).css({
					'left':randomX,
					'top':randomY
				});
			});
			
			$('.slider-item .slider-text').each(function() {
				var randomX = Math.floor(Math.random() * (500 - (-500) + 1) + -500);
				var randomY = Math.floor(Math.random() * (500 - (-500) + 1) + -500);
				$(this).css({
					'left':randomX,
					'top':randomY
				});
			});
			
		};
		
		$('.prev').click(showPrev);
		
		$('.slider-item').hover(
			function() {
			clearTimeout(timerId);
		}, function() {
			timerId = setTimeout(showNext, options.SliderTime);
		});	
		
		
		$('.slider-item h3').each(function() {
			var randomX = Math.floor(Math.random() * (500 - (-500) + 1) + -500);
			var randomY = Math.floor(Math.random() * (500 - (-500) + 1) + -500);
			$(this).css({
				'left':randomX,
				'top':randomY
			});
		});
		
		$('.slider-item .slider-text').each(function() {
			var randomX = Math.floor(Math.random() * (500 - (-500) + 1) + -500);
			var randomY = Math.floor(Math.random() * (500 - (-500) + 1) + -500);
			$(this).css({
				'left':randomX,
				'top':randomY
			});
		});
		
		var dataTime = $('.slaider-activ h3').data('time');
		var dataTime2 = $('.slaider-activ .slider-text').data('time');
		var datatransition = $('.slaider-activ h3').data('transition');
		var datatransition2 = $('.slaider-activ .slider-text').data('transition');
		var leftM = $('.slaider-activ h3').data('x');
		var topM = $('.slaider-activ h3').data('y');
		var leftM2 = $('.slaider-activ .slider-text').data('x');
		var topM2 = $('.slaider-activ .slider-text').data('y');
		$('.slaider-activ h3').animate({
			'opacity': '1',
			'left':''+leftM+'%',
			'top':''+topM+'%'
		}, dataTime, ''+datatransition+'', function(){
				$('.slaider-activ .slider-text').animate({
					'opacity': '1',
					'left': ''+leftM2+'%',
					'top': ''+topM2+'%'
				}, dataTime2, ''+datatransition2+'', function(){
					var currentWinSize = $(window).width();
					var currentBlockMargin = $('.slaider-activ .slider-text').css('left');
					currentBlockMargin = parseInt(currentBlockMargin, 10);
					if ( currentWinSize < currentBlockMargin + 530 ) {
						 $('.slaider-activ .slider-text').css({'left':'auto', 'right':'20px'}).attr('rel',(currentBlockMargin+530));
					}
				});
			});
			
		////////////////////////////
		
	});
	
};

































$(document).ready(function() {
	
	/*
		Aleksey Skubaev

		askubaev@gmail.com
		icq - 322253350
		Ðàçðàáîòêà øàáëîíîâ äëÿ DLE è êðîññáðàóçåðíàÿ âåðñòêà
		------------------
		Íåîáõîäèìûå jQuery ñêðèïòû.
	
	*/
	
	$('.slider-block').VitaSlider();
	
	$('.top-menu li:has(div)').hover(
		function() {
			$(this).find('.hidden-menu').slideDown(150);
			$(this).addClass('menuactive');
		}, function() {
			$(this).find('.hidden-menu').slideUp(150);
			$(this).removeClass('menuactive');
	});
	
	
	$('.top-menu li:has(div)').addClass('podmenupresent');
	
	$('.footer-up').click(function(){
		$('body,html').animate({
            scrollTop: 0
        }, 500);
        return false;
	});
	
	

	$('.last-updates-item:first').css({'margin-left':0});
	
	$('.shortstory:nth-child(3n+1)').css({'margin-left':0});
	
	$('.tt-tabs').ttabs();
	
	$(function(){
		// building select menu
		$('<select />').appendTo('nav');

		// building an option for select menu
		$('<option />', {
			'selected': 'selected',
			'value' : '',
			'text': 'Âûáåðèòå ñòðàíèöó'
		}).appendTo('nav select');

		$('nav ul li a').each(function(){
			var target = $(this);

			$('<option />', {
				'value' : target.attr('href'),
				'text': target.text()
			}).appendTo('nav select');

		});

		// on clicking on link
		$('nav select').on('change',function(){
			window.location = $(this).find('option:selected').val();
		});
	});

	
});
 
В то же время у меня он не открывается 1 раз из 10, а у кого-то 9 раз из 10. Сервер же здесь не причем?
 
Не при чем, тут проблема где-то в слайдере или в его подключении

Нашел в интернете про этот слайдер, он глючит у всех. Один человек написал, что ситуацию можно поправить в коде и все будет работать, но что надо сделать, он писать не захотел. На форуме есть ява программисты? Может кто нибудь сможет помочь?
 
Перечитал несколько статей. Даже, если поставить загрузку в самом конце, в футоре, то после загрузки и отображения страницы, должен появиться слайдер.
 
Заплатил программисту, он вырезал из кода часть, которая сворачивала слайдер, но потом почему-то не разворачивала его.
 
Заплатил программисту, он вырезал из кода часть, которая сворачивала слайдер, но потом почему-то не разворачивала его.
Если можешь, выложи решение. Мало ли кто-то еще с такой проблемой будет
 
Если бы я знал, что он там переделал. У меня с явой плохо. Теоретически, слайдеру выставляется время, спустя которое он включается. За это время загружаются картинки. Если он включится до того, как подгрузятся картинки, то он пропадает.
Решение:
1) максимальное сжатие картинок (нашел сервис, который круто сжимает картинки, не ухудшая качество, было 1210кб, стало 290кб)
2) Увеличение таймера загрузки слайдера, что бы картинки успели подгрузиться. Поставил на пол секунды (500). Но опять же, если у кого-то интернет очень плохой, не успеет. Но я не нашел такой, что бы поэкспериментировать.
 
Теоретически, слайдеру выставляется время, спустя которое он включается. За это время загружаются картинки. Если он включится до того, как подгрузятся картинки, то он пропадает.
Странный слайдер какой-то. У меня на сайте слайдер подгружается, даже если картинки нет или если путь неверный
 
Может проблема в шаблоне?
 
Назад
Сверху