Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #41 (permalink)  
Старый 20.04.2017, 15:11
Аспирант
Отправить личное сообщение для macik Посмотреть профиль Найти все сообщения от macik
 
Регистрация: 17.06.2014
Сообщений: 32

нет это какой-то глюк, все вроде поправил и теперь работает как надо.
#foto_index{
	transition:all 3s ease;
	 -webkit-transition:all 3s ease;
	 -moz-transition:all 3s ease;
	 -o-transition:all 3s ease;
	opacity: 1;
	background: url("/images/new/foto_index/01.jpg") no-repeat center;
	z-index: -2;
	min-height: 600px;	
	margin-top: -50px;
	margin-right: 0;
	margin-left: 0;
	-moz-background-size: 100%; /* Firefox 3.6+ */
    -webkit-background-size: 100%; /* Safari 3.1+ и Chrome 4.0+ */
    -o-background-size: 100%; /* Opera 9.6+ */
    background-size: 100%; /* Современные браузеры */
    background-size:cover;
}

var mas = [
			'/images/new/foto_index/01.jpg',
			'/images/new/foto_index/IMG_0875.jpg',
			'/images/new/foto_index/IMG_1043.jpg',
			'/images/new/foto_index/IMG_1109.jpg',
			'/images/new/foto_index/IMG_1077.jpg',
			'/images/new/foto_index/IMG_0985.jpg'
		], i=1;
function csaHead(){
	if(i > (mas.length-1)){
		document.getElementById('foto_index').style.backgroundImage="url('"+mas[0]+"')";
		i=0;
 	}else{
 		document.getElementById('foto_index').style.backgroundImage="url('"+mas[i]+"')";
 		i++;
 	} 	
}
var intervalCsaHead = setInterval(csaHead,5000);
Ответить с цитированием
  #42 (permalink)  
Старый 20.04.2017, 15:12
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

macik,
Последний вариант вашего скрипта можно упростить
var mas = [
			'/images/new/foto_index/01.jpg',
			'/images/new/foto_index/IMG_0875.jpg',
			'/images/new/foto_index/IMG_1043.jpg',
			'/images/new/foto_index/IMG_1109.jpg',
			'/images/new/foto_index/IMG_1077.jpg',
			'/images/new/foto_index/IMG_0985.jpg'
		], i=1;
function csaHead(){
	if(i > (mas.length-1)){
		i=0;
 	}
 	document.getElementById('foto_index').style.backgroundImage="url('"+mas[i]+"')";
 	i++; 	 	
}
var intervalCsaHead = setInterval(csaHead,5000);


А насчет появления картинок - можно сделать первую прокрутку втемную и с нулевой задержкой.

Последний раз редактировалось Dilettante_Pro, 20.04.2017 в 15:17.
Ответить с цитированием
  #43 (permalink)  
Старый 20.04.2017, 15:45
Аспирант
Отправить личное сообщение для macik Посмотреть профиль Найти все сообщения от macik
 
Регистрация: 17.06.2014
Сообщений: 32

Сообщение от Dilettante_Pro Посмотреть сообщение
macik,
Последний вариант вашего скрипта можно упростить
var mas = [
			'/images/new/foto_index/01.jpg',
			'/images/new/foto_index/IMG_0875.jpg',
			'/images/new/foto_index/IMG_1043.jpg',
			'/images/new/foto_index/IMG_1109.jpg',
			'/images/new/foto_index/IMG_1077.jpg',
			'/images/new/foto_index/IMG_0985.jpg'
		], i=1;
function csaHead(){
	if(i > (mas.length-1)){
		i=0;
 	}
 	document.getElementById('foto_index').style.backgroundImage="url('"+mas[i]+"')";
 	i++; 	 	
}
var intervalCsaHead = setInterval(csaHead,5000);


А насчет появления картинок - можно сделать первую прокрутку втемную и с нулевой задержкой.
Спасибо ! Но есть какой-то глюк. Я думал что это картинка не успевает загружайся ... А нет. если окно долгое время на заднем плане или свернуто, то потом картинка не переходит плавно, а тупо с пустого в картинку прыгает ... Пока скрипт весь цикл не пройдет будет так рвать ...
Вот тут http://d-fitness.com.ua/new/start я это гоняю ...
Ответить с цитированием
  #44 (permalink)  
Старый 20.04.2017, 15:50
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сообщение от macik
Пока скрипт весь цикл не пройдет будет так рвать ...
ещё один аргумент, чтобы никогда не использовать setInterval
Ответить с цитированием
  #45 (permalink)  
Старый 20.04.2017, 15:52
Аспирант
Отправить личное сообщение для macik Посмотреть профиль Найти все сообщения от macik
 
Регистрация: 17.06.2014
Сообщений: 32

Сообщение от рони Посмотреть сообщение
ещё один аргумент, чтобы никогда не использовать setInterval
А что использовать ?
Ответить с цитированием
  #46 (permalink)  
Старый 20.04.2017, 15:54
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сообщение от macik
Но есть какой-то глюк.
Часики - реалтайм.
Ответить с цитированием
  #47 (permalink)  
Старый 20.04.2017, 15:57
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сообщение от macik
А что использовать ?
проще setTimeout, а лучше на данный момент requestAnimationFrame
Ответить с цитированием
  #48 (permalink)  
Старый 20.04.2017, 15:59
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

macik,
var mas = [
      '/images/new/foto_index/01.jpg',
      '/images/new/foto_index/IMG_0875.jpg',
      '/images/new/foto_index/IMG_1043.jpg',
      '/images/new/foto_index/IMG_1109.jpg',
      '/images/new/foto_index/IMG_1077.jpg',
      '/images/new/foto_index/IMG_0985.jpg'
    ], i=1;
function csaHead(){
  if(i > (mas.length-1)){
    i=0;
 	}
 	document.getElementById('foto_index').style.backgroundImage="url('"+mas[i]+"')";
 	i++;
  setTimeout(csaHead,5000)
}
csaHead()
Ответить с цитированием
  #49 (permalink)  
Старый 20.04.2017, 16:02
Аспирант
Отправить личное сообщение для macik Посмотреть профиль Найти все сообщения от macik
 
Регистрация: 17.06.2014
Сообщений: 32

Я почитала и выходит что requestAnimationFrame(); самое оно! все остальное крутит loop и в фоновом режиме ... только хром умеет замедлять анимация если вкладка не активна.
Ответить с цитированием
  #50 (permalink)  
Старый 20.04.2017, 16:16
Аспирант
Отправить личное сообщение для macik Посмотреть профиль Найти все сообщения от macik
 
Регистрация: 17.06.2014
Сообщений: 32

Сообщение от рони Посмотреть сообщение
ещё один аргумент, чтобы никогда не использовать setInterval
Сообщение от рони Посмотреть сообщение
macik,
var mas = [
      '/images/new/foto_index/01.jpg',
      '/images/new/foto_index/IMG_0875.jpg',
      '/images/new/foto_index/IMG_1043.jpg',
      '/images/new/foto_index/IMG_1109.jpg',
      '/images/new/foto_index/IMG_1077.jpg',
      '/images/new/foto_index/IMG_0985.jpg'
    ], i=1;
function csaHead(){
  if(i > (mas.length-1)){
    i=0;
 	}
 	document.getElementById('foto_index').style.backgroundImage="url('"+mas[i]+"')";
 	i++;
  setTimeout(csaHead,5000)
}
csaHead()
Что то не работает этот вариант.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите, пжлста, найти (или написать) скрипт для смены картинок. Artweb Работа 9 25.02.2011 11:28
Скрипт смены картинок на каждый день года Артемий Б Работа 17 02.12.2010 22:49
Скрипт для динимического изменения div arsen Общие вопросы Javascript 3 30.09.2010 11:29
Скрипт смены картинок - помогите размножить profi555 Ваши сайты и скрипты 6 02.07.2010 23:32
Помогите оптимизировать скрипт смены изображений с анимацией Khmelevsky Элементы интерфейса 5 06.03.2010 19:02