PageSourceSearch

https://www.ebc.com.br/++plone++ebc.inst2024/carouselCapa.js?v2

js ebc.com.br collected 2026-09-24 08:24:03 UTC 4,881 bytes, 177 lines download raw bytes

1let list = document.querySelector('.slider .list');
2let items = document.querySelectorAll('.slider .list .item');
3let dots = document.querySelectorAll('.slider .dots li');
4let manchetes = document.querySelectorAll('.slider .manchetes li');
5let prev = document.getElementById('prev-button');
6let next = document.getElementById('next-button');
7
8let active = 0;
9let lengthItems = items.length - 1;
10
11function sliderNext ()
12{
13  if(active + 1 > lengthItems) {
14    active = 0;
15  } else {
16    active = active + 1;
17  }
18  reloadSlider();
19}
20
21function sliderPrevious ()
22{
23  if(active - 1 < 0) {
24    active = lengthItems;
25  } else {
26    active = active - 1;
27  }
28  reloadSlider();
29}
30
31next.onclick = sliderNext
32prev.onclick = sliderPrevious
33
34let refreshSlider = setInterval(()=> {sliderNext()}, 5000);
35
36function reloadSlider() {
37  let checkLeft = items[active].offsetLeft;
38  list.style.left = -checkLeft + 'px';
39
40  let lastActiveDot = document.querySelector('.slider .dots li.active');
41  let lastActiveManchete = document.querySelector('.slider .manchetes li.active');
42  lastActiveDot.classList.remove('active');
43  lastActiveManchete.classList.remove('active');
44  dots[active].classList.add('active');
45  manchetes[active].classList.add('active')
46  clearInterval(refreshSlider);
47  refreshSlider = setInterval(()=> {sliderNext()}, 5000)
48}
49
50function setSlider(key)
51{
52  display = "center";
53  active = key;
54  reloadSlider();
55}
56
57dots.forEach((li, key) => {
58  li.addEventListener('click', () => setSlider(key))
59});
60
61// carrosel tv brasil play
62const sliderContainer = document.getElementById('slider-container');
63const slider = document.getElementById('slider-tvbp');
64const buttonLeft = document.getElementById('button-left');
65const buttonRight = document.getElementById('button-right');
66
67const sliderElements = document.querySelectorAll('.slider_element')
68
69const rootStyles = document.documentElement.style;
70
71let slideCounter = 0;
72let isInTransition = false;
73
74const DIRECTION = {
75  RIGHT: 'RIGHT',
76  LEFT: 'LEFT'
77}
78
79const getTranformValue = ()=>
80 Number(rootStyles.getPropertyValue('--slide-transform').replace("px",''));
81
82const reorderSlide = () => {
83  const transformValue = getTranformValue();
84  rootStyles.setProperty('--transition', 'none');
85  if(slideCounter===sliderElements.length-1) {
86    slider.appendChild(slider.firstElementChild);
87    rootStyles.setProperty('--slide-transform', `${transformValue + sliderElements[slideCounter].scrollWidth}px`);
88    slideCounter--;
89  }else if(slideCounter ===0){
90    slider.prepend(slider.lastElementChild);
91    rootStyles.setProperty('--slide-transform', `${transformValue - sliderElements[slideCounter].scrollWidth}px`);
92    slideCounter++;
93  }
94
95  isInTransition = false;
96}
97
98const moveSlide = (direction) => {
99  if(isInTransition) return;
100  const transformValue = getTranformValue();
101  rootStyles.setProperty('--transition', 'transform 1s');
102  isInTransition = true;
103  if(direction=== DIRECTION.LEFT) {
104    rootStyles.setProperty('--slide-transform', `${transformValue + sliderElements[slideCounter].scrollWidth}px`);
105    slideCounter--;
106  }else if(direction=== DIRECTION.RIGHT){
107    rootStyles.setProperty('--slide-transform', `${transformValue - sliderElements[slideCounter].scrollWidth}px`);
108    slideCounter++;
109  }
110}
111
112const moveSlideAuto = () => {
113  if(isInTransition) return;
114  const transformValue = getTranformValue();
115  rootStyles.setProperty('--transition', 'transform 1s');
116  isInTransition = true;
117  rootStyles.setProperty('--slide-transform', `${transformValue - sliderElements[slideCounter].scrollWidth}px`);
118  slideCounter++;
119}
120
121buttonRight.addEventListener('click',()=> moveSlide(DIRECTION.RIGHT));
122buttonLeft.addEventListener('click', ()=> moveSlide(DIRECTION.LEFT));
123
124slider.addEventListener('transitionend', reorderSlide);
125
126setInterval(moveSlideAuto, 3000);
127
128reorderSlide();
129
130let noticiasDestaque = document.querySelectorAll(".noticia-capa-destaque");
131
132noticiasDestaque.forEach( noticia => {
133
134  let dataSource = noticia.getAttribute('data-source');
135
136  if (dataSource === 'agbr') {
137    noticia.classList.add('noticia-agencia-brasil');
138  }
139
140  if (dataSource === 'aggov') {
141    noticia.classList.add('noticia-agencia-gov');
142  }
143
144  if (dataSource === 'ebc') {
145    noticia.classList.add('noticia-ebc');
146  }
147
148  if (dataSource === 'rmec') {
149    noticia.classList.add('noticia-radio-mec');
150  }
151
152  if (dataSource === 'rnac') {
153    noticia.classList.add('noticia-radio-nacional');
154  }
155
156  if (dataSource === 'tvbr') {
157    noticia.classList.add('noticia-tv-brasil');
158  }
159
160});
161
162
163const iframeRadio = document.getElementById('myAudio');
164
165window.addEventListener('beforeunload', function() {
166  if (iframeRadio) {
167      iframeRadio.src = ''; // Limpa o src do iframe
168  }
169});
170
171window.addEventListener("pageshow", function(event) {
172  if (event.persisted) {
173      if (iframeRadio) {
174          iframeRadio.src = ''; // Limpa o src do iframe
175      }
176  }
177});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.