老师,为什么执行不了?
来源:5-2 自由编程
易要自律
2022-05-09 21:18:13
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <title>Class 的应用</title> <link rel="stylesheet" href="./slider.css" /> </head> <body> <div class="slider-layout"> <div class="slider"> <div class="slider-content"> <div class="slider-item"> <a href="javascript:;" ><img src="./imgs/1.jpg" alt="1" class="slider-img" /></a> </div> <div class="slider-item"> <a href="javascript:;" ><img src="./imgs/2.jpg" alt="1" class="slider-img" /></a> </div> <div class="slider-item"> <a href="javascript:;" ><img src="./imgs/3.jpg" alt="1" class="slider-img" /></a> </div> <div class="slider-item"> <a href="javascript:;" ><img src="./imgs/4.jpg" alt="1" class="slider-img" /></a> </div> </div> <button id="btnleft" class="btn"><</button> <button id="btnright" class="btn">></button> </div> </div> <script src="./base.js"></script> <script> // console.log(BaseSlider); const _btn = document.querySelector('.btn'); const btnleft = document.querySelector('#btnleft'); const btnright = document.querySelector('#btnright'); const sliderbox = document.querySelector('.slider'); class Slider extends BaseSlider { constructor(el, options) { super(el, options); this._bindEvent(); } _bindEvent() { document.addEventListener('keyup', ev => { // console.log(ev.keyCode); if (ev.keyCode === 37) { // ← this.prev(); } else if (ev.keyCode === 39) { // → this.next(); } }); } } new Slider(sliderbox, { initialIndex: 1, animation: true, speed: 1000 }); // 作业代码 class btn extends BaseSlider { constructor(el,options){ super(el,options); this._bindEventLeft(); this._bindEventRight(); this._display(); } _bindEventLeft(){ btnleft.addEventListener('click',()=>{ this.prev(); }) } _bindEventRight(){ btnright.addEvenlistener('click',()=>{ this.next(); }); }; _display(){ sliderbox.addEventListener('mouseenter',()=>{ _btn.style.opacity = 0; }) sliderbox.addEventListener('mouseleave',()=>{ _btn.style.opacity = 1; }) } } const b = new btn(document.querySelector('.slider'), { initialIndex: 1, animation: true, speed: 2000 }); </script> </body> </html>
css
/* css reset */ * { padding: 0; margin: 0; } a { text-decoration: none; outline: none; } img { vertical-align: top; } /* layout */ .slider-layout { width: 80%; height: 420px; margin: 0 auto; } /* slider */ .slider, .slider-content, .slider-item, .slider-img { width: 100%; height: 100%; } .slider { overflow: hidden; } .slider-item { float: left; } .slider-animation { transition-property: transform; transition-duration: 0ms; } .slider{ position: relative; } .btn{ width: 60px; height: 60px; position: absolute; top: 50%; margin-top: -30px; background-color: transparent; border: 0px solid black; border-radius: 50%; font-size: 40px; color: aliceblue; } #btnright { right:0px }
1回答
同学你好,存在拼写错误,导致代码无法运行。修改如下:
修改后,代码可以运行,但是左右箭头初始没有隐藏,鼠标移入、移出时,切换显隐的效果也不对。调整如下:
祝学习愉快!
相似问题