LOADING...

Preview

Pen ID
Unlock Campus Themeforest adv

 

Code

select your photo

CSS
@import url(https://fonts.googleapis.com/css?family=Lato:400,700);

.clearfix {
  *zoom: 1;
}	
.clearfix:after {
  content: "";
  display: table;
  clear: both;
}

body {
  background: #f2f2f2;
  font-family: Lato;
  -webkit-font-smoothing: antialiased;
}

ul, div {
  position: relative;
  margin: 50px auto;
  width: 710px;
  padding: 0;
  list-style: none;
  text-align: center;
  text-transform: uppercase;
  font-weight: 900;
  font-size: 20px;
  line-height: 40px;
  color: #555;
}

h1 {
  position: absolute;
  margin: 0;
  padding: 0;
  width: 710px;
  height: 45px;
  line-height: 45px;
  text-align: center;
  font-size: 1em;
  z-index: -1;
}

img {
  position: absolute;
  margin: auto;
  top: 0; left: 0; bottom: 0; right: 0;
  width: 100%;
  height: 100%;
  border-radius: 1px;
  box-shadow: 0 0 0 4px #fff;
  cursor: pointer;
  animation:        unselected 0.3s cubic-bezier(0.250, 0.100, 0.250, 1.000);
  -o-animation:     unselected 0.3s cubic-bezier(0.250, 0.100, 0.250, 1.000);
  -ms-animation:    unselected 0.3s cubic-bezier(0.250, 0.100, 0.250, 1.000);
  -moz-animation:   unselected 0.3s cubic-bezier(0.250, 0.100, 0.250, 1.000);
  -webkit-animation: unselected 0.3s cubic-bezier(0.250, 0.100, 0.250, 1.000);
}

@keyframes unselected {
  0% { box-shadow: 0 0 0 4px #00c09e; }
  50% { transform: scale(0.5); opacity: 0.8; box-shadow: 0 0 0 4px #fff; }
  80%,100% { width: 100%; height: 100%; box-shadow: 0 0 0 4px #fff; }
}
@-o-keyframes unselected {
  0% { box-shadow: 0 0 0 4px #00c09e; }
  50% { -o-transform: scale(0.5); opacity: 0.8; box-shadow: 0 0 0 4px #fff; }
  80%,100% { width: 100%; height: 100%; box-shadow: 0 0 0 4px #fff; }
}
@-ms-keyframes unselected {
  0% { box-shadow: 0 0 0 4px #00c09e; }
  50% { width: 45%; height: 45%; opacity: 0.8; box-shadow: 0 0 0 4px #fff; }
  80%,100% { width: 100%; height: 100%; box-shadow: 0 0 0 4px #fff; }
}
@-moz-transition unselected {
  0% { box-shadow: 0 0 0 4px #00c09e; }
  50% { -moz-transform: scale(0.5); opacity: 0.8; box-shadow: 0 0 0 4px #fff; }
  80%,100% { width: 100%; height: 100%; box-shadow: 0 0 0 4px #fff; }
}
@-webkit-keyframes unselected {
  0% { box-shadow: 0 0 0 4px #00c09e; }
  50% { -webkit-transform: scale(0.5); opacity: 0.8; box-shadow: 0 0 0 4px #fff; }
  80%,100% { width: 100%; height: 100%; box-shadow: 0 0 0 4px #fff; }
}

li {
  position: relative;
  margin: 10px;
  width: 157px;
  height: 157px;
  float: left;
}

li:before {
  content: "\2714";
  display: block;
  position: absolute;
  margin: auto;
  top: 0; left: 0; bottom: 0; right: 0;
  width: 40px;
  height: 40px;
  line-height: 40px;
  background:  #00c09e;
  border-radius: 50px;
  color: #fff;
  text-align: center;
  font-size: 16px;
  z-index: 10;
  opacity: 0;
  transition:         0.3s linear;
  -o-transition:      0.3s linear;
  -ms-transition:     0.3s linear;
  -moz-transition:    0.3s linear;
  -webkit-transition: 0.3s linear;
  -o-user-select:      none;
  -moz-user-select:    none;
  -webkit-user-select: none;
  cursor: pointer;
}

li.selected:before {
  opacity: 1;
}

/* img selection */

li.selected img {
  box-shadow: 0 0 0 4px #00c09e;
  animation:        selected 0.3s cubic-bezier(0.250, 0.100, 0.250, 1.000);
  -o-animation:     selected 0.3s cubic-bezier(0.250, 0.100, 0.250, 1.000);
  -ms-animation:    selected 0.3s cubic-bezier(0.250, 0.100, 0.250, 1.000);
  -moz-animation:   selected 0.3s cubic-bezier(0.250, 0.100, 0.250, 1.000);
  -webkit-animation: selected 0.3s cubic-bezier(0.250, 0.100, 0.250, 1.000);
}

@keyframes selected {
  0% { border-color: #fff; }
  50% { transform: scale(0.5); opacity: 0.8; box-shadow: 0 0 0 4px #00c09e; }
  80%,100% { width: 100%; height: 100%; box-shadow: 0 0 0 4px #00c09e; }
}
@-o-keyframes selected {
  0% { box-shadow: 0 0 0 4px #fff; }
  50% { -o-transform: scale(0.5); opacity: 0.8; box-shadow: 0 0 0 4px #00c09e; }
  80%,100% { width: 100%; height: 100%; box-shadow: 0 0 0 4px #00c09e; }
}
@-ms-keyframes selected {
  0% { box-shadow: 0 0 0 4px #fff; }
  50% { width: 45%; height: 45%; opacity: 0.8; box-shadow: 0 0 0 4px #00c09e; }
  80%,100% { width: 100%; height: 100%; box-shadow: 0 0 0 4px #00c09e; }
}
@-moz-transition selected {
  0% { box-shadow: 0 0 0 4px #fff; }
  50% { -moz-transform: scale(0.5); opacity: 0.8; box-shadow: 0 0 0 4px #00c09e; }
  80%,100% { width: 100%; height: 100%; box-shadow: 0 0 0 4px #00c09e; }
}
@-webkit-keyframes selected {
  0% { box-shadow: 0 0 0 4px #fff; }
  50% { -webkit-transform: scale(0.5); opacity: 0.8; box-shadow: 0 0 0 4px #00c09e; }
  80%,100% { width: 100%; height: 100%; box-shadow: 0 0 0 4px #00c09e; }
}

/* button */

button {
  height: 45px;
  margin: 0 7px;
  padding: 5px 0;
  font-weight: 700;
  font-size: 15px;
  letter-spacing: 2px;
  color: #fff;
  border: 0;
  border-radius: 2px;
  text-transform: uppercase;
  outline: 0;
}

button.select {
  float: left;
  background: #435a6b;
  cursor: pointer;
  width: 150px;
}

button.select:before, button.select:after {
  position: absolute;
  display: block;
  content:  'select all';
  width: 150px;
  text-align: center;
  transition:         0.1s linear;
  -o-transition:      0.1s linear;
  -ms-transition:     0.1s linear;
  -moz-transition:    0.1s linear;
  -webkit-transition: 0.1s linear;
}

button.select:after {
  content:  'unselect';
  margin-top: 20px;
  opacity: 0;
}

button.select.selected:before {
  transform:         translate(0,-38px);
  -o-transform:      translate(0,-38px);
  -ms-transform:     translate(0,-38px);
  -moz-transform:    translate(0,-38px);
  -webkit-transform: translate(0,-38px);
  opacity: 0;
}

button.select.selected:after {
  transform:         translate(0,-38px);
  -o-transform:      translate(0,-38px);
  -ms-transform:     translate(0,-38px);
  -moz-transform:    translate(0,-38px);
  -webkit-transform: translate(0,-38px);
  opacity: 1;
}

button.send {
  float: right;
  background: #aaa;
  padding: 0px 15px;
  transition:         0.3s linear;
  -o-transition:      0.3s linear;
  -ms-transition:     0.3s linear;
  -moz-transition:    0.3s linear;
  -webkit-transition: 0.3s linear;
}

button.send.selected {
  background: #00c09e;
  cursor: pointer;
}

button.send:after {
  position: absolute;
  content:  attr(data-counter);
  padding: 5px 8px;
  margin: -29px 0 0 0px;
  line-height: 100%;
  border: 2px #fff solid;
  border-radius: 60px;
  background: #00c09e;
  transition:         0.1s linear;
  -o-transition:      0.1s linear;
  -ms-transition:     0.1s linear;
  -moz-transition:    0.1s linear;
  -webkit-transition: 0.1s linear;
  opacity: 0;
}

button.send.selected:after {
  opacity: 1;
}
JS
// item selection
$('li').click(function () {
  $(this).toggleClass('selected');
  if ($('li.selected').length == 0)
    $('.select').removeClass('selected');
  else
    $('.select').addClass('selected');
  counter();
});

// all item selection
$('.select').click(function () {
  if ($('li.selected').length == 0) {
    $('li').addClass('selected');
    $('.select').addClass('selected');
  }
  else {
    $('li').removeClass('selected');
    $('.select').removeClass('selected');
  }
  counter();
});

// number of selected items
function counter() {
  if ($('li.selected').length > 0)
    $('.send').addClass('selected');
  else
    $('.send').removeClass('selected');
  $('.send').attr('data-counter',$('li.selected').length);
}
Host Instantly Drag and Drop Website Builder

 

Description

Trying to animate some photo pickup during selection Working well on Chrome, Safari and Firefox.
Term
Mon, 11/27/2017 - 22:03

Related Codes

Pen ID
Pen ID
Pen ID