Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 24.07.2015, 16:40
Аватар для EmperioAf
Профессор
Отправить личное сообщение для EmperioAf Посмотреть профиль Найти все сообщения от EmperioAf
 
Регистрация: 15.01.2015
Сообщений: 622

Сообщение от рони Посмотреть сообщение
а что это меняет? или пусть ТС уточнит
ТС написал:
Цитата:
при прокрутке страницы с большой периодичностью чтобы создавался эффект видеою
Я ориентировался на то, чтобы в итоге получилось видео.
Ответить с цитированием
  #12 (permalink)  
Старый 24.07.2015, 18:48
Интересующийся
Отправить личное сообщение для Иван Федорович Посмотреть профиль Найти все сообщения от Иван Федорович
 
Регистрация: 22.07.2015
Сообщений: 18

Спасибо большое. Всё классно , но смена изображений должна осуществляться в автоматичном режиме, а каждая картинка должна быть жестко привязана к величине px прокрутки станицы. Например: при прокрутке страницы вниз на 20px - картинка №1 сменяется картинкой №2, еще 20px вниз - картинка №2 сменяется картинкой №3 и т.д. При прокрутке страницы вверх - в обратном порядке №3 - №2 - №1. С надеждой...
Ответить с цитированием
  #13 (permalink)  
Старый 24.07.2015, 19:24
Интересующийся
Отправить личное сообщение для Иван Федорович Посмотреть профиль Найти все сообщения от Иван Федорович
 
Регистрация: 22.07.2015
Сообщений: 18

*не в автоматическом режиме
Ответить с цитированием
  #14 (permalink)  
Старый 24.07.2015, 19:46
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,075

смена картинок фона по scroll
Иван Федорович,
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
 <title>video</title>

<style>
body{
    height: 3000px;
}

.video {
    position: fixed;
    left: 100px;
    top: 10px;
    width: 400px;
    height: 250px;
    border: 1px solid green;
    background-image: url("http://360tv.ru/binfiles/images/20150424/ba10f44c.jpg");
    background-size: cover;
    background-repeat: no-repeat;
  }
</style>
</head>
<body>
<div class="video"></div>

<script>
window.onload = function() {
var images = ["http://360tv.ru/binfiles/images/20150424/ba10f44c.jpg","http://www.wallsbox.ru/images/original/dozhd-[1680x1050]-[3877171].jpg", "http://moimiri.ru/wp-content/gallery/2013year/2013_Sirost_90x80.jpg", "http://st.magazin-almaz-servis.ru/12/1531/460/syrost-v-kvartire-kak-izbavitsya-foto-2.jpg", "http://cs7002.vk.me/c7007/v7007062/8820/Snd9Gm9pv5k.jpg"],
    videoElem = document.querySelector('.video'),
    scrollHeight = document.documentElement.scrollHeight,
    clientHeight = document.documentElement.clientHeight,
    maxScroll = Math.max(scrollHeight, clientHeight) - clientHeight,
    len = images.length,
    step = maxScroll/len;
    for (var i=0; i<len; i++)  {
      var img = new Image();
          img.src = images[i]
    }

window.onscroll = function(){
    var scrolled = window.pageYOffset || document.documentElement.scrollTop;
    for (var i=0; i < len; i++)  {
      if (i * step + step >= scrolled) break
    }
    videoElem.style.backgroundImage = "url("+images[i]+")";
    }
}

</script>
</body>
</html>

Последний раз редактировалось рони, 24.07.2015 в 23:02.
Ответить с цитированием
  #15 (permalink)  
Старый 24.07.2015, 22:33
Интересующийся
Отправить личное сообщение для Иван Федорович Посмотреть профиль Найти все сообщения от Иван Федорович
 
Регистрация: 22.07.2015
Сообщений: 18

Еще один момент, при смене картинок происходит блик. От этого можно как-то избавится?
Ответить с цитированием
  #16 (permalink)  
Старый 24.07.2015, 23:31
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,075

Иван Федорович,
вариант...
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
 <title>video</title>

<style>
body{
    height: 3000px;
}

.video {
    position: fixed;
    left: 100px;
    top: 10px;
    width: 400px;
    height: 250px;
    border: 1px solid green;
    background-image: url("http://360tv.ru/binfiles/images/20150424/ba10f44c.jpg");
    background-size: cover;
    background-repeat: no-repeat;
    -webkit-transition: opacity .3s ease-in-out;
    -moz-transition: opacity .3s ease-in-out;
    -o-transition: opacity .3s ease-in-out;
    transition: opacity .3s ease-in-out;
}</style>
</head>
<body>
<div class="video"></div>

<script>
window.onload = function() {
var images = ["http://360tv.ru/binfiles/images/20150424/ba10f44c.jpg","http://www.wallsbox.ru/images/original/dozhd-[1680x1050]-[3877171].jpg", "http://moimiri.ru/wp-content/gallery/2013year/2013_Sirost_90x80.jpg", "http://st.magazin-almaz-servis.ru/12/1531/460/syrost-v-kvartire-kak-izbavitsya-foto-2.jpg", "http://cs7002.vk.me/c7007/v7007062/8820/Snd9Gm9pv5k.jpg"],
    videoElem = document.querySelector('.video'),
    scrollHeight = document.documentElement.scrollHeight,
    clientHeight = document.documentElement.clientHeight,
    maxScroll = Math.max(scrollHeight, clientHeight) - clientHeight,
    len = images.length,
    step = maxScroll/len,
    timer, num = 0;
    for (var i=0; i<len; i++)  {
      var img = new Image();
          img.src = images[i]
    }

window.onscroll = function(){
    var scrolled = window.pageYOffset || document.documentElement.scrollTop;
    for (var i=0; i < len; i++)  {
      if (i * step + step >= scrolled) break
    }
    if (num == i) return;
    num = i;
    videoElem.style.opacity = 0;
    window.clearTimeout(timer);
    timer =  window.setTimeout(function() {
    videoElem.style.backgroundImage = "url("+images[i]+")";
    videoElem.style.opacity = 1;
},300)

    }
window.onscroll()
}
</script>
</body>
</html>
Ответить с цитированием
  #17 (permalink)  
Старый 03.08.2015, 10:40
Интересующийся
Отправить личное сообщение для Иван Федорович Посмотреть профиль Найти все сообщения от Иван Федорович
 
Регистрация: 22.07.2015
Сообщений: 18

Помогите пожалуйста. Нужен тот же скрипт по смене картинок, только без эффекта перехода. Картинки должны меняться незаметно, моментально. Возможно нужна предзагрузка изображений. Помогите.
Ответить с цитированием
  #18 (permalink)  
Старый 03.08.2015, 12:07
Аватар для EmperioAf
Профессор
Отправить личное сообщение для EmperioAf Посмотреть профиль Найти все сообщения от EmperioAf
 
Регистрация: 15.01.2015
Сообщений: 622

Сообщение от Иван Федорович Посмотреть сообщение
Помогите пожалуйста. Нужен тот же скрипт по смене картинок, только без эффекта перехода. Картинки должны меняться незаметно, моментально. Возможно нужна предзагрузка изображений. Помогите.
попробуйте из css кода удалить все строчки в которых есть слово transition. После этого смена картинок должна происходить мгновенно
Ответить с цитированием
  #19 (permalink)  
Старый 07.08.2015, 09:29
Интересующийся
Отправить личное сообщение для Иван Федорович Посмотреть профиль Найти все сообщения от Иван Федорович
 
Регистрация: 22.07.2015
Сообщений: 18

Нужна просто моментальная смена картинок при прокрутке (без блика). Как убрать блик. Помогите.
Ответить с цитированием
  #20 (permalink)  
Старый 07.08.2015, 13:15
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,075

Иван Федорович,
в каком браузере блик?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Смена картинки кнопки при нажатии и обратно при повторном нажатии mff Общие вопросы Javascript 15 03.05.2018 14:12
смена class (стиль) блока при прокрутке стриницы CrossFire Элементы интерфейса 7 26.07.2015 21:24
смена картинок при нажатии sdff Общие вопросы Javascript 15 08.02.2014 17:08
выборка в php при прокрутке страницы вниз Tchort Events/DOM/Window 4 11.08.2011 17:38
Смена картинки (бекграунд дива ) при событии (нажатие клавиш или клавиши и мыши) Monster Events/DOM/Window 5 01.11.2009 01:16