热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:日期时间范围选择插件:daterangepicker使用总结

---恢复内容开始---分享说明:项目中要使用日期时间范围选择对数据进行筛选;精确到年月日时分秒;起初,使用了layui的时间日期

---恢复内容开始---

分享说明:

  项目中要使用日期时间范围选择对数据进行筛选;精确到年月日 时分秒;起初,使用了layui的时间日期选择插件;但是在IIE8第一次点击会报设置格式错误;研究了很久没解决,但能确定不是layui的问题;因为自己写的demo可以在IE8运行;只是在我的项目环境下某些代码冲突了;所以换用了bootstrap插件daterangepicker;看了很多资料;结合官网了文档;基本算是搞定了;把我的总结代码分享给大家;希望对使用daterangepicker插件的初学者有帮助.

  总结分为四个部分;日期范围选择实现,日期时间选择,使用两个单日历实现范围选择,使用div代替input实现日期时间选择;下面是代码

css 代码


html代码:

1
2 <div class="box">
3 <label for="datePicker">双日历label>
4 <input type="text" name="datePicker" class="datePicker" id="datePicker">
5 div>
6
7 <div class="box">
8 <label for="singledatePicker">单日历label>
9 <input type="text" name="singledatePicker" class="singledatePicker" id="singledatePicker">
10 div>
11
12 <div class="box">
13 <label for="from">label>
14 <input type="text" name="from" class="from" id="from">
15 <label for="to">label>
16 <input type="text" name="to" class="to" id="to">
17 div>
18
19 <div class="divDateSelect" id="divDateSelect">
20  <i class="glyphicon glyphicon-calendar fa fa-calendar">i>
21 <span>span> <b class="caret">b>
22 div>

js 代码;按照上下顺序对应html四部分

1 $(‘input[name="datePicker"]‘).daterangepicker({
2 timePicker: true, //显示时间
3 timePicker24Hour: true, //时间制
4 timePickerSeconds: true, //时间显示到秒
5 startDate: moment().hours(0).minutes(0).seconds(0), //设置开始日期
6 endDate: moment(new Date()), //设置结束器日期
7 maxDate: moment(new Date()), //设置最大日期
8 "opens": "center",
9 ranges: {
10 // ‘今天‘: [moment(), moment()],
11 ‘昨天‘: [moment().subtract(1, ‘days‘), moment().subtract(1, ‘days‘)],
12 ‘上周‘: [moment().subtract(6, ‘days‘), moment()],
13 ‘前30天‘: [moment().subtract(29, ‘days‘), moment()],
14 ‘本月‘: [moment().startOf(‘month‘), moment().endOf(‘month‘)],
15 ‘上月‘: [moment().subtract(1, ‘month‘).startOf(‘month‘), moment().subtract(1, ‘month‘).endOf(‘month‘)]
16 },
17 showWeekNumbers: true,
18 locale: {
19 format: "YYYY-MM-DD HH:mm:ss", //设置显示格式
20 applyLabel: ‘确定‘, //确定按钮文本
21 cancelLabel: ‘取消‘, //取消按钮文本
22 customRangeLabel: ‘自定义‘,
23 daysOfWeek: [‘日‘, ‘一‘, ‘二‘, ‘三‘, ‘四‘, ‘五‘, ‘六‘],
24 monthNames: [‘一月‘, ‘二月‘, ‘三月‘, ‘四月‘, ‘五月‘, ‘六月‘,
25 ‘七月‘, ‘八月‘, ‘九月‘, ‘十月‘, ‘十一月‘, ‘十二月‘
26 ],
27 firstDay: 1
28 },
29 }, function(start, end, label) {
30 timeRangeChange = [start.format(‘YYYY-MM-DD HH:mm:ss‘), end.format(‘YYYY-MM-DD HH:mm:ss‘)];
31 console.log(timeRangeChange);
32 });


1 $(‘input[name="singledatePicker"]‘).daterangepicker({
2 "autoApply": true, //选择日期后自动提交;只有在不显示时间的时候起作用timePicker:false
3 singleDatePicker: true, //单日历
4 showDropdowns: true, //年月份下拉框
5 timePicker: true, //显示时间
6 timePicker24Hour: true, //时间制
7 timePickerSeconds: true, //时间显示到秒
8 startDate: moment().hours(0).minutes(0).seconds(0), //设置开始日期
9 maxDate: moment(new Date()), //设置最大日期
10 "opens": "center",
11 showWeekNumbers: true,
12 locale: {
13 format: "YYYY-MM-DD HH:mm:ss", //设置显示格式
14 applyLabel: ‘确定‘, //确定按钮文本
15 cancelLabel: ‘取消‘, //取消按钮文本
16 daysOfWeek: [‘日‘, ‘一‘, ‘二‘, ‘三‘, ‘四‘, ‘五‘, ‘六‘],
17 monthNames: [‘一月‘, ‘二月‘, ‘三月‘, ‘四月‘, ‘五月‘, ‘六月‘,
18 ‘七月‘, ‘八月‘, ‘九月‘, ‘十月‘, ‘十一月‘, ‘十二月‘
19 ],
20 firstDay: 1
21 },
22 }, function(start) {
23 console.log(start.format(‘YYYY-MM-DD HH:mm:ss‘));
24 });


1 var minDate = null;
2 var max = null;
3 function fromDate(maxDate) {
4 if(!maxDate){
5 max = moment(new Date())
6 }else{
7 max = maxDate;
8 }
9 $(‘input[name="from"]‘).daterangepicker({
10 "autoApply": true, //选择日期后自动提交;只有在不显示时间的时候起作用timePicker:false
11 singleDatePicker: true, //单日历
12 showDropdowns: true, //年月份下拉框
13 timePicker: true, //显示时间
14 timePicker24Hour: true, //时间制
15 timePickerSeconds: true, //时间显示到秒
16 // startDate: moment().hours(0).minutes(0).seconds(0), //设置开始日期
17 maxDate: max , //设置最大日期
18 "opens": "center",
19 showWeekNumbers: true,
20 locale: {
21 format: "YYYY-MM-DD HH:mm:ss", //设置显示格式
22 applyLabel: ‘确定‘, //确定按钮文本
23 cancelLabel: ‘取消‘, //取消按钮文本
24 daysOfWeek: [‘日‘, ‘一‘, ‘二‘, ‘三‘, ‘四‘, ‘五‘, ‘六‘],
25 monthNames: [‘一月‘, ‘二月‘, ‘三月‘, ‘四月‘, ‘五月‘, ‘六月‘,
26 ‘七月‘, ‘八月‘, ‘九月‘, ‘十月‘, ‘十一月‘, ‘十二月‘
27 ],
28 firstDay: 1
29 },
30 }, function(s) {
31 toDate(s);
32 });
33 }
34 fromDate()
35 function toDate(minDate) {
36 $(‘input[name="to"]‘).daterangepicker({
37 "autoApply": true, //选择日期后自动提交;只有在不显示时间的时候起作用timePicker:false
38 singleDatePicker: true, //单日历
39 showDropdowns: true, //年月份下拉框
40 timePicker: true, //显示时间
41 timePicker24Hour: true, //时间制
42 timePickerSeconds: true, //时间显示到秒
43 // startDate: moment().hours(0).minutes(0).seconds(0), //设置开始日期
44 maxDate: moment(new Date()), //设置最大日期
45 minDate: minDate,
46 "opens": "center",
47 showWeekNumbers: true,
48 locale: {
49 format: "YYYY-MM-DD HH:mm:ss", //设置显示格式
50 applyLabel: ‘确定‘, //确定按钮文本
51 cancelLabel: ‘取消‘, //取消按钮文本
52 daysOfWeek: [‘日‘, ‘一‘, ‘二‘, ‘三‘, ‘四‘, ‘五‘, ‘六‘],
53 monthNames: [‘一月‘, ‘二月‘, ‘三月‘, ‘四月‘, ‘五月‘, ‘六月‘,
54 ‘七月‘, ‘八月‘, ‘九月‘, ‘十月‘, ‘十一月‘, ‘十二月‘
55 ],
56 firstDay: 1
57 },
58 }, function(s) {
59 fromDate(s)
60 });
61 }
62 toDate();


1 var start = moment(new Date());
2 function cb(start) {
3 $(‘#divDateSelect span‘).html(start.format(‘YYYY-MM-DD HH:mm:ss‘));
4 }
5 $(‘#divDateSelect‘).daterangepicker({
6 "autoApply": true, //选择日期后自动提交;只有在不显示时间的时候起作用timePicker:false
7 singleDatePicker: true, //单日历
8 showDropdowns: true, //年月份下拉框
9 // timePicker: true, //显示时间
10 timePicker24Hour: true, //时间制
11 timePickerSeconds: true, //时间显示到秒
12 startDate: moment().hours(0).minutes(0).seconds(0), //设置开始日期
13 maxDate: moment(new Date()), //设置最大日期
14 "opens": "center",
15 showWeekNumbers: true,
16 locale: {
17 format: "YYYY-MM-DD HH:mm:ss", //设置显示格式
18 applyLabel: ‘确定‘, //确定按钮文本
19 cancelLabel: ‘取消‘, //取消按钮文本
20 daysOfWeek: [‘日‘, ‘一‘, ‘二‘, ‘三‘, ‘四‘, ‘五‘, ‘六‘],
21 monthNames: [‘一月‘, ‘二月‘, ‘三月‘, ‘四月‘, ‘五月‘, ‘六月‘,
22 ‘七月‘, ‘八月‘, ‘九月‘, ‘十月‘, ‘十一月‘, ‘十二月‘
23 ],
24 firstDay: 1
25 },
26 }, cb);
27 cb(start);

效果图:

第一部分:

技术分享

第二部分:

技术分享

第三部分就是两个第二部分组实现第一部分的效果;原理为在确定好开始日期后;设置选择结束日期日历的最小选择日期;在结束日期选中后;设置开始日期的最大选择日期;

第四部分:

技术分享

  关键选项的含义已经在代码中注释了;引入文件css包括bootstrap的css文件;daterangepicker的css文件;js包括jquery的js;bootstrap的js;daterangepicker的js以及moment.js;

  备注:

  1 moment.js使用了数组的indexOf()方法;但IE8不支持;需要引入兼容代码;代码地址https://developer.mozilla.org/zh-CN/docs/Web/Javascript/Reference/Global_Objects/Array/indexOf  在polyfill下;

  2 在IE8下;双日历的范围选择出现连个日历竖直排列问题;解决方法为给存放两个日历的盒子设置固定的宽度,足以放下两个日历的div;再把两个日历的div设置float:left即可;

  3 官网地址;选项设置: http://www.daterangepicker.com/#options  例子: http://www.daterangepicker.com/#examples

  4 希望本文能够帮助初识daterangepicker的朋友.

 

---恢复内容结束---

分享说明:

  项目中要使用日期时间范围选择对数据进行筛选;精确到年月日 时分秒;起初,使用了layui的时间日期选择插件;但是在IIE8第一次点击会报设置格式错误;研究了很久没解决,但能确定不是layui的问题;因为自己写的demo可以在IE8运行;只是在我的项目环境下某些代码冲突了;所以换用了bootstrap插件daterangepicker;看了很多资料;结合官网了文档;基本算是搞定了;把我的总结代码分享给大家;希望对使用daterangepicker插件的初学者有帮助.

  总结分为四个部分;日期范围选择实现,日期时间选择,使用两个单日历实现范围选择,使用div代替input实现日期时间选择;下面是代码

css 代码


html代码:

1
2 <div class="box">
3 <label for="datePicker">双日历label>
4 <input type="text" name="datePicker" class="datePicker" id="datePicker">
5 div>
6
7 <div class="box">
8 <label for="singledatePicker">单日历label>
9 <input type="text" name="singledatePicker" class="singledatePicker" id="singledatePicker">
10 div>
11
12 <div class="box">
13 <label for="from">label>
14 <input type="text" name="from" class="from" id="from">
15 <label for="to">label>
16 <input type="text" name="to" class="to" id="to">
17 div>
18
19 <div class="divDateSelect" id="divDateSelect">
20  <i class="glyphicon glyphicon-calendar fa fa-calendar">i>
21 <span>span> <b class="caret">b>
22 div>

js 代码;按照上下顺序对应html四部分

1 $(‘input[name="datePicker"]‘).daterangepicker({
2 timePicker: true, //显示时间
3 timePicker24Hour: true, //时间制
4 timePickerSeconds: true, //时间显示到秒
5 startDate: moment().hours(0).minutes(0).seconds(0), //设置开始日期
6 endDate: moment(new Date()), //设置结束器日期
7 maxDate: moment(new Date()), //设置最大日期
8 "opens": "center",
9 ranges: {
10 // ‘今天‘: [moment(), moment()],
11 ‘昨天‘: [moment().subtract(1, ‘days‘), moment().subtract(1, ‘days‘)],
12 ‘上周‘: [moment().subtract(6, ‘days‘), moment()],
13 ‘前30天‘: [moment().subtract(29, ‘days‘), moment()],
14 ‘本月‘: [moment().startOf(‘month‘), moment().endOf(‘month‘)],
15 ‘上月‘: [moment().subtract(1, ‘month‘).startOf(‘month‘), moment().subtract(1, ‘month‘).endOf(‘month‘)]
16 },
17 showWeekNumbers: true,
18 locale: {
19 format: "YYYY-MM-DD HH:mm:ss", //设置显示格式
20 applyLabel: ‘确定‘, //确定按钮文本
21 cancelLabel: ‘取消‘, //取消按钮文本
22 customRangeLabel: ‘自定义‘,
23 daysOfWeek: [‘日‘, ‘一‘, ‘二‘, ‘三‘, ‘四‘, ‘五‘, ‘六‘],
24 monthNames: [‘一月‘, ‘二月‘, ‘三月‘, ‘四月‘, ‘五月‘, ‘六月‘,
25 ‘七月‘, ‘八月‘, ‘九月‘, ‘十月‘, ‘十一月‘, ‘十二月‘
26 ],
27 firstDay: 1
28 },
29 }, function(start, end, label) {
30 timeRangeChange = [start.format(‘YYYY-MM-DD HH:mm:ss‘), end.format(‘YYYY-MM-DD HH:mm:ss‘)];
31 console.log(timeRangeChange);
32 });


1 $(‘input[name="singledatePicker"]‘).daterangepicker({
2 "autoApply": true, //选择日期后自动提交;只有在不显示时间的时候起作用timePicker:false
3 singleDatePicker: true, //单日历
4 showDropdowns: true, //年月份下拉框
5 timePicker: true, //显示时间
6 timePicker24Hour: true, //时间制
7 timePickerSeconds: true, //时间显示到秒
8 startDate: moment().hours(0).minutes(0).seconds(0), //设置开始日期
9 maxDate: moment(new Date()), //设置最大日期
10 "opens": "center",
11 showWeekNumbers: true,
12 locale: {
13 format: "YYYY-MM-DD HH:mm:ss", //设置显示格式
14 applyLabel: ‘确定‘, //确定按钮文本
15 cancelLabel: ‘取消‘, //取消按钮文本
16 daysOfWeek: [‘日‘, ‘一‘, ‘二‘, ‘三‘, ‘四‘, ‘五‘, ‘六‘],
17 monthNames: [‘一月‘, ‘二月‘, ‘三月‘, ‘四月‘, ‘五月‘, ‘六月‘,
18 ‘七月‘, ‘八月‘, ‘九月‘, ‘十月‘, ‘十一月‘, ‘十二月‘
19 ],
20 firstDay: 1
21 },
22 }, function(start) {
23 console.log(start.format(‘YYYY-MM-DD HH:mm:ss‘));
24 });


1 var minDate = null;
2 var max = null;
3 function fromDate(maxDate) {
4 if(!maxDate){
5 max = moment(new Date())
6 }else{
7 max = maxDate;
8 }
9 $(‘input[name="from"]‘).daterangepicker({
10 "autoApply": true, //选择日期后自动提交;只有在不显示时间的时候起作用timePicker:false
11 singleDatePicker: true, //单日历
12 showDropdowns: true, //年月份下拉框
13 timePicker: true, //显示时间
14 timePicker24Hour: true, //时间制
15 timePickerSeconds: true, //时间显示到秒
16 // startDate: moment().hours(0).minutes(0).seconds(0), //设置开始日期
17 maxDate: max , //设置最大日期
18 "opens": "center",
19 showWeekNumbers: true,
20 locale: {
21 format: "YYYY-MM-DD HH:mm:ss", //设置显示格式
22 applyLabel: ‘确定‘, //确定按钮文本
23 cancelLabel: ‘取消‘, //取消按钮文本
24 daysOfWeek: [‘日‘, ‘一‘, ‘二‘, ‘三‘, ‘四‘, ‘五‘, ‘六‘],
25 monthNames: [‘一月‘, ‘二月‘, ‘三月‘, ‘四月‘, ‘五月‘, ‘六月‘,
26 ‘七月‘, ‘八月‘, ‘九月‘, ‘十月‘, ‘十一月‘, ‘十二月‘
27 ],
28 firstDay: 1
29 },
30 }, function(s) {
31 toDate(s);
32 });
33 }
34 fromDate()
35 function toDate(minDate) {
36 $(‘input[name="to"]‘).daterangepicker({
37 "autoApply": true, //选择日期后自动提交;只有在不显示时间的时候起作用timePicker:false
38 singleDatePicker: true, //单日历
39 showDropdowns: true, //年月份下拉框
40 timePicker: true, //显示时间
41 timePicker24Hour: true, //时间制
42 timePickerSeconds: true, //时间显示到秒
43 // startDate: moment().hours(0).minutes(0).seconds(0), //设置开始日期
44 maxDate: moment(new Date()), //设置最大日期
45 minDate: minDate,
46 "opens": "center",
47 showWeekNumbers: true,
48 locale: {
49 format: "YYYY-MM-DD HH:mm:ss", //设置显示格式
50 applyLabel: ‘确定‘, //确定按钮文本
51 cancelLabel: ‘取消‘, //取消按钮文本
52 daysOfWeek: [‘日‘, ‘一‘, ‘二‘, ‘三‘, ‘四‘, ‘五‘, ‘六‘],
53 monthNames: [‘一月‘, ‘二月‘, ‘三月‘, ‘四月‘, ‘五月‘, ‘六月‘,
54 ‘七月‘, ‘八月‘, ‘九月‘, ‘十月‘, ‘十一月‘, ‘十二月‘
55 ],
56 firstDay: 1
57 },
58 }, function(s) {
59 fromDate(s)
60 });
61 }
62 toDate();


1 var start = moment(new Date());
2 function cb(start) {
3 $(‘#divDateSelect span‘).html(start.format(‘YYYY-MM-DD HH:mm:ss‘));
4 }
5 $(‘#divDateSelect‘).daterangepicker({
6 "autoApply": true, //选择日期后自动提交;只有在不显示时间的时候起作用timePicker:false
7 singleDatePicker: true, //单日历
8 showDropdowns: true, //年月份下拉框
9 // timePicker: true, //显示时间
10 timePicker24Hour: true, //时间制
11 timePickerSeconds: true, //时间显示到秒
12 startDate: moment().hours(0).minutes(0).seconds(0), //设置开始日期
13 maxDate: moment(new Date()), //设置最大日期
14 "opens": "center",
15 showWeekNumbers: true,
16 locale: {
17 format: "YYYY-MM-DD HH:mm:ss", //设置显示格式
18 applyLabel: ‘确定‘, //确定按钮文本
19 cancelLabel: ‘取消‘, //取消按钮文本
20 daysOfWeek: [‘日‘, ‘一‘, ‘二‘, ‘三‘, ‘四‘, ‘五‘, ‘六‘],
21 monthNames: [‘一月‘, ‘二月‘, ‘三月‘, ‘四月‘, ‘五月‘, ‘六月‘,
22 ‘七月‘, ‘八月‘, ‘九月‘, ‘十月‘, ‘十一月‘, ‘十二月‘
23 ],
24 firstDay: 1
25 },
26 }, cb);
27 cb(start);

效果图:

第一部分:

技术分享

第二部分:

技术分享

第三部分就是两个第二部分组实现第一部分的效果;原理为在确定好开始日期后;设置选择结束日期日历的最小选择日期;在结束日期选中后;设置开始日期的最大选择日期;

第四部分:

技术分享

  关键选项的含义已经在代码中注释了;引入文件css包括bootstrap的css文件;daterangepicker的css文件;js包括jquery的js;bootstrap的js;daterangepicker的js以及moment.js;

  备注:

  1 moment.js使用了数组的indexOf()方法;但IE8不支持;需要引入兼容代码;代码地址https://developer.mozilla.org/zh-CN/docs/Web/Javascript/Reference/Global_Objects/Array/indexOf  在polyfill下;

  2 在IE8下;双日历的范围选择出现连个日历竖直排列问题;解决方法为给存放两个日历的盒子设置固定的宽度,足以放下两个日历的div;再把两个日历的div设置float:left即可;

  3 官网地址;选项设置: http://www.daterangepicker.com/#options  例子: http://www.daterangepicker.com/#examples

  4 希望本文能够帮助初识daterangepicker的朋友.如有错误,希望大家指出

 

推荐阅读
  • Ihavethefollowingonhtml我在html上有以下内容<html><head><scriptsrc..3003_Tes ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • Html5-Canvas实现简易的抽奖转盘效果
    本文介绍了如何使用Html5和Canvas标签来实现简易的抽奖转盘效果,同时使用了jQueryRotate.js旋转插件。文章中给出了主要的html和css代码,并展示了实现的基本效果。 ... [详细]
  • 深入理解CSS中的margin属性及其应用场景
    本文主要介绍了CSS中的margin属性及其应用场景,包括垂直外边距合并、padding的使用时机、行内替换元素与费替换元素的区别、margin的基线、盒子的物理大小、显示大小、逻辑大小等知识点。通过深入理解这些概念,读者可以更好地掌握margin的用法和原理。同时,文中提供了一些相关的文档和规范供读者参考。 ... [详细]
  • IjustinheritedsomewebpageswhichusesMooTools.IneverusedMooTools.NowIneedtoaddsomef ... [详细]
  • 本文介绍了前端人员必须知道的三个问题,即前端都做哪些事、前端都需要哪些技术,以及前端的发展阶段。初级阶段包括HTML、CSS、JavaScript和jQuery的基础知识。进阶阶段涵盖了面向对象编程、响应式设计、Ajax、HTML5等新兴技术。高级阶段包括架构基础、模块化开发、预编译和前沿规范等内容。此外,还介绍了一些后端服务,如Node.js。 ... [详细]
  • PDO MySQL
    PDOMySQL如果文章有成千上万篇,该怎样保存?数据保存有多种方式,比如单机文件、单机数据库(SQLite)、网络数据库(MySQL、MariaDB)等等。根据项目来选择,做We ... [详细]
  • 本文介绍了在iOS开发中使用UITextField实现字符限制的方法,包括利用代理方法和使用BNTextField-Limit库的实现策略。通过这些方法,开发者可以方便地限制UITextField的字符个数和输入规则。 ... [详细]
  • 纠正网上的错误:自定义一个类叫java.lang.System/String的方法
    本文纠正了网上关于自定义一个类叫java.lang.System/String的错误答案,并详细解释了为什么这种方法是错误的。作者指出,虽然双亲委托机制确实可以阻止自定义的System类被加载,但通过自定义一个特殊的类加载器,可以绕过双亲委托机制,达到自定义System类的目的。作者呼吁读者对网上的内容持怀疑态度,并带着问题来阅读文章。 ... [详细]
  • EzPP 0.2发布,新增YAML布局渲染功能
    EzPP发布了0.2.1版本,新增了YAML布局渲染功能,可以将YAML文件渲染为图片,并且可以复用YAML作为模版,通过传递不同参数生成不同的图片。这个功能可以用于绘制Logo、封面或其他图片,让用户不需要安装或卸载Photoshop。文章还提供了一个入门例子,介绍了使用ezpp的基本渲染方法,以及如何使用canvas、text类元素、自定义字体等。 ... [详细]
  • HTML5网页模板怎么加百度统计?
    本文介绍了如何在HTML5网页模板中加入百度统计,并对模板文件、css样式表、js插件库等内容进行了说明。同时还解答了关于HTML5网页模板的使用方法、表单提交、域名和空间的问题,并介绍了如何使用Visual Studio 2010创建HTML5模板。此外,还提到了使用Jquery编写美好的HTML5前端框架模板的方法,以及制作企业HTML5网站模板和支持HTML5的CMS。 ... [详细]
  • Android实战——jsoup实现网络爬虫,糗事百科项目的起步
    本文介绍了Android实战中使用jsoup实现网络爬虫的方法,以糗事百科项目为例。对于初学者来说,数据源的缺乏是做项目的最大烦恼之一。本文讲述了如何使用网络爬虫获取数据,并以糗事百科作为练手项目。同时,提到了使用jsoup需要结合前端基础知识,以及如果学过JS的话可以更轻松地使用该框架。 ... [详细]
  • 从零基础到精通的前台学习路线
    随着互联网的发展,前台开发工程师成为市场上非常抢手的人才。本文介绍了从零基础到精通前台开发的学习路线,包括学习HTML、CSS、JavaScript等基础知识和常用工具的使用。通过循序渐进的学习,可以掌握前台开发的基本技能,并有能力找到一份月薪8000以上的工作。 ... [详细]
  • Node.js学习笔记(一)package.json及cnpm
    本文介绍了Node.js中包的概念,以及如何使用包来统一管理具有相互依赖关系的模块。同时还介绍了NPM(Node Package Manager)的基本介绍和使用方法,以及如何通过NPM下载第三方模块。 ... [详细]
  • 本文讨论了使用bootstrapselect插件设置container后,选择完选项后options不隐藏的问题,给出了解决方法,并提供了相应的jsfiddle链接进行演示。 ... [详细]
author-avatar
ycy1873187
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有