$(document).ready(function(){ let num = 0; let timer = null; //获取左侧的列表中的li注册鼠标进入的事件 $(".left>li").mouseover(function () { clearInterval(timer) //获取当前的li的索引值.index()方法 let index=$(this).index(); $(".center>li:eq("+index+")").show().siblings("li").hide(); $(allBox).children("a").removeAttr("class"); $(allBox).eq(index).children("a").addClass("active"); num = index; }).mouseout(function() { timer = setInterval(autoPlay, 2000) }); //获取右侧的列表中的li注册鼠标进入的事件 $(".right>li").mouseover(function () { clearInterval(timer) let index=$(this).index()+9; $(".center>li:eq("+index+")").show().siblings("li").hide(); $(allBox).children("a").removeAttr("class"); $(allBox).eq(index).children("a").addClass("active"); num = index; }).mouseout(function() { timer = setInterval(autoPlay, 2000) }); // let allBox = $("#left>li").concat($("#right>li")); let allBox = $.merge($(".left>li"), $(".right>li")) function autoPlay() { num++; if(num > $("#center>li").length - 1) { num = 0; } $(".center>li:eq("+num+")").show().siblings("li").hide(); $(allBox).children("a").removeAttr("class"); $(allBox).eq(num).children("a").addClass("active"); } timer = setInterval(autoPlay, 2000) })
时间: 2023-06-19 11:07:02 浏览: 44
这段代码是一个 jQuery 实现的图片轮播效果。首先通过 `$(document).ready()` 函数来确保页面加载完成后再执行代码。然后定义了一些变量,包括图片索引值 `num` 和定时器 `timer`。接着注册了左侧、右侧列表中 li 的鼠标进入和离开事件,当鼠标进入时清除定时器并显示对应的图片,当鼠标离开时重新开始定时轮播。使用 `$.merge()` 函数将左侧和右侧列表中的 li 合并成一个数组 `allBox`,方便后续操作。最后定义了一个 `autoPlay()` 函数用于自动轮播图片,每隔两秒钟就切换到下一张图片。在函数中先将图片索引值加 1,然后判断是否到达最后一张图片,如果是则将索引值重置为 0,最后再显示对应的图片和设置对应的 li 选中状态。最后通过 `setInterval()` 函数来启动定时器,实现自动轮播效果。
相关问题
</script> <button class="start">开始</button> <button class="stop">暂停</button> <button class="end">结束</button> <h1 class="time">10:9</h1> <script> //定义按钮 let start = document.querySelector('.start') let stop = document.querySelector('.stop') let end = document.querySelector('.end') let time = document.querySelector('.time') let seconds = 0 let ms = 0 time.innerHTML = `${seconds}:${ms}` let timer = null // 开启计时器 start.onclick = function () { // 开始的时候删掉之前的计时器并重新开启一个计时器 防止多次开启计时器越来越快的情况 clearInterval(timer) timer = setInterval(() => { // 设置进制 if (ms === 9) { seconds++ ms = 0 } ms++ time.innerHTML = `${seconds}:${ms}` }, 100) } // 暂停计时器 stop.onclick = function () { clearInterval(timer) } // 结束计时器 end.onclick = function () { seconds = 0 ms = 0 time.innerHTML = `${seconds}:${ms}` } </script>
这是一段使用 JavaScript 实现计时器功能的代码。代码中,通过 document.querySelector() 方法获取了三个按钮和一个显示时间的元素,并初始化了秒数和毫秒数为 0。然后定义了一个 timer 变量用于存储计时器实例,并且给开始按钮添加了点击事件,点击开始按钮会清除之前的计时器,并重新开启一个计时器,每 100 毫秒增加一次毫秒数,当毫秒数达到 9 时,将秒数增加一,毫秒数归零,最后更新显示时间。给暂停按钮添加了点击事件,点击暂停按钮会清除计时器。给结束按钮添加了点击事件,点击结束按钮会将秒数和毫秒数重置为 0,并更新显示时间。
let timerRef = document.querySelector(".timer-display");
这是一个 JavaScript 代码行,通过 `document.querySelector()` 方法获取了一个名为 `timerRef` 的 HTML 元素对象。该元素对象是通过 CSS 类选择器 `.timer-display` 来获取的,意味着该元素的 `class` 属性中包含了 `timer-display` 类。一旦获取到元素对象,就可以通过该对象来修改该元素的属性、内容和样式等。