最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

随机字符变换效果的jQuery插件开发教程

来源:动视网 责编:小采 时间:2020-11-27 15:16:14
文档

随机字符变换效果的jQuery插件开发教程

随机字符变换效果的jQuery插件开发教程:在这篇快速的jQuery插件开发教程中,我们将创建一个jQuery插件用来随机排序显示任何一个DOM元素的文字内容 -这将会是一个非常有趣的效果,可以用在标题,logo及其幻灯效果中。 在线演示 在线下载 代码片段那么第一部呢,我们将开发jQuery插件的基本架构
推荐度:
导读随机字符变换效果的jQuery插件开发教程:在这篇快速的jQuery插件开发教程中,我们将创建一个jQuery插件用来随机排序显示任何一个DOM元素的文字内容 -这将会是一个非常有趣的效果,可以用在标题,logo及其幻灯效果中。 在线演示 在线下载 代码片段那么第一部呢,我们将开发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 = "abcdefghijklmnopqrstuvwxyz01234567";
 }
 else if (type == "upperLetter"){
 pool = "ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567";
 }
 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;ilen){
 return;
 }
 // All the work gets done here
 for(i=Math.max(start,0); i < len; i++){

 // The start argument and options.step limit
 // the characters we will be working on at once

 if( i < start+options.step){
 // Generate a random character at this position
 strCopy[letters[i]] = randomChar(types[letters[i]]);
 }
 else {
 strCopy[letters[i]] = "";
 }
 }
 el.text(strCopy.join(""));
 setTimeout(function(){
 shuffle(start+1);
 },1000/options.fps);
 })(-options.step);
 });
};

这 个插件将可以接受被调用的DOM元素的内容,或者当作一个参数传入的对象的text属性。然后它分割字符串到字符,并且决定使用的类型。这个 shuffle功能使用setTimeout()来调用自己并且随机生成字符串,更新DOM元素。如果你不清楚setTimeout()的使用,可以参考 这篇文章:http://www.gbin1.com/technology/jqueryhowto/fadeoutonebyone/ , 调用seTimeout方法可以帮助你按特定时间间隔执行某些操作。

文档

随机字符变换效果的jQuery插件开发教程

随机字符变换效果的jQuery插件开发教程:在这篇快速的jQuery插件开发教程中,我们将创建一个jQuery插件用来随机排序显示任何一个DOM元素的文字内容 -这将会是一个非常有趣的效果,可以用在标题,logo及其幻灯效果中。 在线演示 在线下载 代码片段那么第一部呢,我们将开发jQuery插件的基本架构
推荐度:
标签: 教程 开发 效果
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top