标签:rms cat mes name offer 时间 redis back web
插件描述:字体特效,会弹跳的字体插件jquery.beattext.js,兼容性如下:
导入如下3个js文件:
1 <script type="text/javascript" src="jquery.min.js"></script> 2 <script type="text/javascript" src="jquery.beattext.js"></script> 3 <script type="text/javascript" src="easying.js"></script>
HTML 代码如下:
1 <div class="container"> 2 <p id="beatText">我可是会跳的哦,但看我跳,你要把鼠标移上来。</p> 3 <p id="rotateText">我是旋转字体的,你鼠标移上来看看</p> 4 <br> 5 <br> 6 <p id="autoText">看我跳是不收钱的,免费看,上面两基佬都是鼠标移才动真懒</p> 7 <p id="roloadText">正在加载中...</p> 8 <br> 9 <br> 10 <p id="autoRotateText">我是刷杂技的,边跳边翻跟头..............</p> 11 </div>
CSS样式如下:最后两个才是重要的:
1 <style> 2 *{ 3 padding:0px; 4 margin:0px; 5 background:#333; 6 color:#fff; 7 font-size:30px; 8 } 9 10 .container{ 11 margin:50px auto; 12 width:1100px; 13 position:relative; 14 } 15 .container p{ 16 text-align:center; 17 padding:10px auto; 18 } 19 /*下面两个是核心样式*/ 20 .beat-char { 21 line-height: 3.4em; 22 position: relative; 23 display: inline-block; 24 background: transparent; 25 26 } 27 28 .rotate{ 29 transform:rotate(360deg) ; 30 -ms-transform:rotate(360deg); /* IE 9 */ 31 -moz-transform:rotate(360deg); /* Firefox */ 32 -webkit-transform:rotate(360deg); /* Safari 和 Chrome */ 33 -o-transform:rotate(360deg); 34 -webkit-transition-duration: 0.7s; 35 36 } 37 </style>
调用方式如下:
1 <script type="text/javascript"> 2 3 $(document).ready(function() { 4 /* 5 * 参数详解: 6 * upTime 上移的时间 7 * downTime 下落的时间 8 * beatHeight 上移高度 9 * isAuth 是否自动 10 * isRotate 是否旋转 11 */ 12 $(‘p#beatText‘).beatText({isAuth:false,isRotate:false}); 13 $(‘p#rotateText‘).beatText({isAuth:false,isRotate:true}); 14 $(‘p#autoText‘).beatText({isAuth:true,beatHeight:"3em",isRotate:false}); 15 $(‘p#roloadText‘).beatText({isAuth:true,beatHeight:"1em",isRotate:false,upTime:100,downTime:100}); 16 $(‘p#autoRotateText‘).beatText({isAuth:true,upTime:700,downTime:700,beatHeight:"3em",isRotate:true}); 17 18 }); 19 20 </script>
插件:easying.js源码:
1 /* 2 * jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/ 3 * 4 * Uses the built in easing capabilities added In jQuery 1.1 5 * to offer multiple easing options 6 * 7 * TERMS OF USE - jQuery Easing 8 * 9 * Open source under the BSD License. 10 * 11 * Copyright ? 2008 George McGinley Smith 12 * All rights reserved. 13 * 14 * Redistribution and use in source and binary forms, with or without modification, 15 * are permitted provided that the following conditions are met: 16 * 17 * Redistributions of source code must retain the above copyright notice, this list of 18 * conditions and the following disclaimer. 19 * Redistributions in binary form must reproduce the above copyright notice, this list 20 * of conditions and the following disclaimer in the documentation and/or other materials 21 * provided with the distribution. 22 * 23 * Neither the name of the author nor the names of contributors may be used to endorse 24 * or promote products derived from this software without specific prior written permission. 25 * 26 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 27 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 28 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 29 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 30 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 31 * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 32 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 33 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 34 * OF THE POSSIBILITY OF SUCH DAMAGE. 35 * 36 */ 37 38 // t: current time, b: begInnIng value, c: change In value, d: duration 39 jQuery.easing[‘jswing‘] = jQuery.easing[‘swing‘]; 40 41 jQuery.extend( jQuery.easing, 42 { 43 def: ‘easeOutQuad‘, 44 swing: function (x, t, b, c, d) { 45 //alert(jQuery.easing.default); 46 return jQuery.easing[jQuery.easing.def](x, t, b, c, d); 47 }, 48 easeInQuad: function (x, t, b, c, d) { 49 return c*(t/=d)*t + b; 50 }, 51 easeOutQuad: function (x, t, b, c, d) { 52 return -c *(t/=d)*(t-2) + b; 53 }, 54 easeInOutQuad: function (x, t, b, c, d) { 55 if ((t/=d/2) < 1) return c/2*t*t + b; 56 return -c/2 * ((--t)*(t-2) - 1) + b; 57 }, 58 easeInCubic: function (x, t, b, c, d) { 59 return c*(t/=d)*t*t + b; 60 }, 61 easeOutCubic: function (x, t, b, c, d) { 62 return c*((t=t/d-1)*t*t + 1) + b; 63 }, 64 easeInOutCubic: function (x, t, b, c, d) { 65 if ((t/=d/2) < 1) return c/2*t*t*t + b; 66 return c/2*((t-=2)*t*t + 2) + b; 67 }, 68 easeInQuart: function (x, t, b, c, d) { 69 return c*(t/=d)*t*t*t + b; 70 }, 71 easeOutQuart: function (x, t, b, c, d) { 72 return -c * ((t=t/d-1)*t*t*t - 1) + b; 73 }, 74 easeInOutQuart: function (x, t, b, c, d) { 75 if ((t/=d/2) < 1) return c/2*t*t*t*t + b; 76 return -c/2 * ((t-=2)*t*t*t - 2) + b; 77 }, 78 easeInQuint: function (x, t, b, c, d) { 79 return c*(t/=d)*t*t*t*t + b; 80 }, 81 easeOutQuint: function (x, t, b, c, d) { 82 return c*((t=t/d-1)*t*t*t*t + 1) + b; 83 }, 84 easeInOutQuint: function (x, t, b, c, d) { 85 if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b; 86 return c/2*((t-=2)*t*t*t*t + 2) + b; 87 }, 88 easeInSine: function (x, t, b, c, d) { 89 return -c * Math.cos(t/d * (Math.PI/2)) + c + b; 90 }, 91 easeOutSine: function (x, t, b, c, d) { 92 return c * Math.sin(t/d * (Math.PI/2)) + b; 93 }, 94 easeInOutSine: function (x, t, b, c, d) { 95 return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b; 96 }, 97 easeInExpo: function (x, t, b, c, d) { 98 return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b; 99 }, 100 easeOutExpo: function (x, t, b, c, d) { 101 return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b; 102 }, 103 easeInOutExpo: function (x, t, b, c, d) { 104 if (t==0) return b; 105 if (t==d) return b+c; 106 if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b; 107 return c/2 * (-Math.pow(2, -10 * --t) + 2) + b; 108 }, 109 easeInCirc: function (x, t, b, c, d) { 110 return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b; 111 }, 112 easeOutCirc: function (x, t, b, c, d) { 113 return c * Math.sqrt(1 - (t=t/d-1)*t) + b; 114 }, 115 easeInOutCirc: function (x, t, b, c, d) { 116 if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b; 117 return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b; 118 }, 119 easeInElastic: function (x, t, b, c, d) { 120 var s=1.70158;var p=0;var a=c; 121 if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3; 122 if (a < Math.abs(c)) { a=c; var s=p/4; } 123 else var s = p/(2*Math.PI) * Math.asin (c/a); 124 return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b; 125 }, 126 easeOutElastic: function (x, t, b, c, d) { 127 var s=1.70158;var p=0;var a=c; 128 if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3; 129 if (a < Math.abs(c)) { a=c; var s=p/4; } 130 else var s = p/(2*Math.PI) * Math.asin (c/a); 131 return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b; 132 }, 133 easeInOutElastic: function (x, t, b, c, d) { 134 var s=1.70158;var p=0;var a=c; 135 if (t==0) return b; if ((t/=d/2)==2) return b+c; if (!p) p=d*(.3*1.5); 136 if (a < Math.abs(c)) { a=c; var s=p/4; } 137 else var s = p/(2*Math.PI) * Math.asin (c/a); 138 if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b; 139 return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b; 140 }, 141 easeInBack: function (x, t, b, c, d, s) { 142 if (s == undefined) s = 1.70158; 143 return c*(t/=d)*t*((s+1)*t - s) + b; 144 }, 145 easeOutBack: function (x, t, b, c, d, s) { 146 if (s == undefined) s = 1.70158; 147 return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b; 148 }, 149 easeInOutBack: function (x, t, b, c, d, s) { 150 if (s == undefined) s = 1.70158; 151 if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b; 152 return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b; 153 }, 154 easeInBounce: function (x, t, b, c, d) { 155 return c - jQuery.easing.easeOutBounce (x, d-t, 0, c, d) + b; 156 }, 157 easeOutBounce: function (x, t, b, c, d) { 158 if ((t/=d) < (1/2.75)) { 159 return c*(7.5625*t*t) + b; 160 } else if (t < (2/2.75)) { 161 return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b; 162 } else if (t < (2.5/2.75)) { 163 return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b; 164 } else { 165 return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b; 166 } 167 }, 168 easeInOutBounce: function (x, t, b, c, d) { 169 if (t < d/2) return jQuery.easing.easeInBounce (x, t*2, 0, c, d) * .5 + b; 170 return jQuery.easing.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b; 171 } 172 }); 173 174 /* 175 * 176 * TERMS OF USE - EASING EQUATIONS 177 * 178 * Open source under the BSD License. 179 * 180 * Copyright ? 2001 Robert Penner 181 * All rights reserved. 182 * 183 * Redistribution and use in source and binary forms, with or without modification, 184 * are permitted provided that the following conditions are met: 185 * 186 * Redistributions of source code must retain the above copyright notice, this list of 187 * conditions and the following disclaimer. 188 * Redistributions in binary form must reproduce the above copyright notice, this list 189 * of conditions and the following disclaimer in the documentation and/or other materials 190 * provided with the distribution. 191 * 192 * Neither the name of the author nor the names of contributors may be used to endorse 193 * or promote products derived from this software without specific prior written permission. 194 * 195 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 196 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 197 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 198 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 199 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 200 * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 201 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 202 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 203 * OF THE POSSIBILITY OF SUCH DAMAGE. 204 * 205 */
插件jquery.beattext.js源码:
1 /* 2 * @auther rstyro 3 * @blog http://www.lrshuai.top/blog 4 * @Date 2017-11-14 5 */ 6 7 (function($) { 8 $.fn.beatText = function(options) { 9 var defaults = { 10 beatHeight: ‘2em‘, 11 upTime: 700, 12 downTime: 700, 13 isAuth:true, 14 isRotate:true 15 }; 16 var options = $.extend(defaults, options); 17 console.log(options); 18 return this.each(function() { 19 var obj = $(this); 20 if (obj.text() !== obj.html()) { 21 return 22 }; 23 var text = obj.text(); 24 var newMarkup = ‘‘; 25 for (var i = 0; i <= text.length; i++) { 26 var character = text.slice(i, i + 1); 27 newMarkup += ($.trim(character)) ? ‘<span class="beat-char">‘ + character + ‘</span>‘ : character 28 } 29 obj.html(newMarkup); 30 if(!options.isAuth){ 31 obj.find(‘span.beat-char‘).each(function(index,el) { 32 $(this).mouseover(function() { 33 beatAnimate($(this),options); 34 }) 35 }) 36 }else{ 37 //自动跳动的动画 38 obj.find(‘span.beat-char:first‘).animate({ 39 bottom: options.beatHeight 40 }, { 41 queue: false, 42 duration: options.upTime, 43 easing: ‘easeOutCubic‘, 44 complete: function() { 45 $(this).animate({ 46 bottom: 0 47 }, { 48 queue: false, 49 duration: options.downTime, 50 easing: ‘easeOutBounce‘, 51 complete:function(){ 52 beatAnimate($(this).next(),options); 53 } 54 }) 55 } 56 }); 57 } 58 59 }) 60 } 61 function beatAnimate(el,options){ 62 if(options.isRotate){ 63 el.addClass("rotate"); 64 } 65 el.animate({ 66 bottom: options.beatHeight 67 }, { 68 queue: false, 69 duration: options.upTime, 70 easing: ‘easeOutCubic‘, 71 complete: function() { 72 el.removeClass("rotate"); 73 $(this).animate({ 74 bottom: 0 75 }, { 76 queue: false, 77 duration: options.downTime, 78 easing: ‘easeOutBounce‘, 79 complete:function(){ 80 if(options.isAuth){ 81 var len = el.parent().children().length; 82 var indexNum = el.index(); 83 if(indexNum == (len-1)){ 84 beatAnimate(el.parent().find(‘span.beat-char:first‘),options); 85 }else{ 86 beatAnimate(el.next(),options); 87 } 88 } 89 } 90 }) 91 } 92 }) 93 94 95 } 96 97 })(jQuery);
实例:
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 5 <title>自由跳动的字体</title> 6 <script src="http://www.jq22.com/jquery/jquery-1.10.2.js"></script> 7 <script type="text/javascript" src="jquery.beattext.js"></script> 8 <script type="text/javascript" src="easying.js"></script> 9 10 <script type="text/javascript"> 11 12 $(document).ready(function() { 13 /* 14 * 参数详解: 15 * upTime 上移的时间 16 * downTime 下落的时间 17 * beatHeight 上移高度 18 * isAuth 是否自动 19 * isRotate 是否旋转 20 */ 21 $(‘p#beatText‘).beatText({isAuth:false,isRotate:false}); 22 $(‘p#rotateText‘).beatText({isAuth:false,isRotate:true}); 23 $(‘p#autoText‘).beatText({isAuth:true,beatHeight:"3em",isRotate:false}); 24 $(‘p#roloadText‘).beatText({isAuth:true,beatHeight:"1em",isRotate:false,upTime:100,downTime:100}); 25 $(‘p#autoRotateText‘).beatText({isAuth:true,upTime:700,downTime:700,beatHeight:"3em",isRotate:true}); 26 27 }); 28 29 </script> 30 <style> 31 *{ 32 padding:0px; 33 margin:0px; 34 background:#333; 35 color:#fff; 36 font-size:30px; 37 } 38 39 .container{ 40 margin:50px auto; 41 width:1100px; 42 position:relative; 43 } 44 .container p{ 45 text-align:center; 46 padding:10px auto; 47 } 48 /*下面两个是核心样式*/ 49 .beat-char { 50 line-height: 3.4em; 51 position: relative; 52 display: inline-block; 53 background: transparent; 54 55 } 56 57 .rotate{ 58 transform:rotate(360deg) ; 59 -ms-transform:rotate(360deg); /* IE 9 */ 60 -moz-transform:rotate(360deg); /* Firefox */ 61 -webkit-transform:rotate(360deg); /* Safari 和 Chrome */ 62 -o-transform:rotate(360deg); 63 -webkit-transition-duration: 0.7s; 64 65 } 66 </style> 67 </head> 68 <body> 69 70 <div class="container"> 71 <p id="beatText">我可是会跳的哦,但看我跳,你要把鼠标移上来。</p> 72 <p id="rotateText">我是旋转字体的,你鼠标移上来看看</p> 73 <br> 74 <br> 75 <p id="autoText">看我跳是不收钱的,免费看,上面两基佬都是鼠标移才动真懒</p> 76 <p id="roloadText">正在加载中...</p> 77 <br> 78 <br> 79 <p id="autoRotateText">我是刷杂技的,边跳边翻跟头..............</p> 80 </div> 81 82 </body> 83 </html>
插件代码已上传到博客园文件。
原文地址:http://www.jq22.com/jquery-info16903
标签:rms cat mes name offer 时间 redis back web
原文地址:https://www.cnblogs.com/joyco773/p/9126862.html