jQuery addClass example

Change class name on click in jQuery

HTML

<div style="height: 2000px">
</div>

<div class="passing">
	<div class="passing-box">
		<div class="passing-bar">
			<div class="passing-txt">
				左から右に現れて文字だけ残る<br>CSSアニメーション
			</div>
		</div>
	</div>
</div>

CSS

@-webkit-keyframes passing-bar{
	0% {
		left: 0;
		right: auto;
		width: 0;
	}
	50% {
		left: 0;
		right: auto;
		width: 100%;
	}
	51% {
		left: auto;
		right: 0;
		width: 100%;
	}
	100% {
		left: auto;
		right: 0;
		width: 0;
	}
}
@keyframes passing-bar{
	0% {
		left: 0;
		width: 0;
	}
	50% {
		left: 0;
		width: 100%;
	}
	51% {
		left: 0;
		width: 100%;
	}
	100% {
		left: 100%;
		width: 0;
	}
}
@-webkit-keyframes passing-txt{
	0% { opacity: 0; }
	50% { opacity: 0; }
	100% { opacity: 1; }
}
@keyframes passing-txt{
	0% { opacity:0; }
	50% { opacity:0; }
	100% { opacity:1; }
}

/* css */
.passing .passing-box {
	display: block;
	text-align: center;
}
.passing .passing-bar {
	position: relative;
	display: inline-block;

	/* 後ほど解説 */
	-webkit-transform: translate3d(0, 0, 0);
	-ms-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}
.passing .passing-bar:before {
	content: '';
	display: inline-block;
	width: 0;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;

	/* 任意の値 */
	background: #000;
}
.passing .passing-txt {
	opacity: 0;

	/* 後ほど解説 */
	-webkit-transform: translate3d(0, 0, 0);
	-ms-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);

	/* 任意の値 */
	font-size: 4.0rem;
	font-weight: bold;
	line-height: 1.5;
}
.passing.move .passing-bar:before {
	-webkit-animation: passing-bar 1s ease 0s 1 normal forwards;
	animation: passing-bar 1s ease 0s 1 normal forwards;
}
.passing.move .passing-txt {
	-webkit-animation: passing-txt 0s ease .5s 1 normal forwards;
	animation:passing-txt 0s ease .5s 1 normal forwards;
}

JavaScript

jQuery(window).scroll(function(){
	jQuery(".passing").each(function(){
		var imgPos =  jQuery(this).offset().top;
		var scroll =  jQuery(window).scrollTop();
		var windowHeight =  jQuery(window).height();
		if (scroll > imgPos - windowHeight + windowHeight / 4){
			jQuery(this).addClass('move');
		}
	});
});