展示
提示:
1. Chrome浏览器下,浏览器窗体下边缘与上面按钮下边缘对齐有最佳交互效果。
2. 点击垃圾箱可以“吐出”回收的图片。
代码
CSS代码:
/* Copyright (c) 2012 Dan Eden */ .animated { -webkit-animation-fill-mode: both; -moz-animation-fill-mode: both; -webkit-animation-duration: 1s; -moz-animation-duration: 1s; } @-webkit-keyframes tada { 0% {-webkit-transform: scale(1);} 10%, 20% {-webkit-transform: scale(0.9) rotate(-3deg);} 30%, 50%, 70%, 90% {-webkit-transform: scale(1.1) rotate(3deg);} 40%, 60%, 80% {-webkit-transform: scale(1.1) rotate(-3deg);} 100% {-webkit-transform: scale(1) rotate(0);} } @-moz-keyframes tada { 0% {-moz-transform: scale(1);} 10%, 20% {-moz-transform: scale(0.9) rotate(-3deg);} 30%, 50%, 70%, 90% {-moz-transform: scale(1.1) rotate(3deg);} 40%, 60%, 80% {-moz-transform: scale(1.1) rotate(-3deg);} 100% {-moz-transform: scale(1) rotate(0);} } .tada { -webkit-animation-name: tada; -moz-animation-name: tada; }
HTML代码:
<span class="image"><img id="image" class="flow" src="//image.zhangxinxu.com/image/study/s/s512/mm1.jpg" /></span> <img id="recycle" class="recycle animated" src="//image.zhangxinxu.com/image/blog/201210/huishou.png" /> <p><input type="button" id="button" class="button" value="放入垃圾箱" /></p> <!-- 确定移除的提示框 --> <div id="confirm" class="confirm pop reverse out"> <div class="confirm_bar"> <a href="javascript:" id="close" class="confirm_close">×</a> 提示框 </div> <div class="confirm_body"> <p>您确定将该图片移入回收站?</p> <p> <button id="ensure" type="button">确定</button> <button id="cancel" type="button">取消</button> </p> </div> </div>
JS代码:
// 浮动提示框的元素们 var eleConfirm = $("#confirm"), eleClose = $("#close"); // 图片和回收站元素 var eleImage = $("#image"), eleRecycle = $("#recycle"); // 弹框关闭的方法 var funConfirmOut = function() { eleConfirm.addClass("reverse out").removeClass("in"); } // 点击弹框右上角的关闭和取消按钮 $("#close, #cancel").bind("click", funConfirmOut); // 点击确定按钮按钮 $("#ensure").bind("click", function() { eleImage.addClass("out reverse").removeClass("in"); setTimeout(function() { eleImage.css("visibility", "hidden"); eleRecycle.addClass("tada"); setTimeout(function() { eleRecycle.removeClass("tada"); }, 1000); }, 300); funConfirmOut(); }); // 点击垃圾箱 eleRecycle.bind("click", function() { eleImage.css("visibility", "visible").removeClass("out reverse").addClass("in"); }); // 点击移除图片按钮,出现提示框 $("#button").bind("click", function() { var scrollTop = $(document.body).scrollTop(); if (!eleImage.hasClass("out")) { eleConfirm.css({ top: scrollTop + ($(window).height() - eleConfirm.height()) / 2 }).removeClass("reverse out").addClass("in"); } else { eleRecycle.addClass("tada"); setTimeout(function() { eleRecycle.removeClass("tada"); }, 1000); } });