首页前端开发HTMLHTML5实现对话气泡点击动画

HTML5实现对话气泡点击动画

时间2024-01-23 20:12:17发布访客分类HTML浏览210
导读:收集整理的这篇文章主要介绍了HTML5实现对话气泡点击动画,觉得挺不错的,现在分享给大家,也给大家做个参考。本篇文章给大家介绍一下使用HTML5实现对话气泡点击动画的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。需求...
收集整理的这篇文章主要介绍了HTML5实现对话气泡点击动画,觉得挺不错的,现在分享给大家,也给大家做个参考。本篇文章给大家介绍一下使用HTML5实现对话气泡点击动画的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

需求

还是要先把需求拿出来。 要求:

  1. 对话气泡要有动画,动画总共4秒
  2. 在没有点击的时候,气泡每隔8秒出现一次
  3. 在点击的时候,如果动画没有播放完毕就不执行,如果动画播放完毕,立即出现气泡

然后还是把完成图拿出来,就是做成下面这个样子:

思路

  1. 首先要制作气泡
  2. 其次使用css制作动画
  3. 添加计时器完成点击动画和计时动画

实现

半透明气泡制作

html结构

p class="select-toast" id="select-toast">
    闭上眼睛,用心祈祷,努力的人有回报/p>
    

less(rem规则自己换算,也可以使用px)

.select-toast{
        posITion: absolute;
       //确定对话的位置    top: 3.4rem;
        right: 0.2rem;
        width: 1.45rem;
       //确定宽度,高度由文字撑开    padding: 0.18rem;
      //确定文字距离对话框外部的距离    line-height: 0.4rem;
      //确定文字的行高    color: #d06e5a;
      //文字颜色    background-color: rgba(255,255,255,0.85);
      //背景色,半透明    border-radius: 0.2rem;
      //对话框圆角    opacity: 0;
      //初始情况透明度为0    &
::before{
        //三角的制作        content:"";
       //伪元素必需        width: 0;
        //本身的宽高为0        height: 0;
            border-width: 0.2rem;
      //三角形的高        border-color:transparent rgba(255,255,255,0.85) transparent transparent;
       //角朝左的三角形        border-style: solid;
      //边框为实心的        position: absolute;
      //三角的位置        left: -0.4rem;
            top: 0.4rem;
    }
}
    

对话框css动画

.select-toast.toastAni{
         -webkit-animation: toast 4s;
       //对话框的动画     animation: toast 4s;
}
//对话框的动画定义@-webkit-keyframes toast {
      8%{
            opacity: 0.8;
            -webkit-transform: scale(0.8);
            transform: scale(0.8);
    }
    16%{
            opacity: 1;
            -webkit-transform: scale(1.1);
            transform: scale(1.1);
    }
    24%{
            opacity: 1;
            -webkit-transform: scale(0.95);
            transform: scale(0.95);
    }
    32%{
            opacity: 1;
            -webkit-transform: scale(1);
            transform: scale(1);
    }
    82.5%{
            opacity: 1;
            -webkit-transform: scale(1);
            transform: scale(1);
    }
    100%{
            opacity: 0;
    }
}
@keyframes toast {
    8%{
            opacity: 0.8;
            -webkit-transform: scale(0.8);
            transform: scale(0.8);
    }
    16%{
            opacity: 1;
            -webkit-transform: scale(1.1);
            transform: scale(1.1);
    }
    24%{
            opacity: 1;
            -webkit-transform: scale(0.95);
            transform: scale(0.95);
    }
    32%{
            opacity: 1;
            -webkit-transform: scale(1);
            transform: scale(1);
    }
    82.5%{
            opacity: 1;
            -webkit-transform: scale(1);
            transform: scale(1);
    }
    100%{
            opacity: 0;
    }
}
    

添加计时器完成点击动画和计时动画

首先要确定一个点击的区域,这个区域一点击,就会触发气泡出现

!--点击・)))>
    |出气泡-->
    div class="Fish-click" id="fish-click">
    /div>
    

封装功能函数

//随机出现的话术数组VAR toastText = [   "哈哈,早安",   "早上吃饭了吗?",   "好好学习,天天向上",   "闭上眼睛,用心祈祷,努力的人有回报",   "记得早点睡觉",]//计时器变量var fishAlert;
//弹出功能函数function textShow(aniTime,spaceTime){
        //清空计时器    clearInterval(fishAlert);
        //解绑事件    $("#fish-click").off("tap");
        //设置显示的文本,随机生成0-4的整数    var random = Math.floor(Math.random() * 5);
        //展示随机生成的文本    $("#select-toast").html(toastText[random]).addClass("toastAni");
    //4000秒后去掉动画    setTimeout(function(){
            //去掉动画样式        $("#select-toast").removeClass("toastAni");
        //重新绑定事件        $("#fish-click").off("tap").on("tap",function(){
                textShow(4000,8000);
        }
)        //添加8秒计时器        fishAlert = setInterval(function(){
                //随机生成0-4的整数            var random = Math.floor(Math.random() * 5);
                //添加动画            $("#select-toast").html(toastText[random]).addClass("toastAni");
            setTimeout(function(){
                    //动画结束后移除动画                $("#select-toast").removeClass("toastAni");
            }
,aniTime)        }
    ,spaceTime);
    }
    ,aniTime);
}
    

函数调用

$(document).ready(function(){
        //动画时间4000ms,间隔时间8000ms    textShow(4000,8000);
}
    )

整体还是比较简单的,所以这里做一下记录。

更多炫酷特效,推荐访问:javascript特效大全!

以上就是HTML5实现对话气泡点击动画的详细内容,更多请关注其它相关文章!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

上一篇: html5不常用标签可以怎么使用?下一篇:h5页面和普通页面的区别是什么?猜你在找的html5相关文章 关于移动端h5开发相关内容总结2022-05-17html5教程-学表单的第二天2018-12-10html5教程-HTML5浏览器支持2018-12-10html5教程-HTML5智能表单2018-12-10html5教程-微信H5使用resLoader实现加载页效果2018-12-10html5教程-day01-初级-JS0-热身运动JS入门教程2018-12-10html5教程-html5shiv.js和respond.min.js2018-12-10html5教程-不同浏览器对于html5 audio标签和音频格式的兼容性2018-12-10html5教程-使用Html5实现手风琴案例2018-12-10html5教程-html5笔记2018-12-10 其他相关热搜词更多phpjavapython程序员load

若转载请注明出处: HTML5实现对话气泡点击动画
本文地址: https://pptw.com/jishu/584594.html
h5页面和普通页面的区别是什么? html5不常用标签可以怎么使用?

游客 回复需填写必要信息