当前位置: 首页 > news >正文

南京公司网站模板建站三维家是在网站上做还是在app上

南京公司网站模板建站,三维家是在网站上做还是在app上,深圳网站外包,ftp是专门提供文件传输的网站样式基于博主的这篇文章#xff1a; CSS3技巧38#xff1a;3D 翻转数字效果-CSDN博客 既然可以实现翻转数字了#xff0c;肯定就可以跟 JS 相结合去完成一些数字展示效果。 比如#xff0c;数字反转时钟。 为了方便#xff0c;所有 HTML 数字根据时间动态生成。因此 CSS3技巧383D 翻转数字效果-CSDN博客 既然可以实现翻转数字了肯定就可以跟 JS 相结合去完成一些数字展示效果。 比如数字反转时钟。 为了方便所有 HTML 数字根据时间动态生成。因此HTML 只需要一个空空的 div 即可。 HTML结构 div classclock idclock/div 一、构造数字字符串 为了数字构造方便首先需要时间数字字符串。 如2402022。代表了 24点02分22秒。 /*** 构造时间字符串。* 按照时分秒的顺序从左到右依次取值如果小于10则在前面补上“0”。* returns 时间字符串* example 240222*/ function timeGo(){let time new Date();let hour time.getHours();let minute time.getMinutes();let second time.getSeconds();return timeToStr(hour) timeToStr(minute) timeToStr(second); } 这里用到了一个工具函数 timeToStr()。它的作用就是把数字转为字符串不够10还会在前面补 0。 /*** 转换数字为字符串如果小于10则在前面补上“0”。* param num 数字* returns 字符串* example 02*/ function timeToStr(num){let newStr ;if(num10){newStr 0num;}else{newStr num;}return newStr; } 二、设置翻转数字反转动画 这个方法是核心。 首先去掉 CSS 代码中翻转数字的 transition 属性。因此数字反转后这里还需要让它回到初始位置准备下一个数字翻转。这个“归位”是不能有过渡动画的。 过渡动画应该通过 js 动态添加。当数字翻转后就添加过渡 transition 属性。但是这个时候浏览器是不会有动画的。因为没有渲染所以要看到过渡的动画效果需要强制浏览器渲染。 强制渲染的方式就是让js获取标签的宽高值即可达到。 下面这条语句就是在强制浏览器渲染动画。 document.body.clientHeight; // 强制渲染标签执行动画 关于显示数字刚开始要设置 after 数字这个就是代表要展示的数字。 过渡动画执行完毕后要更新显示的数字 before 为当前数字。所以给翻转的标签添加过渡动画结束事件 transitionend。 此外不是每次设置数字都要翻转的。如果 after 的数字和要显示的数字一样就不需要翻转。所以这个方法还需要有一个判断。如果 after 和要显示的数字一样就终止函数运行。 /*** 设置数字的旋转动画。* param numStr 数字字符串* param id 数字所在的元素*/ function setTime(numStr, id){let tag id.children;// 如果 after 和要显示的数字一样就终止函数运行不需要翻转。if( tag[1].dataset.after numStr){return;}Array.from(tag).forEach(function(item){item.dataset.after numStr;});tag[1].style.transition all 0.5s linear;document.body.clientHeight; // 强制渲染标签执行动画tag[1].style.transform rotateX(180deg);tag[1].ontransitionend function(){Array.from(tag).forEach(function(item){item.dataset.before numStr;});tag[1].style.transition none;tag[1].style.transform rotateX(0deg);} } 三、初始化标签 根据时间数字生成6个 section每个section显示一个数字内容。 同时时分秒时间之间还添加一个分号。这个分号放在一个 p 标签里。 /*** 初始化数字的元素。* 动态生成5个数字元素section每个元素包含两个div分别代表底部的数字和翻转的数字。* 时分秒之间插入一个冒号 冒号用一个p标签表示。* returns 数字元素的数组*/ function init(){let clock document.getElementById(clock);let html ;for(let i0; i5; i){html!-- 一个数字 --sectiondiv data-beforex data-afterx/divdiv data-beforex data-afterx/div/section!-- 一个数字 --if(i%21 i!5){ // 最后一个数字不用冒号html p classdots/p}}clock.innerHTML html;// 返回数字元素的数组 section// 每个数字对应一个sectionreturn clock.querySelectorAll(section); }let sections init(); // 定时更新数字 let myset setInterval(function(){let time timeGo(); // 时分秒的字符串240222sections.forEach(function(item, index){// 取出时分秒的每一位数字并设置旋转动画setTime(time[index], item);}); });四、完整代码 /*** 构造时间字符串。* 按照时分秒的顺序从左到右依次取值如果小于10则在前面补上“0”。* returns 时间字符串* example 240222*/ function timeGo(){let time new Date();let hour time.getHours();let minute time.getMinutes();let second time.getSeconds();return timeToStr(hour) timeToStr(minute) timeToStr(second); }/*** 转换数字为字符串如果小于10则在前面补上“0”。* param num 数字* returns 字符串* example 02*/ function timeToStr(num){let newStr ;if(num10){newStr 0num;}else{newStr num;}return newStr; } /*** 设置数字的旋转动画。* param numStr 数字字符串* param id 数字所在的元素*/ function setTime(numStr, id){let tag id.children;if( tag[1].dataset.after numStr){return;}Array.from(tag).forEach(function(item){item.dataset.after numStr;});tag[1].style.transition all 0.5s linear;document.body.clientHeight;tag[1].style.transform rotateX(180deg);tag[1].ontransitionend function(){Array.from(tag).forEach(function(item){item.dataset.before numStr;});tag[1].style.transition none;tag[1].style.transform rotateX(0deg);} } /*** 初始化数字的元素。* 动态生成5个数字元素section每个元素包含两个div分别代表底部的数字和翻转的数字。* 时分秒之间插入一个冒号 冒号用一个p标签表示。* returns 数字元素的数组*/ function init(){let clock document.getElementById(clock);let html ;for(let i0; i5; i){html!-- 一个数字 --sectiondiv data-beforex data-afterx/divdiv data-beforex data-afterx/div/section!-- 一个数字 --if(i%21 i!5){ // 最后一个数字不用冒号html p classdots/p}}clock.innerHTML html;// 返回数字元素的数组 section// 每个数字对应一个sectionreturn clock.querySelectorAll(section); }let sections init(); // 定时更新数字 let myset setInterval(function(){let time timeGo(); // 时分秒的字符串240222sections.forEach(function(item, index){// 取出时分秒的每一位数字并设置旋转动画setTime(time[index], item);}); });
http://www.pierceye.com/news/109248/

相关文章:

  • 美容院网站建设西安有关做网站的公司有哪些
  • 湛江做网站设计公司网络推广网站培训班
  • 大型网站建立萝岗微信网站建设
  • 门户网站建设发展趋势官网网站怎么创建
  • 企业网站如何做自然搜索phpcms 网站转移
  • 站内优化怎么做建设设计网站
  • 如何建设机器人教育网站上海有名的网络公司
  • 网站二级目录做网站淄博网站建设 很乱
  • 常州做网站企业海口网站开发建设
  • 做php网站用什么软件开发wordpress页面图片轮播图
  • 做网站页面大小多大8上的信息课做网站作业
  • 自己做微网站创欧科技 网站建设
  • 网站设计师大学学什么专业北京燕华工程建设有限公司网站
  • 广州专业网站建设企业wordpress 数据库修改
  • 淮南装饰公司网站建设seo 网站树
  • 设计素材下载网站网络营销课程设计报告
  • 安庆公司做网站搜索引擎收录提交入口
  • 城固网站建设wordpress主题谁的最好
  • 国外建站企业北京鑫创网站建设
  • 网站做视频wordpress插件手动升级
  • wordpress收不到网站没有收款接口网站怎么做收款
  • 信阳做网站推广用tornado做网站
  • 网站开发与数据库ppt成都优化网站建设
  • 毕业设计静态网站建设选题依据企业网络营销的优势
  • 网站图片动态换名网站充值支付宝收款怎么做
  • 蜘蛛网是个什么网站做特卖的购物网站
  • 从零学做网站古典 网站模板
  • h5网站模板开发网站后台哪些功能需要前端配合
  • 网站建设 宜宾佛山企业网站自助建站
  • 苏宁易购网站建设 的定位手机网站制作招聘