常用插件

1、 带搜索框的下拉框插件Bootstrap-select

<link rel="stylesheet" href="bootstrap-3.3.4.css">
<link rel="stylesheet" href="bootstrap-select.css">
<script src="jquery.min.js"></script>
<script src="bootstrap-3.3.4.js"></script>
<script src="bootstrap-select.js"></script>

<form class="form-inline">
    <div class="form-group">
       <label class="col-md-1 control-label" for="lunch">Lunch:</label>
    </div>
    <div class="form-group">
       <select id="lunch" class="selectpicker" data-live-search="true" title="">
          <option>Hot Dog, Fries and a Soda</option>
          <option>Burger, Shake and a Smile</option>
          <option>Sugar, Spice and all things nice</option>
          <option>Baby Back Ribs</option>
          <option>A really really long option made to illustrate an issue with the live search in an inline form</option>
       </select>
    </div>
</form>

2、表单验证插件validate

<form action="" id="demoForm">
    <fieldset>
	<legend>用户登录</legend>
	<p id="info"></p>
	<p>
	    <label for="username">用户名</label>
	    <input type="text" id="username" name="username" class="input">
	</p>
        <p>
	    <label for="password">密码</label>
	    <input type="password" id="password" name="password" class="input">
	</p>
	<p>
	    <label for="confirmPassword">确认密码</label>
	    <input type="password" id="confirmPassword" name="confirmPassword" class="input">
	</p>
	<p>
	     <button>检查表单</button>
	</p>
	<p>
	     <input type="submit" value="登录" id="check">
	</p>
    </fieldset>
</form>

<script type="text/javascript" src="js/jquery-3.3.1.min.js"></script>
<script type="text/javascript" src="js/jquery.validate.min.js"></script>
<script type="text/javascript" src="js/messages_zh.js"></script>

<script type="text/javascript">
$(function(){

/*
   基本验证方法
   required  必填       remote     远程校验
   minlength 最小长度   maxlength  最大长度     rangelength  长度范围
   min       最小值     max        最大值       range        值范围
   email     email格式  url        URL格式      date         日期
   number    数字       digits     整数         equalTo      与另一元素值相等
   
   :blank 	  选择所有值为空的元素
   :filled 	  选择所有值不为空的元素
   :unchecked 选择所有没有被选中的元素

*/
	$('#demoForm').validate({
		rules:{
			username:{
				required:true,
				minlength:2,
				maxlength:19,
			//  remote:'remote.json'   
			//  remote:{
			//  	url:'remote.json',
			//  	type:'post',
			//  	data:{
			//  		loginTime:function(){
			//  			return +new Date;
			//  		}
			//  	}
			//  }
				rangelength:[2,19],
			//  email:true,
			//  url:true,
			//  date:true,
			//  
			},
			password:{
				required:true,
				minlength:2,
				maxlength:16,
			},
			confirmPassword:{
				equalTo:'#password',
			}
		},
		messages:{
			username:{
				// required:'请输入用户名',
				minlength:'最少输入两位',
				maxlength:'最多输入十位',
				rangelength:'在2-19位之间',
			},
			password:{
				// required:'请输入密码',
				minlength:'最少输入两位',
				maxlength:'最多输入十六位',
			},
			confirmPassword:{
				equalTo:'',
			}
		},

		// debug: true,     // 为true表示表单不会提交,只进行检查
		// groups:{
		// 	login:'username password confirmPassword'
		// },
		// errorPlacement:function(error,element){
		// 	error.insertBefore('#info')
		// }

	});



// 自定义验证方法
	$.validator.addMethod('postcode',function(value,element){
		var postcode=/^[0-9]{6}$/;
		return this.optional(element) || (postcode.test(value));
	},'请填写正确的邮编!');


// valid方法:检查表单或某些元素是否有效
	$('#check').click(function(){
		alert($('#demoForm').valid()?'填写正确':'填写错误')
	})
})
</script>

3、 日期插件bootstrap-datetimepicker

<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/bootstrap-datetimepicker.min.css" rel="stylesheet">
<script type="text/javascript" src="js/jquery-3.3.1.min.js"></script>
<script type="text/javascript" src="js/bootstrap.min.js"></script>
<script type="text/javascript" src="js/bootstrap-datetimepicker.min.js"></script>
<script type="text/javascript" src="js/bootstrap-datetimepicker.zh-CN.js"></script>

<form action="" class="form-horizontal">
    <fieldset>
        <legend>Test</legend>
	<div class="control-group">
            <label class="control-label">Date Picking</label>
            <div class="controls input-append date form_date" data-date="" data-link-field="dtp_input2" >
                <input size="16" type="text" value="" readonly>
                <span class="add-on"><i class="icon-remove"></i></span>
		<span class="add-on"><i class="icon-th"></i></span>
            </div>
	    <input type="hidden" id="dtp_input2" value="" /><br/>
        </div>
    </fieldset>
</form>

<script type="text/javascript">
    $('.form_date').datetimepicker({
        language: 'zh-CN',     // 显示中文
        format: 'yyyy-mm-dd',  // 显示格式  yyyy-mm-dd HH:mm:ss
        weekStart: 1,          // 一周从哪一天开始,即表头上是从周几开始排,0表示周日开始,1表示周一开始
        todayBtn:  1,          // 显示今日按钮,1:true,0:false
	autoclose: 1,          // 选择日期后自动关闭
	todayHighlight: 1,     // 高亮当前日期
	startView: 2,          // 日期时间选择器打开之后首先显示的视图,0:选择秒,1:选择小时,2:选择几号,3:选择几月,4:选择哪年
	minView: 2,            // 日期时间选择器所能够提供的最精确的时间选择视图
        maxView: 4,            // 日期时间选择器最高能展示的选择范围视图
        keyboardNavigation: 1, // 是否允许通过方向键改变日期
    });
</script>

 4、上传插件 WebUploader

<link rel="stylesheet" type="text/css" href="bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="webuploader.css">
<script type="text/javascript" src="jquery-3.3.1.min.js"></script>
<script type="text/javascript" src="bootstrap.min.js"></script>
<script type="text/javascript" src="webuploader.min.js"></script>

<div id="uploader-demo">  
   <!--用来存放文件信息-->  
    <div id="thelist" class="uploader-list"></div>  
    <div class="btns">  
	 <div id="filePicker">选择图片</div>  
	 <button id="ctlBtn" class="btn btn-default">开始上传</button>  
    </div>  
</div>  

<script type="text/javascript">  
$(function(){  
   /*init webuploader*/  
   var $list=$("#thelist");   //这几个初始化全局的百度文档上没说明  
   var $btn =$("#ctlBtn");   //开始上传  
   var thumbnailWidth = 100;   //缩略图高度和宽度 (单位是像素),当宽高度是0~1的时候,是按照百分比计算,具体可以看api文档  
   var thumbnailHeight = 100;  
  
   var uploader = WebUploader.create({  
       // 选完文件后,是否自动上传。  
       auto: false,  
  
       // swf文件路径  
       swf: 'Uploader.swf',  
  
       // 文件接收服务端。  
       server: '/apm-web/a/test/',  
  
       // 选择文件的按钮。可选。  
       // 内部根据当前运行是创建,可能是input元素,也可能是flash.  
       pick: '#filePicker',  
  
       // 只允许选择图片文件。  
       accept: {  
           title: 'Images',  
           extensions: 'gif,jpg,jpeg,bmp,png',  
           mimeTypes: 'image/*'  
       },  
       method:'POST',  
   });  
   // 当有文件添加进来的时候  
   uploader.on( 'fileQueued', function( file ) {  // webuploader事件.当选择文件后,文件被加载到文件队列中,触发该事件。等效于 uploader.onFileueued = function(file){...} ,类似js的事件定义。  
       var $li = $(  
               '<div id="' + file.id + '" class="file-item thumbnail">' +  
                   '<img>' +  
                   '<div class="info">' + file.name + '</div>' +  
               '</div>'  
               ),  
           $img = $li.find('img');  
  
  
       // $list为容器jQuery实例  
       $list.append( $li );  
  
       // 创建缩略图  
       // 如果为非图片文件,可以不用调用此方法。  
       // thumbnailWidth x thumbnailHeight 为 100 x 100  
       uploader.makeThumb( file, function( error, src ) {   //webuploader方法  
           if ( error ) {  
               $img.replaceWith('<span>不能预览</span>');  
               return;  
           }  
  
           $img.attr( 'src', src );  
       }, thumbnailWidth, thumbnailHeight );  
   });  
   // 文件上传过程中创建进度条实时显示。  
   uploader.on( 'uploadProgress', function( file, percentage ) {  
       var $li = $( '#'+file.id ),  
           $percent = $li.find('.progress span');  
  
       // 避免重复创建  
       if ( !$percent.length ) {  
           $percent = $('<p class="progress"><span></span></p>')  
                   .appendTo( $li )  
                   .find('span');  
       }  
  
       $percent.css( 'width', percentage * 100 + '%' );  
   });  
  
   // 文件上传成功,给item添加成功class, 用样式标记上传成功。  
   uploader.on( 'uploadSuccess', function( file ) {  
       $( '#'+file.id ).addClass('upload-state-done');  
   });  
  
   // 文件上传失败,显示上传出错。  
   uploader.on( 'uploadError', function( file ) {  
       var $li = $( '#'+file.id ),  
           $error = $li.find('div.error');  
  
       // 避免重复创建  
       if ( !$error.length ) {  
           $error = $('<div class="error"></div>').appendTo( $li );  
       }  
  
       $error.text('上传失败');  
   });  
  
   // 完成上传完了,成功或者失败,先删除进度条。  
   uploader.on( 'uploadComplete', function( file ) {  
       $( '#'+file.id ).find('.progress').remove();  
   });  
      $btn.on( 'click', function() {  
        console.log("上传...");  
        uploader.upload();  
        console.log("上传成功");  
      });  
  });  
 </script>

5、 滚动条插件jquery.nicescroll

<style>
     #content1,#content2,#content3{
        width: 200px;
        height: 500px;
        border: 1px solid #ddd;
        overflow: auto;
        padding: 10px;
     }
     #inner{
        width: 500px;
        height: 300px;
     }
</style>
<div id="content1">
    <p>这是填充字1填充字1</p>
    <p>这是填充字1填充字1</p>
    <p>这是填充字1填充字1</p>
    <p>这是填充字1填充字1</p>
    <p>这是填充字1填充字1</p>
    <p>这是填充字1填充字1</p>
    <p>这是填充字1填充字1</p>
    <p>这是填充字1填充字1</p>
    <p>这是填充字1填充字1</p>
    <p>这是填充字1填充字1</p>
    <p>这是填充字1填充字1</p>
    <p>这是填充字1填充字1</p>
    <p>这是填充字1填充字1</p>
    <p>这是填充字1填充字1</p>
    <p>这是填充字1填充字1</p>
    <p>这是填充字1填充字1</p>
    <p>这是填充字1填充字1</p>
    <p>这是填充字1填充字1</p>
    <p>这是填充字1填充字1</p>
    <p>这是填充字1填充字1</p>
    <p>这是填充字1填充字1</p>
</div>
<div id="content2">
    <p>这是填充字2填充字2</p>
    <p>这是填充字2填充字2</p>
    <p>这是填充字2填充字2</p>
    <p>这是填充字2填充字2</p>
    <p>这是填充字2填充字2</p>
    <p>这是填充字2填充字2</p>
    <p>这是填充字2填充字2</p>
    <p>这是填充字2填充字2</p>
    <p>这是填充字2填充字2</p>
    <p>这是填充字2填充字2</p>
    <p>这是填充字2填充字2</p>
    <p>这是填充字2填充字2</p>
    <p>这是填充字2填充字2</p>
    <p>这是填充字2填充字2</p>
    <p>这是填充字2填充字2</p>
    <p>这是填充字2填充字2</p>
    <p>这是填充字2填充字2</p>
    <p>这是填充字2填充字2</p>
    <p>这是填充字2填充字2</p>
    <p>这是填充字2填充字2</p>
    <p>这是填充字2填充字2</p>
</div>
<!-- 水平滚动 -->
<div id="content3">
    <div id="inner">
        <p>这是填充字3填充字3这是填充字3填充字3这是填充字3填充字3这是填充字3填充字3</p>
        <p>这是填充字3填充字3这是填充字3填充字3这是填充字3填充字3这是填充字3填充字3</p>
        <p>这是填充字3填充字3这是填充字3填充字3这是填充字3填充字3这是填充字3填充字3</p>
        <p>这是填充字3填充字3这是填充字3填充字3这是填充字3填充字3这是填充字3填充字3</p>
        <p>这是填充字3填充字3这是填充字3填充字3这是填充字3填充字3这是填充字3填充字3</p>
    </div>
</div>

<script src="js/jquery-3.3.1.min.js"></script>
<script src="js/jquery.nicescroll.min.js"></script>
<script>
    $('#content1').niceScroll({
        cursorcolor: "#424242",//滚动条的颜色
        background: "", // 轨道的背景颜色
        cursoropacitymin: 0, // 当滚动条是隐藏状态时改变透明度, 值范围 1 到 0
        cursoropacitymax: 1, // 当滚动条是显示状态时改变透明度, 值范围 1 到 0
        cursorwidth: "5px", //滚动条的宽度
        cursorminheight: 32, // 设置滚动条的最小高度 (像素)
        railpadding: { top:0, right:0, left:0, bottom:0 },//滚动条的位置
        cursorborder: "1px solid #fff", // 游标边框css定义
        cursorborderradius: "5px",//以像素为光标边界半径 圆角
        zindex:"auto",//给滚动条设置z-index值
    });
    $('#content2').niceScroll({
        cursorcolor: "#424242",//滚动条的颜色
        background: "", // 轨道的背景颜色
        cursoropacitymin: 0, // 当滚动条是隐藏状态时改变透明度, 值范围 1 到 0
        cursoropacitymax: 1, // 当滚动条是显示状态时改变透明度, 值范围 1 到 0
        cursorwidth: "5px", //滚动条的宽度
        cursorminheight: 32, // 设置滚动条的最小高度 (像素)
        railpadding: { top:0, right:0, left:0, bottom:0 },//滚动条的位置
        cursorborder: "1px solid #fff", // 游标边框css定义
        cursorborderradius: "5px",//以像素为光标边界半径 圆角
        zindex:"auto",//给滚动条设置z-index值
    });
    $('#content3').niceScroll({
        cursorcolor: "#424242", //滚动条的颜色
        background: "", // 轨道的背景颜色
        cursoropacitymin: 0, // 当滚动条是隐藏状态时改变透明度, 值范围 1 到 0
        cursoropacitymax: 1, // 当滚动条是显示状态时改变透明度, 值范围 1 到 0
        cursorwidth: "5px", //滚动条的宽度
        cursorminheight: 32, // 设置滚动条的最小高度 (像素)
        railpadding: { top:0, right:0, left:0, bottom:0 },//滚动条的位置
        cursorborder: "1px solid #fff", // 游标边框css定义
        cursorborderradius: "5px", //以像素为光标边界半径 圆角
        zindex:"auto", //给滚动条设置z-index值
        enablemousewheel: true, // nicescroll可以管理鼠标滚轮事件
        enablekeyboard: true, // nicescroll可以管理键盘事件
        oneaxismousemode: "auto", //当只有水平滚动时可以用鼠标滚轮来滚动,如果设为false则不支持水平滚动,如果设为auto支持双轴滚动
        // scrollspeed: 60, // 滚动速度
        // mousescrollstep: 40, // 鼠标滚轮的滚动速度 (像素)
        // touchbehavior: false, // 激活拖拽滚动
        // boxzoom: false, // 激活放大box的内容
        // dblclickzoom: true, // (仅当 boxzoom=true时有效)双击box时放大
        // gesturezoom: true, // (仅 boxzoom=true 和触屏设备时有效) 激活变焦当out/in(两个手指外张或收缩)
        // grabcursorenabled: true // (仅当 touchbehavior=true) 显示“抓住”图标display "grab" icon
        // autohidemode: true, // 隐藏滚动条的方式, 可用的值: true 无滚动时隐藏, "cursor" 隐藏 false 不隐藏, "leave" 仅在指针离开内容时隐藏, "hidden" 一直隐藏, "scroll" 仅在滚动时显示 // iframeautoresize: true, // 在加载事件时自动重置iframe大小
        // preservenativescrolling: true, // 你可以用鼠标滚动可滚动区域的滚动条和增加鼠标滚轮事件
        // railoffset: false, // 可以使用top/left来修正位置
        // bouncescroll: false, // (only hw accell) 启用滚动跳跃的内容移动
        // spacebarenabled: true, // 当按下空格时使页面向下滚动
        // disableoutline: true, // 当选中一个使用nicescroll的div时,chrome浏览器中禁用outline
        // horizrailenabled: true, // nicescroll可以管理水平滚动
        // railalign: right, // 对齐垂直轨道
        // railvalign: bottom, // 对齐水平轨道
        // enabletranslate3d: true, // nicescroll 可以使用CSS变型来滚动内容
        // smoothscroll: true, // ease动画滚动
        // sensitiverail: true, // 单击轨道产生滚动
        // enablemouselockapi: true, // 可以用鼠标锁定API标题 (类似对象拖动)
        // cursorfixedheight: false, // 修正光标的高度(像素)
        // hidecursordelay: 400, // 设置滚动条淡出的延迟时间(毫秒)
        // directionlockdeadzone: 6, // 设定死区,为激活方向锁定(像素)
        // nativeparentscrolling: true, // 检测内容底部便于让父级滚动
        // enablescrollonselection: true, // 当选择文本时激活内容自动滚动
        // cursordragspeed: 0.3, // 设置拖拽的速度
        // rtlmode: "auto", // DIV的水平滚动从左边开始
        // cursordragontouch: false, // 使用触屏模式来实现拖拽
        // scriptpath: "" // 为boxmode图片自定义路径 ("" => same script path)
        // preventmultitouchscrolling: true // 防止多触点事件引发滚动
    });
// 注意:不显示滚动条的原因和解决方法
// 原因一:需要滚动条的标签使用了绝对布局(position:absolute),而且z-index>0。
// 解决办法:niceScroll({zindex:200});这里设置zindex的值要比标签的z-index大。
// 原因二:需要滚动条的标签使用了ajax填充数据。
// 解决办法:将$(selector).niceScroll()放在ajax返回成功的函数里,即在ajax完成时填充数据完成后,在给标签绑定滚动条。
</script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值