コピペで使えるアニメーション:スライダーショー

https://lab.sonicmoov.com/markup/css/image-slider/

WPだとheaderに直接いれないと動かなった

使いたい場所に class="fadein" をつけてあげるだけ!
連続で順番にふわっと表示させたい場合は effect-fade で全体をdivで囲う。


【 HTML 】
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
	$(window).scroll(function (){
		$('.fadein').each(function(){
			var elemPos = $(this).offset().top;
			var scroll = $(window).scrollTop();
			var windowHeight = $(window).height();
			if (scroll > elemPos - windowHeight + 200){
				$(this).addClass('scrollin');
			}
		});
	});
});
</script>



【 CSS 】
/*--------------------------------------------------------

アニメーション

--------------------------------------------------------*/
.fadein {
	opacity : 0.1;
	transform : translate(0px, 100px);
	transition : all 500ms;
	}
.fadein.scrollin {
	opacity : 1;
	transform : translate(0px, 0px);
	}

.effect-fade .fadein:nth-child(2) {
	-moz-transition-delay:200ms;
	-webkit-transition-delay:200ms;
	-o-transition-delay:200ms;
	-ms-transition-delay:200ms;
	}
.effect-fade .fadein:nth-child(3) {
	-moz-transition-delay:400ms;
	-webkit-transition-delay:400ms;
	-o-transition-delay:400ms;
	-ms-transition-delay:400ms;
	}
.effect-fade .fadein:nth-child(4) {
	-moz-transition-delay:600ms;
	-webkit-transition-delay:600ms;
	-o-transition-delay:600ms;
	-ms-transition-delay:600ms;
	}
.effect-fade .fadein:nth-child(5) {
	-moz-transition-delay:800ms;
	-webkit-transition-delay:800ms;
	-o-transition-delay:800ms;
	-ms-transition-delay:800ms;
	}


【 CSS 】
/*--------------------------------------------------------

アニメーション

--------------------------------------------------------*/
.sa {
  opacity: 0;
  transition: all .3s ease-out;
}
 
.sa.show {
  opacity: 1;
  transform: none;
}
 
.sa--lr {
  transform: translate(-100px, 0);
}
 
.sa--rl {
  transform: translate(100px, 0);
}
 
.sa--up {
  transform: translate(0, 100px);
}
 
.sa--down {
  transform: translate(0, -100px);
}
 
.sa--scaleUp {
  transform: scale(.5);
}
 
.sa--scaleDown {
  transform: scale(1.5);
}
 
.sa--rotateL {
  transform: rotate(180deg);
}
 
.sa--rotateR {
  transform: rotate(-180deg);
}



//アニメーション
$(function(){
var scrollAnimationClass = 'sa';
var scrollAnimationShowClass = 'show';
var triggerMarginDefault = 300;
 
var scrollAnimationElm = document.querySelectorAll('.' + scrollAnimationClass);
var scrollAnimationFunc = function() {
  var dataMargin = scrollAnimationClass + '_margin';
  var dataTrigger = scrollAnimationClass + '_trigger';
  var dataDelay = scrollAnimationClass + '_delay';
  for(var i = 0; i < scrollAnimationElm.length; i++) {
    var triggerMargin = triggerMarginDefault;
    var elm = scrollAnimationElm[i];
    var showPos = 0;
    if(elm.dataset[dataMargin] != null) {
      triggerMargin = parseInt(elm.dataset[dataMargin]);
    }
    if(elm.dataset[dataTrigger]) {
      showPos = document.querySelector(elm.dataset[dataTrigger]).getBoundingClientRect().top + triggerMargin;
    } else {
      showPos = elm.getBoundingClientRect().top + triggerMargin;
    }
    if (window.innerHeight > showPos) {
      var delay = (elm.dataset[dataDelay])? elm.dataset[dataDelay] : 0;
      setTimeout(function(index) {
        scrollAnimationElm[index].classList.add('show');
      }.bind(null, i), delay);
    }
  }
}
window.addEventListener('load', scrollAnimationFunc);
window.addEventListener('scroll', scrollAnimationFunc);
});

CSSだけで実現できる。aタグのhover時だけくるくる回転させる事ができて便利!!


【 CSS 】

ずっと回転し続ける

a:hover .load { -webkit-animation: spin 1.5s linear infinite; -moz-animation: spin 1.5s linear infinite; -ms-animation: spin 1.5s linear infinite; -o-animation: spin 1.5s linear infinite; animation: spin 1.5s linear infinite; } @-webkit-keyframes spin { 0% {-webkit-transform: rotate(0deg);} 100% {-webkit-transform: rotate(360deg);} } @-moz-keyframes spin { 0% {-moz-transform: rotate(0deg);} 100% {-moz-transform: rotate(360deg);} } @-ms-keyframes spin { 0% {-ms-transform: rotate(0deg);} 100% {-ms-transform: rotate(360deg);} } @-o-keyframes spin { 0% {-o-transform: rotate(0deg);} 100% {-o-transform: rotate(360deg);} } @keyframes spin { 0% {transform: rotate(0deg);} 100% {transform: rotate(360deg);} }

くるっと1回転してゆっくり戻る

.circle-image { transition: 1.0s; } a:hover .circle-image { transform: rotate(360deg); -webkit-transform: rotate(360deg); -moz-transform: rotate(360deg); transition: transform 0.2s ease-out; -webkit-transition: -webkit-transform 0.2s ease-out; -moz-transition: -moz-transform 0.2s ease-out; }

要素に楕円をつける

.hatena-module-circles .circle-image { border: 1px solid #dddddd; border-radius: 50%; margin: 2px; }