Coverflow в HTML5 для iPhone / iPod Touch - PullRequest
       33

Coverflow в HTML5 для iPhone / iPod Touch

8 голосов
/ 18 апреля 2010

Мне нужно создать веб-страницу, предназначенную для iPhone и iPod-touch, которая должна включать стиль Apple «Coverflow» на странице для отображения списка видео.

Я слышал кое-что о штуковинах, которые могли бы помочь, но я не могу найти что-нибудь подходящее или это могло бы работать должным образом с навигацией iPhone / iPod-Touch.

Кто-нибудь знает что-нибудь, что может помочь мне начать?

Спасибо -Стефани

Ответы [ 9 ]

6 голосов
/ 20 апреля 2010

Попробуйте ContentFlow: http://www.jacksasylum.eu/ContentFlow/

Вот пример, который работает на моем iPhone: http://www.majes.fr/

2 голосов
/ 21 июля 2012

Это кросс-браузерная реализация Cover Flow: http://luwes.co/labs/js-cover-flow/

Основной режим работает в HTML5 (JavaScript / CSS) и имеет запасной вариант для старых браузеров во флэш-памяти. Он поддерживает мобильные, вы можете пролистывать крышки с простым жестом пальцем.

Проверено на: Safari, Chrome, Firefox, Opera, IE8 +, iPad, iPhone

2 голосов
/ 03 декабря 2010

Это лучший, который я нашел до сих пор;) Coverflow

1 голос
/ 28 сентября 2012

вы можете найти тонны образцов покрытия в Google но все примеры, которые я нашел, слишком сложны (много файлов или сложно реализовать), и они не дают то, что я искал поэтому я решил создать прикрытие

1.- меньше файлов

2.- Простота реализации

3.- Работает с Webkit (Safari, Safari Mobile и Chrome)

код, который я собираюсь показать, просто чтобы дать вам подсказку что вы можете сделать с вашим проектом

это очень простой пример, который показывает только основные это не финальная работа

этот Coverflow работает с диапазоном ввода (ползунок) и это все

Когда вы получите представление о том, как работает Coverflow Вы сможете добавить больше функций, щелчков, касаний, откидной крышки ....

Наконец, вот код:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<title>CoverFlow</title>
<style>
  html { height: 100%; }
  body { background-image: -webkit-radial-gradient(gray 0%, black 100%); }

  #coverflow { 
  width: 800px;
  height: 400px; 
  overflow: hidden;
  margin: 100px auto;
  -webkit-perspective: 500;
  background-color: rgba(0, 0, 0, 0.4); 
  -webkit-transform-style: preserve-3d;
  }


  #container { 
  height: 100%;
  width: 100%;     
  margin-left: 350px;
  background-color: transparent;
  -webkit-transition: all 400ms ease-in-out;
  }

  .holder {
     float: left;
     position: absolute;
     margin-top: 100px;
     margin-left: 20px;
     -webkit-transition: all 300ms ease-in-out;
     -webkit-box-reflect: below 4px
     -webkit-gradient(
     linear,
     left top,
     left bottom,
     color-stop(0, rgba(255, 255, 255, 0)),
     color-stop(.5, rgba(255, 255, 255, .3)),
     color-stop(1, rgba(255, 255, 255, .3))
     );
  }

  .slider {
  position: absolute;
  width: 200px;
  height: 30px;
  margin: 0 0 0 430px;
  -webkit-appearance: none !important;
  border-radius: 6px;
  border: 1px solid white;
  background: #999;
  opacity: .5;
  }

 .slider::-webkit-slider-thumb {
 -webkit-appearance: none !important;
 width: 50px;
 height: 18px;
 border-radius: 8px;
 border: 2px solid #fff;
 background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #999), color-stop(.5, #000) );
 }

 #log { color: white; font-size: 30pt; }

 </style>
 </head>
 <body onload="flow()">

 <div id="coverflow">
 <div id="container">
      <div class="holder" id="1"><img src="../img/1.jpg" width="200"></div>
      <div class="holder" id="2"><img src="../img/2.jpg" width="200"></div>
      <div class="holder" id="3"><img src="../img/3.jpg" width="200"></div>
      <div class="holder" id="4"><img src="../img/4.jpg" width="200"></div>
      <div class="holder" id="5"><img src="../img/5.jpg" width="200"></div>
      <div class="holder" id="6"><img src="../img/6.jpg" width="200"></div>
      <div class="holder" id="7"><img src="../img/7.jpg" width="200"></div>
      <div class="holder" id="8"><img src="../img/8.jpg" width="200"></div>
      <div class="holder" id="9"><img src="../img/9.jpg" width="200"></div>
      <div class="holder" id="10"><img src="../img/1.jpg" width="200"></div>
      <div class="holder" id="11"><img src="../img/2.jpg" width="200"></div>
 </div>
 </div>
 <input id="slider" class="slider" type="range" min="1" max="11" value="6" onchange="flow();">
 <a id="log">value</a>
 <script>
 function flow() { 

 var space = 2;
 var coverCount = 11;
 var current = slider.value;
 var cover = document.getElementById(current + "");
 var position = [0, 230, 180, 130, 80, 30, -20, -70, -120, -170, -220, -270]; 

 for (var i = current; i < (coverCount +1); i++)     
  { 
 document.getElementById(i + "").style.webkitTransform = "translate3d("+((i+space)*50)+"px,0,-10px) rotateY(-65deg)";
 document.getElementById(i + "").style.zIndex = -i + "";
  }

 for (var i = 1; i < current; i++)     
  { 
 document.getElementById(i + "").style.webkitTransform = "translate3d("+((i-space)*50)+"px,0,-10px) rotateY(65deg)";
 document.getElementById(i + "").style.zIndex = i + "";
  }

  cover.style.webkitTransform = "translate3d("+(slider.value*50)+"px,0,100px) rotateY(0deg)"; 
  cover.style.zIndex = current + "";     
  document.getElementById("container").style.marginLeft =  position[current] + "px"; 
  document.getElementById("log").innerHTML = slider.value + "";
  }
 </script>
 </body>
 </html>

я знаю, что вы можете найти множество лучших прикрытий, которыми можно поделиться

Только не забудьте заменить путь к изображениям и / или именам

Надеюсь, это поможет

Удачи

1 голос
/ 18 апреля 2010

Это может помочь вам: http://paulbakaus.com/2008/05/31/coverflow-anyone/

Хотя не похоже, что существует какой-либо официальный способ сделать это, потому что CSS преобразует только всю 2-мерную матрицу, поэтому вы не можете получить форму трапеции.

0 голосов
/ 21 августа 2012

Вы можете попробовать это, я разработал специально для iOS устройств. Включены сенсорные жесты. http://jbkflex.wordpress.com/2012/08/21/css3-coverflow-animation-for-ios-adding-touch-gestures/

0 голосов
/ 27 ноября 2010

я только что сделал это http://coulisse.luvdasun.com/

не уверен, работает ли он на iphone / ipod, я все еще должен проверить это

г.

0 голосов
/ 09 июня 2010

Вы можете попробовать xFlow! http://xflow.pwhitrow.com

0 голосов
/ 18 апреля 2010

Я в основном придерживаюсь собственной разработки приложений, поэтому не знаю, существует ли уже существующая реализация покрывающего потока, но, используя Dashcode Parts , вы можете добавить некоторые более сложные элементы пользовательского интерфейса.

...