http://www.100daysui.com/#cbp=ajax/shot-2
A Pen by Jonathan Obino on CodePen.
<div class="product"> | |
<div class="header"> | |
<div class="back"></div> | |
</div> | |
<div class="main"> | |
<div class="left"> | |
<h1>Nook</h1> | |
<h2>Lounge chair</h2> | |
<h3>$320.00</h3> | |
<img src="http://www.design.si.it/wp-content/uploads/2018/02/Sedia-di-design-nordico-legno-polipropilene-e-cuscino-grigio.png" alt="" /> | |
<img src="https://banner2.cleanpng.com/20180403/gce/kisspng-eames-lounge-chair-table-dining-room-furniture-modern-5ac3984e3543e8.8864625415227679502182.jpg"/> | |
</div> | |
<div class="right"> | |
<p>Designer Karim Rashid continues to put his signature spin on all genres of design through various collaborations with top-notch companies. Another one to add to the win column is his work with Italian manufacturer Chateau d’Ax.</p> | |
<p>In stock. <a href="">Buy Extended Warranty</a></p> | |
<p> | |
<span class="fa fa-star yellow"></span> | |
<span class="fa fa-star yellow"></span> | |
<span class="fa fa-star yellow"></span> | |
<span class="fa fa-star yellow"></span> | |
<span class="fa fa-star"></span> | |
<span>(4.67 - 172 reviews)</span> | |
</p> | |
<p class="quantity">QUANTITY <span class="fa fa-angle-left angle"></span><span id="qt">3</span><span class="fa fa-angle-right angle"></span></p> | |
</div> | |
</div> | |
<div class="footer"> | |
<div class="left"> | |
<p id="price">$960.00</p> | |
</div> | |
<div class="right"> | |
<p>Add to Cart</p> | |
</div> | |
</div> | |
</div> |
const arrows = document.querySelector('.quantity').querySelectorAll('.fa'); | |
const handleChange = (elem)=>{ | |
const qt = document.querySelector('#qt'); | |
const total = document.querySelector('#price'); | |
let value = parseInt(qt.innerText); | |
let classArr = Array.from(elem.classList); | |
if(/right/gi.test(classArr)) { | |
if(value!=9) value++; | |
else alert('Watch out! We\'ve got a badass over here!'); | |
} | |
else { | |
if(value!=1) value--; | |
else alert('Watch out! We\'ve got a badass over here!'); | |
} | |
qt.innerText = value; | |
total.innerText = '$'+(value*320); | |
} | |
const product = document.querySelector('.product'); | |
const moveBox = (val)=>{ | |
product.style.mozTransform = | |
product.style.msTransform = | |
product.style.webkitTransform = | |
product.style.transform = 'translateX('+val+'px)'; | |
} | |
const back = document.querySelector('.back'); | |
const spring = new rebound.SpringSystem(); | |
let animation = spring.createSpring(60,3); | |
animation.addListener({ | |
onSpringUpdate(spring){ | |
let current = spring.getCurrentValue(); | |
if(current > 1) spring.setEndValue(0); | |
let val = rebound.MathUtil.mapValueInRange(current,0,1,0,20); | |
moveBox(val); | |
} | |
}) | |
back.addEventListener('click',()=>{ | |
animation.setEndValue(1); | |
}); | |
const arrArr = Array.from(arrows); | |
arrArr.forEach(elem=>{ | |
elem.addEventListener('click',()=>{ | |
handleChange(elem); | |
}) | |
}) |
<script src="https://unpkg.com/rebound"></script> |
@import url(https://fonts.googleapis.com/css?family=Montserrat:400,700); | |
@import url(https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css); | |
//$senape: #bcbd31; | |
$senape:rgb(71, 190, 115); | |
$giallo:rgb(254,203,108); | |
$cubicBounce:cubic-bezier(0.68, -0.55, 0.265, 1.55); | |
body{ | |
background:linear-gradient(to top, rgba(100,50,50,0.6), rgba(0,0,0,0.8)),url(https://www.atrafloor.com/app/uploads/2017/01/camo-camouflage-pattern-flooring-grey.jpg); | |
background-size:cover; | |
min-height:100vh; | |
font-family: 'Montserrat', sans-serif; | |
} | |
a { | |
text-decoration:none; | |
color: #3399ff; | |
} | |
#qt{ | |
color:rgb(153,153,153); | |
} | |
p{ | |
.fa[class~=angle]{ | |
font-size:1.3rem; | |
position:relative; | |
top: 0.15rem; | |
margin:0 20px; | |
cursor: pointer; | |
color:rgb(216,216,216); | |
transition:all .5s; | |
&:hover{ | |
color:$senape; | |
} | |
} | |
} | |
.yellow{ | |
color: $giallo; | |
} | |
.product{ | |
height:500px; | |
width:600px; | |
background:white; | |
position:relative; | |
left:calc(50% - 300px); | |
margin-top:calc(50vh - 250px); | |
&.action{ | |
animation: bounce 1s $cubicBounce infinite; | |
} | |
.header{ | |
height:40px; | |
position:relative; | |
padding:20px; | |
.back{ | |
position:relative; | |
width:0px; | |
height:0px; | |
border-top: 30px solid $senape; | |
border-bottom: 30px solid transparent; | |
border-left: 30px solid $senape; | |
border-right: 30px solid transparent; | |
&:before{ | |
content:"←"; | |
position:absolute; | |
color:rgba(255,255,255,0.9); | |
font-size:1.3rem; | |
font-weight:bold; | |
top:-22px; | |
left:-22px; | |
} | |
} | |
} | |
.main{ | |
padding:0 30px; | |
box-sizing: border-box; | |
.quantity{ | |
margin-top:40px; | |
color: #333; | |
} | |
h1{ | |
font-size:4.5rem; | |
-webkit-margin-before: 0; | |
-webkit-margin-after: 0; | |
margin: 0 -5px -15px; | |
color:#232e3a; | |
} | |
h2{ | |
color:#999999; | |
-webkit-margin-before: 0; | |
-webkit-margin-after: 0; | |
margin: 0 0; | |
text-transform:uppercase; | |
} | |
h3{ | |
color:#232e3a; | |
margin:0; | |
} | |
img{ | |
max-width:90%; | |
margin-left:25px; | |
} | |
.left, | |
.right{ | |
width:40%; | |
padding: 0 calc(5% - 1px); | |
} | |
.right{ | |
color:#999; | |
font-size:.78rem; | |
line-height: 1.5; | |
} | |
} | |
.footer{ | |
position:absolute; | |
bottom:0; | |
padding:5px 40px 5px 0; | |
width:calc(90% - 40px); | |
left:10%; | |
border-top: 1px solid #ccc; | |
.left{ | |
p:before{ | |
content:"Total Price"; | |
text-transform:uppercase; | |
font-size:.7rem; | |
color:black; | |
position:absolute; | |
top:-12px; | |
width:200%; | |
} | |
} | |
p{ | |
color:$senape; | |
position:relative; | |
font-size:1.5rem; | |
} | |
} | |
} | |
.left{ | |
float:left; | |
} | |
.right{ | |
float:right; | |
} | |
@keyframes bounce{ | |
50%{ | |
transform: translateX(10px); | |
} | |
} |
forked from codepen to use when making an e-shop