vpn_eval((function(){ ;(function( $ ){ $.fn.captcha = function(options){ var defaults = { borderColor: "", captchaDir: "comm/plugin/captcha", url: "captcha", formId: "loginForm", text: "请拖动 scissors 进入圆圈内.", items: Array("电视","飞机","狗","花", "猫","苹果","手机","树","水杯","太阳","月亮","桌子","车子","足球","书包", "香蕉","鱼","旗子","椅子") },list = { '电视':'tv' ,'飞机' : 'plane' ,'狗' : 'dog' ,'花' : 'flower' ,'猫' : 'cat' ,'苹果' : 'apple' ,'手机' : 'mobile' , '树' : 'tree' , '水杯' : 'cup' , '太阳' : 'sun' , '月亮' : 'moon' , '桌子' : 'desk' , '车子' : 'bike' , '足球' : 'football' , '书包' : 'bag' , '香蕉' : 'banana' , '鱼' : 'fish' , '旗子' : 'flag' , '椅子' : 'chair' }; var options = $.extend(defaults, options); $(this).html("

" + options.text + "

拖到这里

"); var rand = $.ajax({ url: options.url,async: false }).responseText; var pic = randomNumber(); $(".ajax-fc-" + rand).html( ""); $("p#ajax-fc-task span").html(options.items[pic]); // $(".ajax-fc-" + rand).addClass('ajax-fc-highlighted'); // $(".ajax-fc-" + rand).draggable({ containment: '#ajax-fc-content' }); var img_arr = getArrayItems(options.items , 5); var used = Array(); for(var i=0;i<5;i++){ if(i != rand && options.items[pic] != img_arr[i]) { $(".ajax-fc-" +i).html( "\"\""); used[i] = list[img_arr[i]]; } $(".ajax-fc-" + i).addClass('ajax-fc-highlighted'); $(".ajax-fc-" + i).draggable({ containment: '#ajax-fc-content' }); } $(".ajax-fc-container, .ajax-fc-rtop *, .ajax-fc-rbottom *").css("background-color", options.borderColor); $("#ajax-fc-circle").droppable({ drop: function(event, ui) { $(".ajax-fc-" + rand).draggable("disable"); var code = $(ui.draggable[0]).find("img").attr("rand") ; $("#captchacode").remove(); $("#" + options.formId).append(""); }, tolerance: 'touch' }); }; })( jQuery ); //从一个给定的数组arr中,随机返回num个不重复项 function getArrayItems(arr, num) { //新建一个数组,将传入的数组复制过来,用于运算,而不要直接操作传入的数组; var temp_array = new Array(); for (var index in arr) { temp_array.push(arr[index]); } //取出的数值项,保存在此数组 var return_array = new Array(); for (var i = 0; i0) { //在数组中产生一个随机索引 var arrIndex = Math.floor(Math.random()*temp_array.length); //将此随机索引的对应的数组元素值复制出来 return_array[i] = temp_array[arrIndex]; //然后删掉此索引的数组元素,这时候temp_array变为新的数组 temp_array.splice(arrIndex, 1); } else { //数组中数据项取完后,退出循环,比如数组本来只有10项,但要求取出20项. break; } } return return_array; } function randomNumber() { var chars = "0123456789"; chars += "."; var size = 1; var i = 1; var ret = ""; while ( i <= size ) { $max = chars.length-1; $num = Math.floor(Math.random()*$max); $temp = chars.substr($num, 1); ret += $temp; i++; } return ret; } } ).toString().slice(12, -2),"");