图片/图形

手机APP新功能展示标记动画特效

阿里云


这是一款用于展示手机 app 新功能的 jQuery 和 css3 标记动画特效插件。在该插件中,手机 app 有新功能的地方会有标记不断的闪烁,提示用户去点击查看。整个插件设计得十分人性化。
如果你想展示你的新的应用程序的最佳功能,你想让用户通过设计屏幕了解你的应用程序。最好的方法是利用不断闪烁的点,将它们分布在各个新功能处,来吸引用户点击。这个设计的灵感来自于 Disqus Websites page。

HTML 结构

闪烁的点实用无序列表制作:

也想出现在这里?联系我们
创客主机
  1. <div class="cd-product cd-container">
  2.     <div class="cd-product-wrapper">
  3.         <img src="img/cd-app-image.jpg"><!-- image of our product -->
  4.         <ul>
  5.             <li class="cd-single-point">
  6.                 <a class="cd-img-replace" href="#0">More</a>
  7.                 <div class="cd-more-info cd-top"> <!-- 4 classes available: cd-top, cd-bottom, cd-left, cd-right  -->
  8.                     <h2><!-- Title here --></h2>
  9.                     <p><!-- Description here --></p>
  10.                     <a href="#0" class="cd-close-info cd-img-replace">Close</a>
  11.                 </div>
  12.             </li> <!-- .cd-single-point -->
  13.             <!-- other points of interest here -->
  14.         </ul>
  15.     </div> <!-- .cd-product-wrapper -->
  16. </div> <!-- .cd-product -->

CSS 样式

首先给每一个 .cd-single-point 定位:

  1. .cd-product-wrapper {
  2.   position: relative;
  3. }
  4. .cd-single-point {
  5.   position: absolute;
  6. }
  7. .cd-single-point:first-child {
  8.   bottom: 40%;
  9.   right: 30%;
  10. }
  11. .cd-single-point:nth-child(2) {
  12.   bottom: 24%;
  13.   right: 46%;
  14. }
  15. /*define here all the other list items position values*/

这里使用百分比做单位,这样点的位置和屏幕的尺寸就没有关联了。为制作点的脉冲效果,我们为每一个 .cd-single-point 列表项创建 ::after 伪元素。并用 CSS3 animation 来移动它们的 box-shadow 和 scale 值。我们设置 animation-iteration-count 为 infinite(无限),这样动画就可以连续进行。

  1. .cd-single-point::after {
  2.   /* this is used to create the pulse animation */
  3.   content: '';
  4.   position: absolute;
  5.   width: 100%;
  6.   height: 100%;
  7.   top: 0;
  8.   left: 0;
  9.   animation: cd-pulse 2s infinite;
  10. }
  11. @keyframes cd-pulse {
  12.   0% {
  13.     transform: scale(1);
  14.     box-shadow: inset 0 0 1px 1px rgba(217, 83, 83, 0.8);
  15.   }
  16.   50% {
  17.     box-shadow: inset 0 0 1px 1px rgba(217, 83, 83, 0.8);
  18.   }
  19.   100% {
  20.     transform: scale(1.6);
  21.     box-shadow: inset 0 0 1px 1px rgba(217, 83, 83, 0);
  22.   }
  23. }

为了显示标记点的信息,我们在点击标记点时通过 jQuery 为 .cd-single-point 添加 .is-open 类。在手机设备上(屏幕小于 600px), .cd-more-info 元素被全屏打开。在大屏幕上,我们为每个 .cd-more-info 元素设置固定的宽和高。我们还定义了 4 个类:.cd-top、.cd-bottom、.cd-left 和.cd-right。这 4 个类的作用是使描述信息能够快速的在标记点的上下左右 4 个方向上出现。

  1. .cd-single-point .cd-more-info {
  2.   position: fixed;
  3.   top: 0;
  4.   left: 0;
  5.   z-index: 3;
  6.   width: 100%;
  7.   height: 100%;
  8.   visibility: hidden;
  9.   opacity: 0;
  10.   transform: scale(0.8);
  11.   transition: opacity 0.3s 0s, visibility 0s 0.3s, transform 0.3s 0s, top 0.3s 0s, bottom 0.3s 0s, left 0.3s 0s, right 0.3s 0s;
  12. }
  13. .cd-single-point.is-open .cd-more-info {
  14.   visibility: visible;
  15.   opacity: 1;
  16.   transform: scale(1);
  17.   transition: opacity 0.3s 0s, visibility 0s 0s, transform 0.3s 0s, top 0.3s 0s, bottom 0.3s 0s, left 0.3s 0s, right 0.3s 0s;
  18. }
  19.  
  20. @media only screen and (min-width: 600px) {
  21.   .cd-single-point .cd-more-info {
  22.     position: absolute;
  23.     width: 220px;
  24.     height: 240px;
  25.   }
  26. }

JAVASCRIPT

我们使用 jQuery 来监听每一个标记点的点击事件,并为当前点击的项添加/移除 is-open 类。

  1. jQuery(document).ready(function($){
  2.     //open interest point description
  3.     $('.cd-single-point').children('a').on('click', function(){
  4.         var selectedPoint = $(this).parent('li');
  5.         if( selectedPoint.hasClass('is-open') ) {
  6.             selectedPoint.removeClass('is-open').addClass('visited');
  7.         } else {
  8.             selectedPoint.addClass('is-open').siblings('.cd-single-point.is-open').removeClass('is-open').addClass('visited');
  9.         }
  10.     });
  11.     //close interest point description
  12.     $('.cd-close-info').on('click', function(event){
  13.         event.preventDefault();
  14.         $(this).parents('.cd-single-point').eq(0).removeClass('is-open').addClass('visited');
  15.     });
  16. });

手机 APP 新功能展示标记动画特效

已有 514 人购买
查看演示升级 VIP立刻购买

演示地址 下载地址
收藏
(0)

发表回复

热销模板

Ashade - 作品展示摄影相册WordPress汉化主题
LensNews

本站承接 WordPress / PbootCMS / DedeCMS 等
系统建站、仿站、开发、定制等业务!