滑动到当前屏幕触发动画(可触发多次)

鼠标每次滑动到当前位置,都会触发动画效果。

<div class="aboutCulture">
	<div class="aboutCul_con">
		<div class="aboutCul_box1">
			<div class="aboutLeft_tit">企业文化</div>
			<p class="ani-view fade-in-left">标题</p>
			<div class="aboutLeft_txt ani-view fade-in-left">
				内容
			</div>
		</div>
		<div class="aboutCul_box2">
			<ul>
				<li>
					<img class="cul_img" src="img/icon/about-shiming.png" alt="" />
					<div class="aboutCul_tit ani-view fade-in-down">MISSION/使命</div>
					<div class="aboutCul_txt ani-view fade-in-down">优越健康的品质生活</div>
				</li>
				<li>
					<img class="cul_img img2" src="img/icon/about-shiming.png" alt="" />
					<div class="aboutCul_tit ani-view fade-in-down">CREED/理念</div>
					<div class="aboutCul_txt ani-view fade-in-down">用户至上&nbsp;&nbsp;共享共赢</div>
				</li><li>
					<img class="cul_img img2" src="img/icon/about-shiming.png" alt="" />
					<div class="aboutCul_tit ani-view fade-in-down">CREED/理念</div>
					<div class="aboutCul_txt ani-view fade-in-down">用户至上&nbsp;&nbsp;共享共赢</div>
				</li>
				<li>
					<img class="cul_img img2" src="img/icon/about-shiming.png" alt="" />
					<div class="aboutCul_tit ani-view fade-in-down">CREED/理念</div>
					<div class="aboutCul_txt ani-view fade-in-down">用户至上&nbsp;&nbsp;共享共赢</div>
				</li>
			</ul>
		</div>
	</div>
</div>

样式CSS:

li {
	list-style: none;
}
.aboutCulture {
	margin-top: 1000px;
}
.aboutCul_con {
	width: 1200px;
	margin: 0 auto;
	overflow: hidden;
}
.aboutCul_box1 {
	width: 35%;
	float: left;
}
.aboutCul_box1 .aboutLeft_tit {
	font-size: 35px;
}
.aboutCul_box1 p {
	font-size: 18px;
	margin: 5px auto 20px;
}
.aboutCul_box1 .aboutLeft_txt {
	font-size: 14px;
	line-height: 25px;
	color: #999;
}
.aboutCul_box2 {
	width: 60%;
	float: right;
}
.aboutCul_box2 ul {
	display: flex;
	justify-content: space-between;
}
.aboutCul_box2 ul li {
	text-align: center;
}

.aboutCul_box2 ul li:nth-child(2) {
	animation-delay: 0.4s;
}
.aboutCul_box2 .cul_img {
	width: 100px;
	border: 1px solid #ffa5da;
	border-radius: 50%;
	padding: 10px 10px 10px 7px;
	transition: all 2s;
}
.aboutCul_box2 .cul_img.img2 {
	border: 1px solid #62b3fb;
}
.aboutCul_box2 ul li:hover .cul_img {
	transform: rotate(360deg);
}
.aboutCul_box2 .aboutCul_tit {
	font-size: 20px;
	margin: 15px auto 10px;
}
.aboutCul_box2 ul li:nth-child(2n+1) .aboutCul_tit {
	color: #ffa5da;
}
.aboutCul_box2 ul li:nth-child(2n+2) .aboutCul_tit {
	color: #62b3fb;
}
.aboutCul_box2 .aboutCul_txt {
	font-size: 13px;
	color: #999;
}
.aboutCul_txt.ani-view.fadeInDown {
	animation-delay: 0.4s;
}
<link rel="stylesheet" type="text/css" href="css/animate.css" />
<script src="js/jquery.min.js" type="text/javascript" charset="utf-8"></script>
<script src="js/animate.js" type="text/javascript" charset="utf-8"></script>

animate.css

@charset "utf-8";

/*  css animation  */
.trans{

    -webkit-transition: all .5s ease;
    -moz-transition:all .5s ease;
    -o-transition:all .5s ease;
    -ms-transition:all .5s ease;
    transition:all .5s ease;
}

/* page animation  */

.ani-view {
    -webkit-animation-duration:1s;
    -moz-animation-duration:1s;
    -o-animation-duration:1s;
    animation-duration:1s;
    -webkit-animation-fill-mode:forwards;
    -moz-animation-fill-mode:forwards;
    -o-animation-fill-mode:forwards;
    animation-fill-mode:forwards;
}
.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}
.ani-view.fade-in-up{
    opacity:0;
    opacity:1\0/IE9;
    
    -webkit-transform:translateY(-20px);
    -moz-transform:translateY(-20px);
    -o-transform:translateY(-20px);
    transform:translateY(-20px);
    -ms-transform:translateY(0)\0/IE9;
}
.ani-view.fadeInUp {
    -webkit-animation-name:fadeInUp;
    -moz-animation-name:fadeInUp;
    -o-animation-name:fadeInUp;
    animation-name:fadeInUp;

}
@-webkit-keyframes fadeInUp {
    0% {
        opacity:0;
        -webkit-transform:translateY(-20px)
    }
    100% {
        opacity:1;
        -webkit-transform:translateY(0)
    }
}
@-moz-keyframes fadeInUp {
    0% {
        opacity:0;
        -moz-transform:translateY(-20px)
    }
    100% {
        opacity:1;
        -moz-transform:translateY(0)
    }
}
@-o-keyframes fadeInUp {
    0% {
        opacity:0;
        -o-transform:translateY(-20px)
    }
    100% {
        opacity:1;
        -o-transform:translateY(0)
    }
}
@keyframes fadeInUp {
    0% {
        opacity:0;
        transform:translateY(-20px)
    }
    100% {
        opacity:1;
        transform:translateY(0)
    }
}
.ani-view.fade-in-down{
    opacity:0;
    opacity:1\0/IE9;
    
    -webkit-transform:translateY(20px);
    -moz-transform:translateY(20px);
    -o-transform:translateY(20px);
    transform:translateY(20px);
    -ms-transform:translateY(0)\0/IE9;
}
.ani-view.fadeInDown {
    -webkit-animation-name:fadeInDown;
    -moz-animation-name:fadeInDown;
    -o-animation-name:fadeInDown;
    animation-name:fadeInDown;
}
@-webkit-keyframes fadeInDown {
    0% {
        opacity:0;
        -webkit-transform:translateY(20px)
    }
    100% {
        opacity:1;
        -webkit-transform:translateY(0)
    }
}
@-moz-keyframes fadeInDown {
    0% {
        opacity:0;
        -moz-transform:translateY(20px)
    }
    100% {
        opacity:1;
        -moz-transform:translateY(0)
    }
}
@-o-keyframes fadeInDown {
    0% {
        opacity:0;
        -o-transform:translateY(20px)
    }
    100% {
        opacity:1;
        -o-transform:translateY(0)
    }
}
@keyframes fadeInDown {
    0% {
        opacity:0;
        transform:translateY(20px)
    }
    100% {
        opacity:1;
        transform:translateY(0)
    }
}
.ani-view.fade-in-left{
    opacity:0;
    opacity:1\0/IE9;
    
    -webkit-transform:translateX(-100px);
    -moz-transform:translateX(-100px);
    -o-transform:translateX(-100px);
    transform:translateX(-100px);
    -ms-transform:translateX(0)\0/IE9;
}
.ani-view.fadeInLeft {
    -webkit-animation-name:fadeInLeft;
    -moz-animation-name:fadeInLeft;
    -o-animation-name:fadeInLeft;
    animation-name:fadeInLeft;
}
@-webkit-keyframes fadeInLeft {
    0% {
        opacity:0;
        -webkit-transform:translateX(-100px)
    }
    100% {
        opacity:1;
        -webkit-transform:translateX(0)
    }
}
@-moz-keyframes fadeInLeft {
    0% {
        opacity:0;
        -moz-transform:translateX(-100px)
    }
    100% {
        opacity:1;
        -moz-transform:translateX(0)
    }
}
@-o-keyframes fadeInLeft {
    0% {
    opacity:0;
    -o-transform:translateX(-100px)
    }
    100% {
    opacity:1;
    -o-transform:translateX(0)
    }
}
@keyframes fadeInLeft {
    0% {
    opacity:0;
    transform:translateX(-100px)
    }
    100% {
    opacity:1;
    transform:translateX(0)
    }
}

.ani-view.fade-in-right{
    opacity:0;
    opacity:1\0/IE9;
    
    -webkit-transform:translateX(100px);
    -moz-transform:translateX(100px);
    -o-transform:translateX(100px);
    transform:translateX(100px);
    -ms-transform:translateX(0)\0/IE9;
}
.ani-view.fadeInRight {
    -webkit-animation-name:fadeInRight;
    -moz-animation-name:fadeInRight;
    -o-animation-name:fadeInRight;
    animation-name:fadeInRight;
}
@-webkit-keyframes fadeInRight {
    0% {
    opacity:0;
    -webkit-transform:translateX(100px)
    }
    100% {
    opacity:1;
    -webkit-transform:translateX(0)
    }
}
@-moz-keyframes fadeInRight {
    0% {
    opacity:0;
    -moz-transform:translateX(100px)
    }
    100% {
    opacity:1;
    -moz-transform:translateX(0)
    }
}
@-ms-keyframes fadeInRight {
    0% {
    opacity:0;
    -ms-transform:translateX(100px)
    }
    100% {
    opacity:1;
    -ms-transform:translateX(0)
    }
}
@-o-keyframes fadeInRight {
    0% {
    opacity:0;
    -o-transform:translateX(100px)
    }
    100% {
    opacity:1;
    -o-transform:translateX(0)
    }
}
@keyframes fadeInRight {
    0% {
    opacity:0;
    transform:translateX(100px)
    }
    100% {
    opacity:1;
    transform:translateX(0)
    }
}

animate.js

$(function() {
	$(window).scroll(function() {
		viewScroll();
	});
	viewScroll();
	function viewScroll() {
		var _ismobile = false;
		var windowTop = $(window).scrollTop();
		var windowBottom = windowTop + $(window).height();
		var showNum = !_ismobile ? 4 : 16;
		$('.ani-view').each(function() {
			var pageQ1 = $(this).offset().top + $(this).height() / showNum;
			var pageQ3 = $(this).offset().top + $(this).height() / 1;
			if((pageQ1 <= windowBottom) && (pageQ3 >= windowTop)) {
				if($(this).hasClass("fade-in-down")) $(this).addClass('fadeInDown');
				if($(this).hasClass("fade-in-up")) $(this).addClass('fadeInUp');
				if($(this).hasClass("fade-in-left")) $(this).addClass('fadeInLeft');
				if($(this).hasClass("fade-in-right")) $(this).addClass('fadeInRight');

			} else {
				if($(this).hasClass('fadeInUp')) $(this).removeClass('fadeInUp');
				if($(this).hasClass('fadeInDown')) $(this).removeClass('fadeInDown');
				if($(this).hasClass('fadeInLeft')) $(this).removeClass('fadeInLeft');
				if($(this).hasClass('fadeInRight')) $(this).removeClass('fadeInRight');
			}
		});
	}
});
发布了10 篇原创文章 · 获赞 2 · 访问量 384

猜你喜欢

转载自blog.csdn.net/weixin_44711440/article/details/103992075