Parallax scroll effect with video
Asked Answered
H

2

6

I'm learning about the parallax effects and I'm trying to display a video in background instead of an image.

So, I created a good effect using a background image.

This is my jQuery code:

$('[data-parallax]').each(function(){
  var $this = $(this),
      $window = $(window);

  $window.scroll(function() {
    var y = -($window.scrollTop() / $this.data('speed')),
        background = '50% '+ y + 'px';

    $this.css('background-position', background);
  }); 
});

And my CSS:

[data-parallax] {
  background-attachment: fixed;
  background-color: #fff;
  background-image: url('http://lorempixel.com/720/480');
  background-position: 50% 0;
  background-repeat: no-repeat;
  background-size: cover;
  min-height: 100%;
  position: relative;
}

Example: http://jsfiddle.net/7a2ky/show/
Code: http://jsfiddle.net/7a2ky/

I'd like to do the same effect but using a video (http://goo.gl/HcH2cL) instead of an image. Is it possible?

Humpy answered 5/3, 2014 at 4:10 Comment(8)
Have you tried using an embedded link for your video?Cunnilingus
@NevinMadhukarK Yes, I've tried to "simulate" a background with HTML5 video element. But didn't work.Humpy
I am not sure whether you got what i am saying. An embedded link looks like this :<iframe width="560" height="315" src="//www.youtube.com/embed/BIz02qY5BRA" frameborder="0" allowfullscreen></iframe>Cunnilingus
syddev.com/jquery.videoBG Don't know whether this will help... Do check it out too.Cunnilingus
@NevinMadhukarK Thanks for these tips, but unfortunately I still don't know how I can combine this plugin with the parallax scroll effect.Humpy
Hi @CaioTarifa. Did you manage to do this? I'm trying to do the same but I'm using Stellar.js plugin.Calcine
@AnaClaudia Yes, I did, but without plugins. I want to write an answer with the solution, but you can already check at tucanomotion.com.br. :DHumpy
@CaioTarifa Cool! It looks very good! I managed to fix mine also, using the plugin.Calcine
C
1

You cant change a background image into a video in CSS, you need to trick the browser with the zIndex (or use a gif file instead of the video) :

$video.css({"height":"100%",
            position:'absolute',
            top:0,left:0,zIndex:10
           });

http://jsfiddle.net/camus/7a2ky/9/show/

Chronological answered 5/3, 2014 at 5:47 Comment(2)
well it works the video is in the background as you wanted.I did not touch your parallax effect because it didnt work on my computer.Chronological
I can't understand how the Parallax effect doesn't work on your computer. But thank you for your help, unfortunately this is far from what I need.Humpy
H
0

js

$(window).scroll(function ()
{
 var yPos=-($(window).scrollTop() / 6);
 if($(window).scrollTop()>100)
 {
  document.getElementById("div1_wrapper").style.backgroundPosition="100% "+yPos+"px";
 }
 if($(window).scrollTop()<100)
 {
  document.getElementById("div1_wrapper").style.backgroundPosition="100% 100%";
 }
});

css

#div1_wrapper
{
  background:url("images/parallax1.jpg") no-repeat;
  background-attachment:fixed;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  width:100%;
}
#div2_wrapper
{
  background:url("images/parallax2.jpg") no-repeat;
  background-attachment:fixed;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  width:100%;
}

if you need to view complete tutorial with demo http://talkerscode.com/webtricks/simple-parallax-effect-on-scrolling-using-jquery-and-css.php

Ha answered 22/3, 2016 at 5:27 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.