dropdown.min.js 2.6 KB

1
  1. var Dropdown=(function(){var finishArr=[];function $getId(id){return $("#"+id)}function $getClass(dom){return $('.'+dom)}function $appendHtml(config){var arr=config.dataArr,type=config.type,title=config.title,bodyDom=$('body'),arrLen=arr.length;var html='';html+="<div class='dropdwon display_none'>";html+="<div class='down_cont'>";html+=" <div class='title'>";html+=" <span class='cacel' id='cacel'>取消</span>";html+=" <span class='name' id='titleName'>"+title+"</span>";html+=" <span class='finsih' id='finsih' data-type='"+type+"'>完成</span>";html+=" </div>";html+=" <div class='content'>";if(arr){var arrLess=arrLen%3;for(var i=0;i<arrLen;i++){html+=" <span class='tag "+type+"' data-id='"+arr[i].id+"'>"+arr[i].cont+"</span>"}if(arrLess!=0){for(var i=0;i<(3-arrLess);i++){html+=" <span class='ta' style='visibility: hidden;'></span>"}}}else{html+="请传入数据!!"}html+=" </div>";html+="</div>";html+="<div class='other_box'>";html+="</div>";html+="</div>";bodyDom.append(html);$initActiveClass()}function $dropdwonShow(bool){var drop=$getClass('dropdwon');return bool?drop.show(0):drop.remove(0)}function $initActiveClass(){$('.content .tag').each(function(){var $this=$(this);var $data_id=$this.attr('data-id');for(var i=0;i<finishArr.length;i++){if(finishArr[i].id==$data_id){$this.addClass('active')}}})}$('body').on('click','#cacel',function(){$dropdwonShow(false)});$('body').on('click','.other_box',function(){$dropdwonShow(false)});$('body').on('click','.dropdwon .single',function(){var $this=$(this);$this.addClass('active').siblings().removeClass('active')});$('body').on('click','.dropdwon .multiple',function(){var $this=$(this);return $this.hasClass('active')?$this.removeClass('active'):$this.addClass('active')});function $tipFun(str){var strDom=$getClass('tool_tip');strDom.html(str);strDom.fadeIn(0);setTimeout(function(){strDom.fadeOut(200)},1500)}function domClick(config){var dom=config.dom;this.success=config.success;this.type=config.type;this.required=config.required;this.requiredTip=config.requiredTip;this.initResp();$getId(dom).on('click',function(){$appendHtml(config);$dropdwonShow(true)})}domClick.prototype={initResp:function(){var $this=this;var $required=this.required;var $requiredTip=this.requiredTip;$('body').on('click','#finsih',function(config){finishArr=[];var $type=$(this).attr('data-type');$('body .content .'+$type).each(function(){var $tag=$(this);if($tag.hasClass('active')){finishArr.push({id:$tag.attr('data-id'),cont:$tag.html()})}});$this.success(finishArr);if($required){if(finishArr.length>0){$dropdwonShow(false)}else{$tipFun($requiredTip)}}else{$dropdwonShow(false)}})}};return domClick})()