国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

使用js原生實現(xiàn)年份輪播選擇效果實例

瀏覽:52日期:2024-04-08 09:46:58
前言

用js實現(xiàn)一個年份輪換選擇效果。廢話不多說,看圖:

使用js原生實現(xiàn)年份輪播選擇效果實例

一、思路是什么? 布局: 左右箭頭使用實體字符 < 和 > 年份5個span。使用用flex布局橫向排列。 js邏輯:(注:年份數(shù)據(jù)為number數(shù)組) a> . 默認展示年份數(shù)據(jù)前5個。 b>. firstIndex記錄要顯示的5個年份的起始索引。點擊右側箭頭+1,直到firstIndex+5 剛好等于年份數(shù)組長度,不在遞增。點擊左側箭頭-1,直到firstIndex為0,不在遞減。初始值為0。 c>.selectedIndex記錄當前點擊選中的年份索引。默認顯示第一個即2021。初始值0。 d>.firstIndex值發(fā)生變化,獲取firstIndex,firstIndex+1,firstIndex+2…firstIndex+4對應的年份,渲染到頁面。并且這5個索引中某一個和selectedIndex相等,說明選中的年份,剛好在當前頁面顯示的年份當中。所以,與之相等的index對應的span添加選中樣式,其他4個span移除選中樣式。 css:左右箭頭邏輯,默認全部添加可點擊樣式:firstIndex=0,移除左可點擊樣式,firstIndex+5=年份數(shù)組長度,移除右可點擊樣式。 二、全部代碼

1. html

代碼如下:

<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <title>Title</title> <link rel='stylesheet' href='http://www.cgvv.com.cn/bcjs/index.css' rel='external nofollow' type='text/css'/> <script type='text/javascript' src='http://www.cgvv.com.cn/bcjs/echarts.min.js'></script> <script type='text/javascript' src='http://www.cgvv.com.cn/bcjs/index.js'></script></head><body><div class='container'> <div onclick='clickBefore()' unselectable='on' onselectstart='return false;'> <span>&lt;</span> </div> <div class='wrap'> <span onclick='selected(this)'>1</span> <span onclick='selected(this)'>2</span> <span onclick='selected(this)'>3</span> <span onclick='selected(this)'>4</span> <span onclick='selected(this)'>5</span> </div> <div onclick='clickNext()' unselectable='on' onselectstart='return false;'> <span>&gt;</span> </div></div><div id='content'></div></body></html>

2.js

代碼如下:

window.onload = function () { //首次渲染列表 initList(firstIndex);};let yearArr = [2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021];yearArr.reverse();//起始索引let firstIndex = 0;//選中索引,默認選中第一個let selectedIndex = 0;/** * 初始化列表 */function initList(firstIndex) { //渲染頁面span列表 let spanList = document.getElementById(’wrap’).getElementsByTagName(’span’); for (let i = 0; i < spanList.length; i++) { let index = firstIndex + i; let span = spanList[i]; span.innerText = yearArr[index]; //選中樣式添加和移除 if (index === selectedIndex) { span.classList.add(’active’); } else { span.classList.remove(’active’) } } //頁面內容顯示值 document.getElementById(’content’).innerText = ’當前選中年份:’ + yearArr[selectedIndex];}/** * 下一頁 */function clickNext(div) { if (firstIndex + 5 < yearArr.length) { firstIndex = firstIndex + 1; initList(firstIndex) } arrowActive();}/** 上一頁 */function clickBefore(div) { if (firstIndex > 0) { firstIndex = firstIndex - 1; initList(firstIndex) } arrowActive();}/** * 選中 */function selected(span) { let value = span.innerText; let index = yearArr.findIndex((el) => { return el + '' === value; }) selectedIndex = index !== -1 ? index : 0; initList(firstIndex);}/** * 左右箭頭激活 * firstIndex = 0: 右激活 左不 * firstIndex = length-5:左激活 右不 * 其他:全激活 */function arrowActive() { let left = document.getElementById(’left’) let right = document.getElementById(’right’) left.classList.add(’arrow_active’); right.classList.add(’arrow_active’); if (firstIndex === 0) { left.classList.remove(’arrow_active’); } else if (firstIndex === yearArr.length - 5) { right.classList.remove(’arrow_active’); }}

2.css

代碼如下:

body{ margin-top: 80px;}.container { display: flex; justify-content: center; align-items: center; margin: 10px;}.wrap { height: 40px; z-index: 1; color: black; display: flex; flex: 1; background: rgba(155,226,219,0.5); border-radius: 20px; margin-left: 20px; margin-right: 20px;}.wrap span { flex: 1; text-align: center; height: 40px; line-height: 40px; border-radius: 20px;}.active{ background: #1abc9c; color:#fff;}.arrow_left { left: 10px; color: green; padding: 0px 14px; border-radius: 50%; font-size: 30px; z-index: 2;}.arrow_right { right: 10px; color: green; padding: 0px 14px; border-radius: 50%; font-size: 30px; z-index: 2;}.arrow_active{ color: blue;}.content{ margin-left: 30px;}總結

每天記錄一點,從小小菜鳥變小菜鳥!!!

到此這篇關于使用js原生實現(xiàn)年份輪播選擇效果的文章就介紹到這了,更多相關js原生實現(xiàn)年份輪播選擇內容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持好吧啦網(wǎng)!

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 免费99视频有精品视频高清 | 国产欧美一区二区成人影院 | 欧美一级一级片 | 国产乱码精品一区二区三区中 | 看日本真人一一级特黄毛片 | 手机在线观看一级午夜片 | 久久亚洲不卡一区二区 | 中文字幕日韩三级 | 亚州一级片 | 亚洲综合小视频 | 特级aa一级欧美毛片 | 在线观看中文字幕一区 | 日韩特级黄色片 | 在线免费一级片 | 99久久香蕉国产综合影院 | 99视频只有精品 | 俄罗斯aaaa一级毛片 | 狠狠色狠狠色综合久久第一次 | 性生活免费视频网站 | 一级片在线播放 | 午夜爽爽爽| 国产真实乱子伦xxxxchina | 日本一级毛片在线看 | 久久久久亚洲精品中文字幕 | 亚洲综合区 | 亚洲国产成人久久精品图片 | 成人午夜性视频欧美成人 | 亚洲免费久久 | 久草日韩 | 在线人成精品免费视频 | 91精品久久久久久久久久 | 亚洲成人在线免费 | 香蕉久久一区二区不卡无毒影院 | 欧美日韩综合高清一区二区 | 久草网在线| 中文字幕在线无限2021 | 九九综合九九 | 久久免费黄色 | 国产精品亚洲精品一区二区三区 | 手机看片自拍自自拍日韩免费 | 免费一区区三区四区 |