- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
随机字符变换效果的jQuery插件开发教程
随机字符变换效果的jQuery插件开发教程
在这篇快速的jQuery插件开发教程中,我们将创建一个jQuery插件用来随机排序显示任何一个DOM元素的文字内容 -这将会是一个非常有趣的效果,可以用在标题,logo及其幻灯效果中。
?
在线演示?????? 在线下载
?
代码片段
那么第一部呢,我们将开发jQuery插件的基本架构。我们将把代码放入一个自运行的方法中,并且扩展$.fn.
assets/js/jquery.shuffleLetters.js
(function($){
?? ?$.fn.shuffleLetters = function(prop){
?? ??? ?// Handling default arguments
?? ??? ?var options = $.extend({
?? ??? ??? ?// Default arguments
?? ??? ?},prop)
?? ??? ?return this.each(function(){
?? ??? ??? ?// The main plugin code goes here
?? ??? ?});
?? ?};
?? ?// A helper function
?? ?function randomChar(type){
?? ??? ?// Generate and return a random character
?? ?}
})(jQuery);
下一步我们将关注与randomChar()方法。它将会接受一个类型参数(Lowerletter, upperletter或者symbol),并且返回一个随机字符。
function randomChar(type){
?? ?var pool = ;
?? ?if (type == lowerLetter){
?? ??? ?pool = abcdefghijklmnopqrstuvwxyz0123456789;
?? ?}
?? ?else if (type == upperLetter){
?? ??? ?pool = ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789;
?? ?}
?? ?else if (type == symbol){
?? ??? ?pool = ,.?/\\(^)![]{}*^%$#\;
?? ?}
?? ?var arr = pool.split();
?? ?return arr[Math.floor(Math.random()*arr.length)];
}
我们本应该使用一个简单的字符池来保存所有的字符,但是这样会有更好效果。
现在我们来书写插件的body部分:
$.fn.shuffleLetters = function(prop){
?? ?var options = $.extend({
?? ??? ?step?? ?: 8,?? ?// How many times should the letters be changed
?? ??? ?fps?? ?: 25,?? ?// Frames Per Second
?? ??? ?text?? ?: ?? ?// Use this text instead of the contents
?? ?},prop)
?? ?return this.each(function(){
?? ??? ?var el = $(this),
?? ??? ??? ?str = ;
?? ??? ?if(options.text) {
?? ??? ??? ?str = options.text.split();
?? ??? ?}
?? ??? ?else {
?? ??? ??? ?str = el.text().split();
?? ??? ?}
?? ??? ?// The types array holds the type for each character;
?? ??? ?// Letters holds the positions of non-space characters;
?? ??? ?var types = [],
?? ??? ??? ?letters = [];
?? ??? ?// Looping through all the chars of the string
?? ??? ?for(var i=0;istr.length;i++){
?? ??? ??? ?var ch = str[i];
?? ??? ??? ?if(ch == ){
?? ??? ??? ??? ?types[i] = space;
?? ??? ?
文档评论(0)