老师,这块移入显示和隐藏不知道哪里错了没作用,请帮看下谢谢

来源:5-2 自由编程

Cassiel751696

2021-11-25 12:45:16

<!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" id="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>

        <a href="javascript:;" class="leftbtn" id="leftbtn"></a>

        <a href="javascript:;" class="rightbtn" id="rightbtn"></a>

      </div>

    </div>


    <script src="base.js"></script>

   

    <script>

        const slider=document.getElementById("slider")

        const leftbtn=document.getElementById("leftbtn");

        const rightbtn=document.getElementById("rightbtn");

       

      // 继承父类的构造方法

      class Slider extends BaseSlider{

        constructor(el, options){

          super(el, options) // 调用父类的构造方法

          this._bingKey(); // 获取键盘方法

          this._mouseBten();  // 获取左右按钮方法

        }

        // 设置私有方法

        _bingKey(){

          // 键盘按键事件监听

          document.addEventListener("keyup",(ev)=>{

            console.log(ev.keyCode); // 显示键码数

            // 左键

            if(ev.keyCode===37){

              this.prev();

            }else if(ev.keyCode==39){

              this.next()

            }

          },false)

        }


        // 通过querySelect方法,获取左右按钮和大盒子元素

        _mouseBten(){

          // console.log(leftbtn)

          // 点击左按钮

          leftbtn.addEventListener("click",()=>{

            //调用 切换上一张

            this.prev();

          },false)

          // 点击右按钮

          rightbtn.addEventListener("click",()=>{

            // 调用 切换下一张

            this.next();

          },false)

       

        }

      }

      new Slider(document.querySelector(".slider"),{

        // 初始索引

        initialIndex: 0,

        // 切换时是否有动画

        animation: true,

        // 切换速度,单位 ms

        speed: 2000

      })


      // 鼠标移入显示

      slider.onmouseenter=function(){

          leftbtn.style.display="block;"

          rightbtn.style.display="block;"

          console.log("移入")

         

        }

        // 鼠标移出隐藏

        slider.onmouseleave=function(){

          leftbtn.style.display="none;"

          rightbtn.style.display="none;"

          console.log("移除")

        }


    </script>

  </body>

</html>

.slider {

  overflow: hidden;

  position: relative;

}

.slider .leftbtn, .slider .rightbtn{

  width: 28px;

  height: 40px;

  background:rgba(255, 255, 255, 0.5) url(./imgs/icons.png) no-repeat;

  /* border-radius: 50%; */

  position: absolute;

  top: 50%;

  margin-top: -20px;

  display: block;

}

.slider .leftbtn{

  left: 0;

  background-position: -21px -94px;

}

.slider .rightbtn{

  right: 0;

  background-position: -21px -29px;

}


写回答

1回答

好帮手慕小李

2021-11-25

同学你好,解决方案如下:

1、鼠标移入移出按钮没有效果的解决方案如下:

https://img.mukewang.com/climg/619f27c009bc6c8406740624.jpg

https://img.mukewang.com/climg/619f27ce09cff79008410359.jpg

2、左右按钮老师看不到具体的图片,但同学写的左右按钮宽高css样式,与效果图不符。老师建议同学按照设计图来哦。 

同学自己试试,祝学习愉快~


0

0 学习 · 17877 问题

查看课程