您好,登錄后才能下訂單哦!
本文介紹了JavaScript 實現同時選取多個時間段的方法,分享給大家,具體如下:
<template> <div> <ul> <li v-for="(item,index) in timeLine.idList" :key="index" iselected="0" @mousemove="item.id != undefined ? move_li($event) : ''" @mousedown="item.id != undefined ? down_li() : ''" @mouseup="item.id != undefined ? up_li() : ''" :id="item.id != undefined ? item.id : ''" > <div :id="item.id != undefined ? item.id : ''" iselected="0"></div> </li> </ul> <div class="num"> <span>0</span> <span>1</span> <span>2</span> <span>3</span> <span>4</span> <span>5</span> <span>6</span> <span>7</span> <span>8</span> <span>9</span> <span>10</span> <span>11</span> <span>12</span> <span>13</span> <span>14</span> <span>15</span> <span>16</span> <span>17</span> <span>18</span> <span>19</span> <span>20</span> <span>21</span> <span>22</span> <span>23</span> <span>24</span> </div> </div> </template> <script> export default { data() { return { timeLine: { flag: 0, preid: -1, idList: [ {}, { id: 0 }, {}, { id: 1 }, {}, { id: 2 }, {}, { id: 3 }, {}, { id: 4 }, {}, { id: 5 }, {}, { id: 6 }, {}, { id: 7 }, {}, { id: 8 }, {}, { id: 9 }, {}, { id: 10 }, {}, { id: 11 }, {}, { id: 12 }, {}, { id: 13 }, {}, { id: 14 }, {}, { id: 15 }, {}, { id: 16 }, {}, { id: 17 }, {}, { id: 18 }, {}, { id: 19 }, {}, { id: 20 }, {}, { id: 21 }, {}, { id: 22 }, {}, { id: 23 }, {} ] } }; }, methods: { down_li(e) { this.timeLine.flag = 1; }, up_li() { this.timeLine.flag = 0; this.timeLine.preid = -1; }, move_li(e) { if (this.timeLine.flag == 0) { return; } var id = e.target.getAttribute('id'); if (id == undefined) { return; } id = parseInt(id); // 避免重復獲取 ID,每個時間段都只獲取一次 ID if (this.timeLine.preid == id) { return; } // 避免滑動時閃爍 this.timeLine.preid = id; var iselected = $('#' + id).attr('iselected'); if (iselected == 1) { $("#"+id).children('div').css('background-color',''); $("#"+id).attr('iselected', '0'); } else { $("#"+id).children('div').css('background-color','#3bbe9b'); $("#"+id).attr('iselected', '1'); } }, // 處理提交至后臺數據的時間格式為 start : end timeLineSub() { var preid = -1; var start; var count = 0; var timeArr = []; $('li[iselected=1]').each(function(index, value) { var id = value.id; if (preid == -1) { preid = id; start = id; count++; return; } if (preid == id - 1) { count++; } else { if (count > 0) { timeArr.push(start + ':' + count); } start = id; count = 1; } preid = id; }); timeArr.push(start + ':' + count); this.timeRange = timeArr.join(','); } } }; </script> <style lang="less" scoped> html, body { margin: 0; padding: 0; ul { height: 20px; margin-bottom: 0px; padding: 10px 19px; li { cursor: pointer; list-style: none; float: left; height: 20px; padding: 6px 0; } li:nth-child(even) { div { width: 28px; height: 5px; margin-top: 2px; background-color: rgb(232, 234, 236); } } li:nth-child(odd) { div { width: 7px; height: 7px; border-radius: 50%; margin-top: 1px; border: 1px solid rgb(59, 190, 155); } } } .num { height: 100%; padding-left: 20px; margin-top: 2px; span { display: inline-block; width: 9px; height: 7px; font-size: 12px; margin-right: 23px; } span:last-child { margin-right: 0px; } } } </style>
效果圖如下:
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。