Advertisement
Udoro

Prev and next button JS

Sep 8th, 2022
302
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.05 KB | None | 0 0
  1. document.addEventListener('DOMContentLoaded', () => {
  2.  
  3.  
  4.  
  5. let tabs = document.querySelectorAll('.oxy-tab'),
  6. tabContents = document.querySelectorAll('.oxy-tab-content'),
  7. tabId = 0,
  8. tabContentId = 0
  9.  
  10.  
  11. // loop through each tab
  12. tabs.forEach(tab => {
  13. tab.dataset.id = tabId;
  14. tabId++;
  15. })
  16.  
  17.  
  18.  
  19. tabContents.forEach(tabContent => {
  20.  
  21. tabContent.dataset.id = tabContentId;
  22. tabContentId++;
  23.  
  24.  
  25.  
  26. let nextBtn = document.createElement('button'),
  27. prevBtn = document.createElement('button')
  28.  
  29. nextBtn.classList.add('next-btn')
  30. prevBtn.classList.add('prev-btn')
  31.  
  32.  
  33. prevBtn.innerText = 'Previous Question'
  34. nextBtn.innerText = 'Next Question'
  35.  
  36. prevBtn.setAttribute('aria-label', prevBtn.innerText)
  37. nextBtn.setAttribute('aria-label', nextBtn.innerText)
  38.  
  39.  
  40. if(tabContent.dataset.id == 0 || tabContent.dataset.id < (tabContents.length - 1) ){
  41. tabContent.append(nextBtn)
  42. }
  43.  
  44. if(tabContent.dataset.id > 0){
  45. tabContent.append(prevBtn)
  46. }
  47.  
  48.  
  49. if (nextBtn){
  50. nextBtn.addEventListener('click', (e) =>{
  51. e.preventDefault();
  52.  
  53. tabs.forEach(tab => {
  54. if (tab.dataset.id === tabContent.dataset.id) {
  55. tab.nextElementSibling.click()
  56. }
  57. })
  58. })
  59. }
  60.  
  61.  
  62.  
  63. if(prevBtn){
  64. prevBtn.addEventListener('click', (e) =>{
  65. e.preventDefault();
  66.  
  67. tabs.forEach(tab => {
  68. if (tab.dataset.id === tabContent.dataset.id) {
  69. tab.previousElementSibling.click()
  70. }
  71. })
  72. })
  73.  
  74. }
  75.  
  76.  
  77.  
  78. })
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85. })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement