2016-05-03 4 views
0

Я использую Django и JQuery для изменения изображения, когда он отображается на экране в моем браузере. Я пытаюсь избежать использования внешних библиотек, и я нашел хороший учебник.Анимация прокрутки CSS не запускается в django

Дело в том, что код работает на codepen, но не на моем сайте Django.

Это codepen http://codepen.io/SitePoint/pen/MwEaQM

И это мой код:

HTML

{% load staticfiles %} 

<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-2.1.0.js"></script> 
<script src="http://ajax.aspnetcdn.com/ajax/modernizr/modernizr-2.7.2.js"></script> 
<link rel="stylesheet" href="{% static 'css/animate.css' %}"> 
<script type="text/javascript" src="{% static 'js/animate.js' %}"></script> 

<body> 
<!--For our animations to look good, the animated elements need to be able to be scrolled to. For this example I've added dummy content to the top --> 
<div class="main-container"> 
    <div class="container"> 
    <h1>Slide in from the left </h1> 
    <p>This animation will focus on sliding an element from the left once it enters the view of the user</p> 
    </div> 
    <div class="container"> 
    <h2> 
Our Testimonials <i class="fa fa-comment"></i></h2> 
    <p> We have worked in the industry for 15 years and have provided services to a wide range of clients.</p> 
    <p>Come and see what our clients are saying about our services. </p> 
    </div> 
    <div class="container cf"> 
    <!-- testimonial one --> 
    <div class="animation-element slide-left testimonial"> 
     <div class="header"> 
     <div class="left"> 
      <img src="http://drive.google.com/uc?export=download&id=0B7UPM0QugWUjVTdZcktRTWhNamM" /> 
     </div> 
     <div class="right"> 
      <h3>Johnathon Richard Smith</h3> 
      <h4>CEO/Manager - Auto Incorporated</h4> 
     </div> 
     </div> 
     <div class="content"><i class="fa fa-quote-left"></i> When I started using their service I was skeptical. They promised me a 300% return on my initial investment. However they came through on their word and now my business is flourishing.. <i class="fa fa-quote-right"></i> 
     </div> 
     <div class="rating"> 
     <i class="fa fa-star"></i> 
     <i class="fa fa-star"></i> 
     <i class="fa fa-star"></i> 
     <i class="fa fa-star"></i> 
     <i class="fa fa-star-half-o"></i> 
     </div> 
    </div> 
    <!--testimonial two --> 
    <div class="animation-element slide-left testimonial"> 
     <div class="header"> 
     <div class="left"> 
      <img src="http://drive.google.com/uc?export=download&id=0B7UPM0QugWUjV3BseTMtcEU1T2M" /> 
     </div> 
     <div class="right"> 
      <h3>Joanna Hammerlton</h3> 
      <h4>Marketing Manager - Omega Creative</h4> 
     </div> 
     </div> 
     <div class="content"><i class="fa fa-quote-left"></i> Our company first enlisted their services when we had a down-turn in sales and revene. They outlined a series of steps we could take to improve our position and within a year we are making signifcant improvements.. 
     <i class="fa fa-quote-right"></i> 
     </div> 
     <div class="rating"> 
     <i class="fa fa-star"></i> 
     <i class="fa fa-star"></i> 
     <i class="fa fa-star"></i> 
     <i class="fa fa-star"></i> 
     <i class="fa fa-star-o"></i> 
     </div> 
    </div> 
    <!--testimonial three --> 
    <div class="animation-element slide-left testimonial"> 
     <div class="header"> 
     <div class="left"> 
      <img src="http://drive.google.com/uc?export=download&id=0B7UPM0QugWUjTURta0pyMEtoUmc 
" /> 
     </div> 
     <div class="right"> 
      <h3>Mark Jamerson</h3> 
      <h4>CEO - Generic Business</h4> 
     </div> 
     </div> 
     <div class="content"><i class="fa fa-quote-left"></i> We entered into a 12 month period of service with this company in the hopes to improve our returns. After this period we have a return of double our initial investment.. 
     <i class="fa fa-quote-right"></i> 
     </div> 
     <div class="rating"> 
     <i class="fa fa-star"></i> 
     <i class="fa fa-star"></i> 
     <i class="fa fa-star"></i> 
     <i class="fa fa-star"></i> 
     <i class="fa fa-star"></i> 
     </div> 
    </div> 
    <!--testimonial four --> 
    <div class="animation-element slide-left testimonial"> 
     <div class="header"> 
     <div class="left"> 
      <img src="http://drive.google.com/uc?export=download&id=0B7UPM0QugWUjb1dxcGZEYUc0Z3M" /> 
     </div> 
     <div class="right"> 
      <h3>Susan Hilton</h3> 
      <h4>Financial Officer - People Tech</h4> 
     </div> 
     </div> 
     <div class="content"><i class="fa fa-quote-left"></i> Our involvement in this company has been mutually beneficial. We were hoping for slightly higher returns, however the current level of returns are sufficient.. 
     <i class="fa fa-quote-right"></i> 
     </div> 
     <div class="rating"> 
     <i class="fa fa-star"></i> 
     <i class="fa fa-star"></i> 
     <i class="fa fa-star"></i> 
     <i class="fa fa-star-o"></i> 
     <i class="fa fa-star-o"></i> 
     </div> 
    </div> 
    </div> 
</body> 

CSS

/*These styles contain basic styles for fomatting along with our animation css*/ 

body { 
    font-size: 16px; 
    font-family: 'Open Sans', sans-serif; 
    font-weight: 400; 
    background: #efefef; 
    line-height: 170%; 
} 

strong, 
b { 
    font-weight: 600 
} 

h1, 
h2, 
h3, 
h4, 
h5, 
h6 { 
    font-weight: 300; 
    line-height: 150%; 
} 

i.fa { 
    color: #333; 
} 

*, 
*:before, 
*:after { 
    box-sizing: border-box; 
    -moz-box-sizing: border-box; 
    -webkit-box-sizing: border-box; 
} 
/*clearfixes*/ 

.cf:before, 
.cf:after { 
    content: " "; 
    display: table; 
} 

.cf:after { 
    clear: both; 
} 

.main-container { 
    background: #fff; 
    max-width: 1000px; 
    margin: 25px auto 25px auto; 
    position: relative; 
} 

.container { 
    position: relative; 
    padding: 25px; 
} 
/*animation element*/ 

.animation-element { 
    opacity: 0; 
    position: relative; 
} 
/*animation element sliding left*/ 

.animation-element.slide-left { 
    opacity: 0; 
    -moz-transition: all 500ms linear; 
    -webkit-transition: all 500ms linear; 
    -o-transition: all 500ms linear; 
    transition: all 500ms linear; 
    -moz-transform: translate3d(-100px, 0px, 0px); 
    -webkit-transform: translate3d(-100px, 0px, 0px); 
    -o-transform: translate(-100px, 0px); 
    -ms-transform: translate(-100px, 0px); 
    transform: translate3d(-100px, 0px, 0px); 
} 

.animation-element.slide-left.in-view { 
    opacity: 1; 
    -moz-transform: translate3d(0px, 0px, 0px); 
    -webkit-transform: translate3d(0px, 0px, 0px); 
    -o-transform: translate(0px, 0px); 
    -ms-transform: translate(0px, 0px); 
    transform: translate3d(0px, 0px, 0px); 
} 
/*animation slide left styled for testimonials*/ 

.animation-element.slide-left.testimonial { 
    float: left; 
    width: 47%; 
    margin: 0% 1.5% 3% 1.5%; 
    background: #F5F5F5; 
    padding: 15px; 
box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.2); 
    border: solid 1px #EAEAEA; 
} 
.animation-element.slide-left.testimonial:hover, 
.animation-element.slide-left.testimonial:active{ 
    box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.25); 
} 

.animation-element.slide-left.testimonial:nth-of-type(odd) { 
    width: 48.5%; 
    margin: 0% 1.5% 3.0% 0%; 
} 

.animation-element.slide-left.testimonial:nth-of-type(even) { 
    width: 48.5%; 
    margin: 0% 0% 3.0% 1.5%; 
} 

.animation-element.slide-left.testimonial .header{ 
    float: left; 
    width: 100%; 
    margin-bottom: 10px; 
} 
.animation-element.slide-left.testimonial .left{ 
    float: left; 
    margin-right: 15px; 
} 
.animation-element.slide-left.testimonial .right{ 
    float: left; 
} 

.animation-element.slide-left.testimonial img { 
    width: 65px; 
    height: 65px; 
    border-radius: 50%; 
    box-shadow: 0px 1px 3px rgba(51, 51, 51, 0.5); 
} 

.animation-element.slide-left.testimonial h3 { 
    margin: 0px 0px 5px 0px; 
} 

.animation-element.slide-left.testimonial h4 { 
    margin: 0px 0px 5px 0px; 
} 

.animation-element.slide-left.testimonial .content { 
    float: left; 
    width:100%; 
    margin-bottom: 10px; 
} 

.animation-element.slide-left.testimonial .rating{} 

.animation-element.slide-left.testimonial i { 
    color: #aaa; 
    margin-right: 5px; 
} 



/*media queries for small devices*/ 
@media screen and (max-width: 678px){ 
    /*testimonials*/ 
    .animation-element.slide-left.testimonial, 
    .animation-element.slide-left.testimonial:nth-of-type(odd), 
    .animation-element.slide-left.testimonial:nth-of-type(even){ 
    width: 100%; 
    margin: 0px 0px 20px 0px; 
    } 
    .animation-element.slide-left.testimonial .right, 
    .animation-element.slide-left.testimonial .left, 
    .animation-element.slide-left.testimonial .content, 
    .animation-element.slide-left.testimonial .rating{ 
    text-align: center; 
    float: none; 
    } 
    .animation-element.slide-left.testimonial img{ 
    width: 85px; 
    height: 85px; 
    margin-bottom: 5px; 
    } 

} 

JS

var $animation_elements = $('.animation-element'); 
var $window = $(window); 

function check_if_in_view() { 
    var window_height = $window.height(); 
    var window_top_position = $window.scrollTop(); 
    var window_bottom_position = (window_top_position + window_height); 

    $.each($animation_elements, function() { 
    var $element = $(this); 
    var element_height = $element.outerHeight(); 
    var element_top_position = $element.offset().top; 
    var element_bottom_position = (element_top_position + element_height); 

    //check to see if this current container is within viewport 
    if ((element_bottom_position >= window_top_position) && 
     (element_top_position <= window_bottom_position)) { 
     $element.addClass('in-view'); 
    } else { 
     $element.removeClass('in-view'); 
    } 
    }); 
} 

$window.on('scroll resize', check_if_in_view); 
$window.trigger('scroll'); 

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

EDIT: Here is a screenshot of the requests Кажется, что все загружено нормально. Ошибок нет. Анимированный контент скрыт, как он должен, но он не появляется, когда я прокручиваю.

+0

Вы можете проверить, что вы установили django settings.py, чтобы убедиться, что ваш путь к мультимедиа установлен правильно. Или вы используете nginx, Если это так, вам нужно также установить nginx.conf. – Windsooon

ответ

0

Есть ошибки? Имеются ли файлы CSS и JS? Это не должно иметь ничего общего с Django, но может быть связано с тем, что файлы не обрабатываются правильно, используя механизм статических файлов Django. Вы уверены, что все файлы загружаются?

+0

Кажется, что все нормально. Ошибок нет. Анимированный контент скрыт, как он должен, но он не появляется, когда я прокручиваю. Я добавил скриншот запросов GET в консоли при загрузке веб-сайта. – ggfpc

Смежные вопросы