JS原生手写轮播图效果

下面是针对JS原生手写轮播图效果的完整攻略:

下面是针对JS原生手写轮播图效果的完整攻略:

一、需求分析

首先要清楚地明确轮播图的需求,包括:

  1. 显示多张图片并自动轮播;
  2. 支持点击左侧和右侧按钮来切换图片;
  3. 支持点击数字按钮来跳转到相应的图片;
  4. 支持鼠标悬停在图片上时停止轮播,离开时继续轮播。

二、实现步骤

然后根据需求来逐步实现轮播图效果,具体步骤如下:

  1. 编写HTML结构;

  2. 设置相应的样式;

  3. 使用JS实现轮播图的自动播放效果;

  4. 使用JS实现点击按钮切换图片的效果;

  5. 使用JS实现点击数字按钮跳转到相应图片的效果;

  6. 实现鼠标悬停在图片上时轮播停止的效果。

2.1 HTML结构

首先,按照轮播图的需求,编写HTML结构。通常可以采用以下结构:

<div class="slider">
  <div class="slider-wrapper">
    <div class="slider-item"><img src="image1.jpg"></div>
    <div class="slider-item"><img src="image2.jpg"></div>
    <div class="slider-item"><img src="image3.jpg"></div>
  </div>
  <ul class="slider-nav">
    <li class="slider-nav-item">1</li>
    <li class="slider-nav-item">2</li>
    <li class="slider-nav-item">3</li>
  </ul>
  <a class="slider-control prev"></a>
  <a class="slider-control next"></a>
</div>

这段HTML代码中,.slider是整个轮播图的容器,包括一个.slider-wrapper用来包裹所有的图片,并设置overflow:hidden来隐藏溢出的部分;还有一个.slider-nav用来放置数字按钮;以及两个.slider-control分别表示向左、向右的箭头。

2.2 设置样式

接下来,需要设置轮播图的样式。通过CSS设置轮播图样式可以更好地控制UI,提供更好的用户体验。

.slider {
  position: relative;
  width: 100%;
  height: 400px;
}
.slider-wrapper {
  width: 300%;
  height: 400px;
  position: relative;
  left: 0;
  transition: left .5s;
}
.slider-item {
  float: left;
  width: 33.3333%;
  height: 400px;
  text-align: center;
  font-size: 40px;
  color: #fff;
  background-color: #000;
}
.slider-item img {
  max-width: 100%;
  max-height: 100%;
}
.slider-nav {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  margin: 0;
  padding: 0;
  list-style: none;
  z-index: 1;
}
.slider-nav-item {
  display: inline-block;
  margin-right: 10px;
  border: 2px solid #fff;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  text-align: center;
  line-height: 20px;
  color: #fff;
  cursor: pointer;
}
.slider-nav-item.active {
  background-color: #fff;
  color: #000;
}
.slider-control {
  position: absolute;
  top: 50%;
  margin-top: -20px;
  width: 40px;
  height: 40px;
  background-color: #fff;
  cursor: pointer;
  z-index: 1;
}
.slider-control.prev {
  left: 20px;
}
.slider-control.next {
  right: 20px;
}

上面这段CSS代码主要做的事情是:

  • 定义了整个轮播图容器.slider的宽度、高度等样式;
  • 设定了.slider-wrapper中每个.slider-item的宽度、高度等样式,并设置.slider-item img的最大宽度和高度为100%,以使图片按比例自适应大小;
  • 定义了数字按钮.slider-nav-item的样式,设置外边距、边框、圆角、文字对齐、鼠标样式等属性,以及.slider-nav-item.active的样式,表示当前选中的按钮;
  • 定义了向左和向右箭头.slider-control的样式,设置位置、大小、背景色和鼠标样式等属性。

2.3 实现轮播图自动播放

了解了上面的基本结构和样式,接下来就要开始在JS中实现轮播图自动播放。可以采用如下代码实现:

var timer = null;
var index = 0;
var items = document.querySelectorAll('.slider-item');
var len = items.length;
var navItems = document.querySelectorAll('.slider-nav-item');

function slideNext() {
  index++;
  if (index >= len) {
    index = 0;
  }
  slideTo(index);
}

function slideTo(i) {
  var offset = -i * 100 / len;
  document.querySelector('.slider-wrapper').style.left = offset + '%';
  setActiveNav(i);
}

function setActiveNav(i) {
  [].forEach.call(navItems, function(navItem) {
    navItem.classList.remove('active');
  });
  navItems[i].classList.add('active');
}

timer = setInterval(slideNext, 3000);

上面这段代码中,主要做的事情是:

  • 定义了一个timer变量,用来保存定时器的ID;
  • 定义了index变量,表示当前轮播图显示的是第几张;
  • 通过document.querySelectorAll获取了所有的轮播图图片.slider-item和数字按钮.slider-nav-item
  • 定义了slideNext方法和slideTo方法;
  • slideNext方法用于自动轮播的逻辑,其内部先将索引index自增,然后检查是否超过图片数量,如果超过了就将index重置为0;接下来调用slideTo方法,将图片滑动到指定位置;
  • slideTo方法根据当前要显示的图片索引,计算出需要滑动的偏移量offset,然后设置图片盒子.slider-wrapper的左偏移量为offset + '%',以实现滑动效果;接着调用setActiveNav方法,将当前数字按钮设置为选中状态;
  • setActiveNav方法用来设置数字按钮的选中状态。首先使用[].forEach.call将数字按钮遍历一遍,将所有的数字按钮都设置为非选中状态;然后将当前要选中的数字按钮设置为选中状态。

2.4 实现点击按钮切换图片的效果

接下来,我们需要实现点击左右箭头切换图片的效果。这可以通过绑定事件来实现,以下是实现代码:

var prevBtn = document.querySelector('.slider-control.prev');
var nextBtn = document.querySelector('.slider-control.next');

prevBtn.addEventListener('click', function() {
  clearInterval(timer);
  index--;
  if (index < 0) {
    index = len - 1;
  }
  slideTo(index);
  timer = setInterval(slideNext, 3000);
});

nextBtn.addEventListener('click', function() {
  clearInterval(timer);
  index++;
  if (index >= len) {
    index = 0;
  }
  slideTo(index);
  timer = setInterval(slideNext, 3000);
});

该代码中主要做的事情是:

  • 获取左箭头和右箭头.slider-control
  • 为左箭头绑定一个点击事件prevBtn.addEventListener('click', function() { ... });
  • 为右箭头绑定一个点击事件nextBtn.addEventListener('click', function() { ... });
  • 点击左箭头需要暂停自动播放,并且将当前显示的图片索引index减1,如果小于0则重置为最大索引值;接着执行slideTo(index)将图片显示到指定位置,并重新启动自动播放。右箭头同理。

2.5 实现点击数字按钮跳转到相应图片的效果

上述代码中,我们已经实现了自动播放和点击箭头切换图片的效果。但是,还需要实现点击数字按钮跳转到相应图片的效果。与点击箭头切换图片类似,也是绑定一个点击事件来实现,以下是实现代码:

[].forEach.call(navItems, function(navItem, i) {
  navItem.addEventListener('click', function() {
    clearInterval(timer);
    index = i;
    slideTo(index);
    timer = setInterval(slideNext, 3000);
  });
});

该代码主要做的事情是:

  • 使用[].forEach.call遍历所有数字按钮;
  • 对于每个按钮,绑定一个点击事件navItem.addEventListener('click', function() { ... });
  • 点击数字按钮需要暂停自动播放,并且将当前显示的图片索引index设置为该按钮的索引i;接着执行slideTo(index)将图片滑动到指定位置,并重新启动自动播放。

2.6 实现鼠标悬停时轮播停止的效果

最后一个需求是实现当鼠标悬停在轮播图上时,自动轮播停止,离开时继续轮播的效果。这也可以通过绑定事件来实现,实现代码如下:

var slider = document.querySelector('.slider');

slider.addEventListener('mouseover', function() {
  clearInterval(timer);
});

slider.addEventListener('mouseout', function() {
  timer = setInterval(slideNext, 3000);
});

该代码中主要做的事情是:

  • 获取轮播图容器.slider
  • .slider绑定一个鼠标悬停事件slider.addEventListener('mouseover', function() { ... });
  • .slider绑定一个鼠标离开事件slider.addEventListener('mouseout', function() { ... });
  • 鼠标悬停在轮播图上时,需要暂停自动轮播;离开时,重新启动自动轮播。

这样就完成了所有的需求。

三、示例说明

下面简单介绍两个示例:

示例一

示例一是一个基本版的轮播图,将所有代码放在一个完整的HTML文件中。

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>JS原生轮播图示例</title>
  <style>
    .slider {
      position: relative;
      width: 100%;
      height: 400px;
    }

    .slider-wrapper {
      width: 300%;
      height: 400px;
      position: relative;
      left: 0;
      transition: left .5s;
    }

    .slider-item {
      float: left;
      width: 33.3333%;
      height: 400px;
      text-align: center;
      font-size: 40px;
      color: #fff;
      background-color: #000;
    }

    .slider-item img {
      max-width: 100%;
      max-height: 100%;
    }

    .slider-nav {
      position: absolute;
      bottom: 20px;
      left: 50%;
      transform: translateX(-50%);
      margin: 0;
      padding: 0;
      list-style: none;
      z-index: 1;
    }

    .slider-nav-item {
      display: inline-block;
      margin-right: 10px;
      border: 2px solid #fff;
      width: 20px;
      height: 20px;
      border-radius: 50%;
      text-align: center;
      line-height: 20px;
      color: #fff;
      cursor: pointer;
    }

    .slider-nav-item.active {
      background-color: #fff;
      color: #000;
    }

    .slider-control {
      position: absolute;
      top: 50%;
      margin-top: -20px;
      width: 40px;
      height: 40px;
      background-color: #fff;
      cursor: pointer;
      z-index: 1;
    }

    .slider-control.prev {
      left: 20px;
    }

    .slider-control.next {
      right: 20px;
    }
  </style>
</head>
<body>
  <div class="slider">
    <div class="slider-wrapper">
      <div class="slider-item"><img src="https://imgs.dedegg.com/imgfile/2402/1FGW9115960-13347.jpg"></div>
      <div class="slider-item"><img src="https://imgs.dedegg.com/imgfile/2402/1FGW92421S0-2T38.jpg"></div>
      <div class="slider-item"><img src="https://imgs.dedegg.com/imgfile/2402/1FGW93M5M0-31411.jpg"></div>
    </div>
    <ul class="slider-nav">
      <li class="slider-nav-item active">1</li>
      <li class="slider-nav-item">2</li>
      <li class="slider-nav-item">3</li>
    </ul>
    <a class="slider-control prev"></a>
    <a class="slider-control next"></a>
  </div>

  <script>
    var timer = null;
    var index = 0;
    var items = document.querySelectorAll('.slider-item');
    var len = items.length;
    var navItems = document.querySelectorAll('.slider-nav-item');

    function slideNext() {
      index++;
      if (index >= len) {
        index = 0;
      }
      slideTo(index);
    }

    function slideTo(i) {
      var offset = -i * 100 / len;
      document.querySelector('.slider-wrapper').style.left = offset + '%';
      setActiveNav(i);
    }

    function setActiveNav(i) {
      [].forEach.call(navItems, function(navItem) {
        navItem.classList.remove('active');
      });
      navItems[i].classList.add('active');
    }

    var prevBtn = document.querySelector('.slider-control.prev');
    var nextBtn = document.querySelector('.slider-control.next');

    prevBtn.addEventListener('click', function() {
      clearInterval(timer);
      index--;
      if (index < 0) {
        index = len - 1;
      }
      slideTo(index);
      timer = setInterval(slideNext, 3000);
    });

    nextBtn.addEventListener('click', function() {
      clearInterval(timer);
      index++;
      if (index >= len) {
        index = 0;
      }
      slideTo(index);
      timer = setInterval(slideNext, 3000);
    });

    [].forEach.call(navItems, function(navItem, i) {
      navItem.addEventListener('click', function() {
        clearInterval(timer);
        index = i;
        slideTo(index);
        timer = setInterval(slideNext, 3000);
      });
    });

    var slider = document.querySelector('.slider');

    slider.addEventListener('mouseover', function() {
      clearInterval(timer);
    });

    slider.addEventListener('mouseout', function() {
      timer = setInterval(slideNext, 3000);
    });

    timer = setInterval(slideNext, 3000);
  </script>
</body>
</html>

示例二

示例二是一个稍微复杂一些的轮播图,将JS代码单独拆分成一个文件,并添加了一些CSS3动画效果。

首先,创建一个index.html文件,代码如下:

```html





JS原生轮播图示例 <link rel="stylesheet" href="style.css"><br /><body></p> <div class="slider"> <div class="slider-wrapper"> <div class="slider-item"><img src="https://imgs.dedegg.com/imgfile/2402/1FGW9115960-13347.jpg"></div> <div class="slider-item"><img src="https://imgs.dedegg.com/imgfile/2402/1FGW92421S0-2T38.jpg"></div> <div class="slider-item"><img src="https://imgs.dedegg.com/imgfile/2402/1FGW93M5M0-31411.jpg"></div> <div class="slider-item"><img decoding="async" src="https://imgs.dedegg.comhttps://picsum.photos/800/400? </p></div></div></div> </article> <script src='/adv.php?aid=2' language='javascript'></script> <!--标签--> <div class="wmd-margin-top b-t"> <div class="tags-item wmd-single-tags"> </div> </div></div> <div class="wmd-background-default b-b wmd-margin-bottom b-r-4"> <div class="wmd-text-small wmd-panding-s"> <div class="single-head"> <div class="wmd-text-small wmd-text-muted wmd-flex wmd-text-truncate wmd-overflow-auto"> <div class="avatar wmd-flex-1 wmd-flex wmd-flex-middle wmd-avatar-t"> <span class="wmd-text-small wmd-display-block wmd-margin-small-left"><a title="文章作者" rel="author">织梦狗教程</a></span> <p>本文标题为:JS原生手写轮播图效果</p> <button id="TKLS" class="wmd-text-fz itemCopy red_tkl button_tkl" type="button" data-clipboard-text="JS原生手写轮播图效果:https://www.dedegg.com/itfiles/web/124661.html"><i class="iconfont icon-attachment"></i>复制本文链接</button> <div class="share"> <a class="weixin-share wmd-display-inline-block wmd-fx-weixin" href="#" wmd-tooltip="分享到微信" data-image="" target="_blank"><i class="iconfont icon-wechat-fill"></i></a> <a class="wmd-display-inline-block wmd-fx-qq" href="http://connect.qq.com/widget/shareqq/index.html?url=https://www.dedegg.com/itfiles/web/124661.html&sharesource=qzone&title=JS原生手写轮播图效果&pics=/upfiles/imgfile/2402/1FGW9115960-13347_simg.jpg&h=200&w=300&zc=1&a=t&q=100&s=1&summary=下面是针对JS原生手写轮播图效果的完整攻略:…" wmd-tooltip="分享到QQ好友/QQ空间" target="_blank"><i class="iconfont icon-QQ"></i></a> <a class="wmd-display-inline-block wmd-fx-weibo" href="http://service.weibo.com/share/mobile.php?url=https://www.dedegg.com/itfiles/web/124661.html&title=JS原生手写轮播图效果&appkey=3313789115" wmd-tooltip="分享到微博" target="_blank"><i class="iconfont icon-weibo1"></i></a> </div> </div> </div> </div> </div> </div> <script src="https://www.dedegg.com/xwassets/js/clipboard.min.js" type="text/javascript"></script> <script> var clipboard = new Clipboard('.itemCopy'); clipboard.on('success', function(e) { if (e.trigger.disabled == false || e.trigger.disabled == undefined) { e.trigger.innerHTML = "<i class='iconfont icon-attachment'></i>链接复制成功"; e.trigger.disabled = true; setTimeout(function() { e.trigger.innerHTML = "<i class='iconfont icon-attachment'></i>复制本文链接"; e.trigger.disabled = false; }, 2000); } }); clipboard.on('error', function(e) { e.trigger.innerHTML = "链接复制失败"; }); </script> <div class="wmd-grid-small wmd-margin-bottom" wmd-grid> <div class='wmd-width-1-2'> <div class='b-r-4 wmd-inline wmd-overflow-hidden wmd-width-1-1 wmd-page-img' style='height:100px'> <img width='400' height='267' src='/xwassets/images/pre.png' class='attachment- size- wp-post-image' alt='' decoding='async' loading='lazy' srcset='/xwassets/images/pre.png 400w, /xwassets/images/pre.png 300w' sizes='(max-width: 400px) 100vw, 400px' /> <div class='wmd-overlay wmd-overlay-primary wmd-position-bottom'> <span>上一篇:</span> <a href='/itfiles/web/124660.html' class='wmd-display-block wmd-text-truncate'>CSS实现3D书本效果的示例代码</a> </div> </div> </div> <div class='wmd-width-1-2'> <div class='b-r-4 wmd-inline wmd-overflow-hidden wmd-width-1-1 wmd-page-img' style='height:100px'> <img width='400' height='267' src='/xwassets/images/next.png' class='attachment- size- wp-post-image' alt='' decoding='async' loading='lazy' srcset='/xwassets/images/next.png 400w, /xwassets/images/next.png 300w' sizes='(max-width: 400px) 100vw, 400px' /> <div class='wmd-overlay wmd-overlay-primary wmd-position-bottom'> <span>下一篇:</span> <a href='/itfiles/web/124662.html' class='wmd-display-block wmd-text-truncate'>深入挖掘Windows脚本技术</a> </div> </div> </div> </div> <script src='/adv.php?aid=3' language='javascript'></script> <!--相关文章--> <section id="newbaike" class="wmd-background-default b-b wmd-margin-bottom-20 wmd-margin-top-20 b-r-4 wmd-single-foos wmd-xiangguan"> <div class="wmd-qa-commont section-title wmd-flex wmd-flex-middle"> <h3 class="wmd-position-relative wmd-flex-1 wmd-display-inline-block wmd-margin-remove"><i class="iconfont icon-wenjuan"></i> 基础教程推荐</h3> </div> <div class="card wmd-margin-top"> <div class="wmd-grid-ceosmls" wmd-grid> <div class="wmd-width-1-1@s wmd-width-1-2 wmd-width-1-4@xl"> <div class="card-item b-r-4 wmd-background-default wmd-overflow-hidden wmd-vip-icons"> <div class="wmd_xg_img"> <a href="/shtml/" target="_blank" class="cover wmd-display-block wmd-overflow-hidden "> <img data-src="https://imgs.dedegg.com/2206/1-22061Q11954421.jpg" class="wmd-width-1-1@s lazyload"> </a> </div> <div class="wmd-padding-remove"> <div class="card-title-desc"> <a href="/shtml/" target="_blank" class="title wmd-display-block" title="学习HTML"> 学习HTML</a> </div> </div> </div></div><div class="wmd-width-1-1@s wmd-width-1-2 wmd-width-1-4@xl"> <div class="card-item b-r-4 wmd-background-default wmd-overflow-hidden wmd-vip-icons"> <div class="wmd_xg_img"> <a href="/jquery/" target="_blank" class="cover wmd-display-block wmd-overflow-hidden "> <img data-src="https://imgs.dedegg.com/2206/1-22062Q53310911.jpg" class="wmd-width-1-1@s lazyload"> </a> </div> <div class="wmd-padding-remove"> <div class="card-title-desc"> <a href="/jquery/" target="_blank" class="title wmd-display-block" title="学习jQuery"> 学习jQuery</a> </div> </div> </div></div><div class="wmd-width-1-1@s wmd-width-1-2 wmd-width-1-4@xl"> <div class="card-item b-r-4 wmd-background-default wmd-overflow-hidden wmd-vip-icons"> <div class="wmd_xg_img"> <a href="/laravel/" target="_blank" class="cover wmd-display-block wmd-overflow-hidden "> <img data-src="https://imgs.dedegg.com/2206/1-220630101I5353.jpg" class="wmd-width-1-1@s lazyload"> </a> </div> <div class="wmd-padding-remove"> <div class="card-title-desc"> <a href="/laravel/" target="_blank" class="title wmd-display-block" title="学习Laravel"> 学习Laravel</a> </div> </div> </div></div><div class="wmd-width-1-1@s wmd-width-1-2 wmd-width-1-4@xl"> <div class="card-item b-r-4 wmd-background-default wmd-overflow-hidden wmd-vip-icons"> <div class="wmd_xg_img"> <a href="/css3/" target="_blank" class="cover wmd-display-block wmd-overflow-hidden "> <img data-src="https://imgs.dedegg.com/2206/1-220622222529626.jpg" class="wmd-width-1-1@s lazyload"> </a> </div> <div class="wmd-padding-remove"> <div class="card-title-desc"> <a href="/css3/" target="_blank" class="title wmd-display-block" title="学习CSS3"> 学习CSS3</a> </div> </div> </div></div><div class="wmd-width-1-1@s wmd-width-1-2 wmd-width-1-4@xl"> <div class="card-item b-r-4 wmd-background-default wmd-overflow-hidden wmd-vip-icons"> <div class="wmd_xg_img"> <a href="/vue/" target="_blank" class="cover wmd-display-block wmd-overflow-hidden "> <img data-src="https://imgs.dedegg.com/2206/1-22062Q63Z4541.jpg" class="wmd-width-1-1@s lazyload"> </a> </div> <div class="wmd-padding-remove"> <div class="card-title-desc"> <a href="/vue/" target="_blank" class="title wmd-display-block" title="学习Vue.js"> 学习Vue.js</a> </div> </div> </div></div><div class="wmd-width-1-1@s wmd-width-1-2 wmd-width-1-4@xl"> <div class="card-item b-r-4 wmd-background-default wmd-overflow-hidden wmd-vip-icons"> <div class="wmd_xg_img"> <a href="/bootstrap5/" target="_blank" class="cover wmd-display-block wmd-overflow-hidden "> <img data-src="https://imgs.dedegg.com/2206/1-22062G53UE17.jpg" class="wmd-width-1-1@s lazyload"> </a> </div> <div class="wmd-padding-remove"> <div class="card-title-desc"> <a href="/bootstrap5/" target="_blank" class="title wmd-display-block" title="学习Bootstrap5"> 学习Bootstrap5</a> </div> </div> </div></div><div class="wmd-width-1-1@s wmd-width-1-2 wmd-width-1-4@xl"> <div class="card-item b-r-4 wmd-background-default wmd-overflow-hidden wmd-vip-icons"> <div class="wmd_xg_img"> <a href="/thinkphp/" target="_blank" class="cover wmd-display-block wmd-overflow-hidden "> <img data-src="https://imgs.dedegg.com/2206/1-22063014335cI.jpg" class="wmd-width-1-1@s lazyload"> </a> </div> <div class="wmd-padding-remove"> <div class="card-title-desc"> <a href="/thinkphp/" target="_blank" class="title wmd-display-block" title="学习ThinkPHP"> 学习ThinkPHP</a> </div> </div> </div></div><div class="wmd-width-1-1@s wmd-width-1-2 wmd-width-1-4@xl"> <div class="card-item b-r-4 wmd-background-default wmd-overflow-hidden wmd-vip-icons"> <div class="wmd_xg_img"> <a href="/ajax/" target="_blank" class="cover wmd-display-block wmd-overflow-hidden "> <img data-src="https://imgs.dedegg.com/2206/1-22062R10QHQ.jpg" class="wmd-width-1-1@s lazyload"> </a> </div> <div class="wmd-padding-remove"> <div class="card-title-desc"> <a href="/ajax/" target="_blank" class="title wmd-display-block" title="学习AJAX"> 学习AJAX</a> </div> </div> </div></div> </div> </div> </section> <!--猜你喜欢--> <section id="ceoxiangguan" class="wmd-background-default b-b wmd-margin-bottom-20 wmd-margin-top-20 b-r-4 wmd-padding-30px wmd-xiangguan"> <div class="wmd-xiangguan-wen"> <div class="wmd-qa-commont"> <span class="wmd-qa-turn"><i class="iconfont icon-xiangkan"></i> 猜你喜欢</span> </div> <ul class="xgart-row"> <li> <a href="/itfiles/web/82194.html" target="_blank" >HTML+css盒子模型案例(圆,半圆等)“border-radius” 简单易上手</a> <span>2022-10-10</span> </li> <li> <a href="/itfiles/web/93674.html" target="_blank" >通过Ajax方式绑定select选项数据的实例</a> <span>2023-02-22</span> </li> <li> <a href="/itfiles/web/119508.html" target="_blank" >css3实现动画的三种方式</a> <span>2023-12-27</span> </li> <li> <a href="/itfiles/web/122911.html" target="_blank" >jquery+CSS3模拟Path2.0动画菜单效果代码</a> <span>2024-01-25</span> </li> <li> <a href="/itfiles/web/79032.html" target="_blank" >微信小程序自动化部署的全过程</a> <span>2022-08-31</span> </li> <li> <a href="/itfiles/web/83741.html" target="_blank" >在到达无H无F境界前~还是要痛苦~我兼容浏览器的CSS</a> <span>2022-11-06</span> </li> <li> <a href="/itfiles/web/113642.html" target="_blank" >vue.js 自定义事件</a> <span>2023-10-08</span> </li> <li> <a href="/itfiles/web/120616.html" target="_blank" >Bootstrap Multiselect 常用组件实现代码</a> <span>2024-01-06</span> </li> <li> <a href="/itfiles/web/120591.html" target="_blank" >vue中如何监听url地址栏参数变化</a> <span>2024-01-06</span> </li> <li> <a href="/itfiles/web/124144.html" target="_blank" >vue项目中解决 IOS + H5 滑动边界橡皮筋弹性效果(解决思路)</a> <span>2024-02-04</span> </li> </ul> </div> </section> </div> </div> <div class="wmd-side-lie-y sidebar-column"> <div class="sidebar"> <section class="side-author b-a b-r-4 wmd-background-default wmd-overflow-hidden wmd-margin-bottom"> <div class="side-author-latest wmd-background-default wmd-padding-small"> <div class="b-b wmd-padding-top-small wmd-padding-remove-horizontal wmd-clearfix wmd-flex wmd-flex-middle"> <span class="side-title side-title-style wmd-h5 wmd-float-left wmd-margin-remove wmd-position-relative">最新文章</span> </div> <ul class="wmd-padding-remove wmd-margin-remove-bottom"> <li class="wmd-margin-small-bottom wmd-position-relative"> <span>2024-02-09</span> <a href="/itfiles/web/124660.html" target="_blank" class="wmd-display-block">CSS实现3D书本效果的示例代码</a> </li> <li class="wmd-margin-small-bottom wmd-position-relative"> <span>2024-02-09</span> <a href="/itfiles/web/124659.html" target="_blank" class="wmd-display-block">HTML5+CSS3 诱人的实例:3D立方体旋转动画实例</a> </li> <li class="wmd-margin-small-bottom wmd-position-relative"> <span>2024-02-09</span> <a href="/itfiles/web/124658.html" target="_blank" class="wmd-display-block">浅谈解决space-evenly兼容性问题的两种方法</a> </li> <li class="wmd-margin-small-bottom wmd-position-relative"> <span>2024-02-09</span> <a href="/itfiles/web/124657.html" target="_blank" class="wmd-display-block">css弧边选项卡的项目实践</a> </li> <li class="wmd-margin-small-bottom wmd-position-relative"> <span>2024-02-09</span> <a href="/itfiles/web/124656.html" target="_blank" class="wmd-display-block">CSS 使用radial-gradient 实现优惠券样式</a> </li> </ul> </div> </section> <section class="side-art b-a b-r-4 wmd-background-default wmd-margin-bottom"> <div class="b-b wmd-padding-small wmd-clearfix wmd-flex wmd-flex-middle"> <span class="side-title side-title-style wmd-h5 wmd-float-left wmd-margin-remove wmd-position-relative">热门文章</span> </div> <ul class="wmd-list wmd-padding-remove wmd-overflow-auto wmd-sidebar-wenzhang"> <li class="wmd-margin-remove-top"> <div class="b-b wmd-padding-small"> <div wmd-grid class="wmd-grid-small"> <div class="wmd-width-1-3"> <a href="/itfiles/web/83559.html" class="side-art-cover b-r-4 wmd-display-block wmd-overflow-hidden"> <img data-src="https://imgs.dedegg.com/imgfile/2211/1-2211011GR2209-simg.png" alt="怎么查看Iconfont字体有哪些图标和编码" src="https://www.dedegg.com/xwassets/images/default.gif" class="lazyload" > </a> </div> <div class="wmd-width-2-3 wmd-sidebar-article-c"> <div class="wmd-card"> <p class="wmd-margin-small-bottom"> <a href="/itfiles/web/83559.html" target="_blank" class="wmd-display-block wmd-text-truncate">怎么查看Iconfont字体有哪些图标和编码</a> </p> <div class="wmd-sidebar-article-ch wmd-text-meta wmd-margin-small-top wmd-flex"> <span class="wmd-margin-right"><i class="iconfont icon-rili"></i>2022-11-04</span> <span class="wmd-margin-right wmd-flex wmd-flex-middle"><i class="iconfont iconfont icon-yanjing"></i>653</span> </div> </div> </div> </div> </div> </li> <li class="wmd-margin-remove-top"> <div class="b-b wmd-padding-small"> <div wmd-grid class="wmd-grid-small"> <div class="wmd-width-1-3"> <a href="/itfiles/web/83563.html" class="side-art-cover b-r-4 wmd-display-block wmd-overflow-hidden"> <img data-src="https://imgs.dedegg.com/imgfile/2211/1-2211011KFU04-simg.png" alt="Uncaught TypeError: Cannot read properties of undefined (reading ‘install‘)报错" src="https://www.dedegg.com/xwassets/images/default.gif" class="lazyload" > </a> </div> <div class="wmd-width-2-3 wmd-sidebar-article-c"> <div class="wmd-card"> <p class="wmd-margin-small-bottom"> <a href="/itfiles/web/83563.html" target="_blank" class="wmd-display-block wmd-text-truncate">Uncaught TypeError: Cannot read properties of undefined (reading ‘install‘)报错</a> </p> <div class="wmd-sidebar-article-ch wmd-text-meta wmd-margin-small-top wmd-flex"> <span class="wmd-margin-right"><i class="iconfont icon-rili"></i>2022-11-04</span> <span class="wmd-margin-right wmd-flex wmd-flex-middle"><i class="iconfont iconfont icon-yanjing"></i>496</span> </div> </div> </div> </div> </div> </li> <li class="wmd-margin-remove-top"> <div class="b-b wmd-padding-small"> <div wmd-grid class="wmd-grid-small"> <div class="wmd-width-1-3"> <a href="/itfiles/web/83235.html" class="side-art-cover b-r-4 wmd-display-block wmd-overflow-hidden"> <img data-src="https://imgs.dedegg.com/imgfile/2210/1BD6133I1O0-Q395.gif" alt="cocos creator游戏实现loading加载页面,游戏启动加载动画" src="https://www.dedegg.com/xwassets/images/default.gif" class="lazyload" > </a> </div> <div class="wmd-width-2-3 wmd-sidebar-article-c"> <div class="wmd-card"> <p class="wmd-margin-small-bottom"> <a href="/itfiles/web/83235.html" target="_blank" class="wmd-display-block wmd-text-truncate">cocos creator游戏实现loading加载页面,游戏启动加载动画</a> </p> <div class="wmd-sidebar-article-ch wmd-text-meta wmd-margin-small-top wmd-flex"> <span class="wmd-margin-right"><i class="iconfont icon-rili"></i>2022-10-30</span> <span class="wmd-margin-right wmd-flex wmd-flex-middle"><i class="iconfont iconfont icon-yanjing"></i>443</span> </div> </div> </div> </div> </div> </li> <li class="wmd-margin-remove-top"> <div class="b-b wmd-padding-small"> <div wmd-grid class="wmd-grid-small"> <div class="wmd-width-1-3"> <a href="/itfiles/web/106849.html" class="side-art-cover b-r-4 wmd-display-block wmd-overflow-hidden"> <img data-src="https://imgs.dedegg.com/imgfile/2307/1DS64092W50-1Z95.png" alt="vue父子组件传值不能实时更新的解决方法" src="https://www.dedegg.com/xwassets/images/default.gif" class="lazyload" > </a> </div> <div class="wmd-width-2-3 wmd-sidebar-article-c"> <div class="wmd-card"> <p class="wmd-margin-small-bottom"> <a href="/itfiles/web/106849.html" target="_blank" class="wmd-display-block wmd-text-truncate">vue父子组件传值不能实时更新的解决方法</a> </p> <div class="wmd-sidebar-article-ch wmd-text-meta wmd-margin-small-top wmd-flex"> <span class="wmd-margin-right"><i class="iconfont icon-rili"></i>2023-07-09</span> <span class="wmd-margin-right wmd-flex wmd-flex-middle"><i class="iconfont iconfont icon-yanjing"></i>279</span> </div> </div> </div> </div> </div> </li> <li class="wmd-margin-remove-top"> <div class="b-b wmd-padding-small"> <div wmd-grid class="wmd-grid-small"> <div class="wmd-width-1-3"> <a href="/itfiles/web/78917.html" class="side-art-cover b-r-4 wmd-display-block wmd-overflow-hidden"> <img data-src="https://imgs.dedegg.com/imgfile/2207/1-220H51FKO20-lp.png" alt="javascript报错:xxx.foreach is not a function" src="https://www.dedegg.com/xwassets/images/default.gif" class="lazyload" > </a> </div> <div class="wmd-width-2-3 wmd-sidebar-article-c"> <div class="wmd-card"> <p class="wmd-margin-small-bottom"> <a href="/itfiles/web/78917.html" target="_blank" class="wmd-display-block wmd-text-truncate">javascript报错:xxx.foreach is not a function</a> </p> <div class="wmd-sidebar-article-ch wmd-text-meta wmd-margin-small-top wmd-flex"> <span class="wmd-margin-right"><i class="iconfont icon-rili"></i>2022-07-25</span> <span class="wmd-margin-right wmd-flex wmd-flex-middle"><i class="iconfont iconfont icon-yanjing"></i>225</span> </div> </div> </div> </div> </div> </li> </ul> </section> <script src='/adv.php?aid=1' language='javascript'></script> <section class="side-art b-a b-r-4 wmd-background-default wmd-margin-bottom"> <div class="b-b wmd-padding-small wmd-clearfix wmd-flex wmd-flex-middle"> <span class="side-title side-title-style wmd-h5 wmd-float-left wmd-margin-remove wmd-position-relative">编程基础</span> </div> <ul class="wmd-sidebar-double wmd-padding-small wmd-overflow-auto wmd-sidebar-wenzhang wmd-grid" wmd-grid=""> <li class="wmd-margin-remove-top wmd-width-1-2 wmd-first-column"> <a href="/php/" class="wmd-display-block wmd-overflow-hidden"> <img data-src="https://imgs.dedegg.com/2206/1-22062R22353201.png" alt="PHP教程" src="https://imgs.dedegg.com/2206/1-22062R22353201.png" class="b-r-4 ls-is-cached lazyloaded"> <p>学习PHP</p> </a> </li><li class="wmd-margin-remove-top wmd-width-1-2 wmd-first-column"> <a href="/java/" class="wmd-display-block wmd-overflow-hidden"> <img data-src="https://imgs.dedegg.com/2207/1-220F223324U62.png" alt="JAVA教程" src="https://imgs.dedegg.com/2207/1-220F223324U62.png" class="b-r-4 ls-is-cached lazyloaded"> <p>学习JAVA</p> </a> </li><li class="wmd-margin-remove-top wmd-width-1-2 wmd-first-column"> <a href="/aspnet/" class="wmd-display-block wmd-overflow-hidden"> <img data-src="https://imgs.dedegg.com/2207/1-220F2164415D9.png" alt="ASP.NET教程" src="https://imgs.dedegg.com/2207/1-220F2164415D9.png" class="b-r-4 ls-is-cached lazyloaded"> <p>学习ASP.NET</p> </a> </li><li class="wmd-margin-remove-top wmd-width-1-2 wmd-first-column"> <a href="/python/" class="wmd-display-block wmd-overflow-hidden"> <img data-src="https://imgs.dedegg.com/2207/1-220F1110135351.png" alt="Python教程" src="https://imgs.dedegg.com/2207/1-220F1110135351.png" class="b-r-4 ls-is-cached lazyloaded"> <p>学习Python</p> </a> </li> </ul> </section> <section class="side-tag b-r-4 b-a wmd-background-default wmd-margin-bottom"> <div class="b-b wmd-padding-small wmd-flex wmd-flex-middle"> <span class="side-title side-title-style wmd-position-relative">热门标签</span> </div> <ul class="wmd-list tags-item wmd-padding-small wmd-margin-remove"> <a wmd-tooltip="136个相关文章" href='https://www.dedegg.com/itdocs/_177_1.html' title="" target="_blank" class="b-r-4 wmd-text-small"></a> <a wmd-tooltip="22个相关文章" href='https://www.dedegg.com/itdocs/layui_246_1.html' title="layui" target="_blank" class="b-r-4 wmd-text-small">layui</a> <a wmd-tooltip="1个相关文章" href='https://www.dedegg.com/itdocs/treetable_399_1.html' title="treetable" target="_blank" class="b-r-4 wmd-text-small">treetable</a> <a wmd-tooltip="3个相关文章" href='https://www.dedegg.com/itdocs/xialakuang_275_1.html' title="下拉框" target="_blank" class="b-r-4 wmd-text-small">下拉框</a> <a wmd-tooltip="1个相关文章" href='https://www.dedegg.com/itdocs/kebianji_398_1.html' title="可编辑" target="_blank" class="b-r-4 wmd-text-small">可编辑</a> <a wmd-tooltip="54个相关文章" href='https://www.dedegg.com/itdocs/html_1_1.html' title="html" target="_blank" class="b-r-4 wmd-text-small">html</a> <a wmd-tooltip="2个相关文章" href='https://www.dedegg.com/itdocs/img_205_1.html' title="img" target="_blank" class="b-r-4 wmd-text-small">img</a> <a wmd-tooltip="4个相关文章" href='https://www.dedegg.com/itdocs/M_295_1.html' title="M" target="_blank" class="b-r-4 wmd-text-small">M</a> <a wmd-tooltip="2个相关文章" href='https://www.dedegg.com/itdocs/s_300_1.html' title="s" target="_blank" class="b-r-4 wmd-text-small">s</a> <a wmd-tooltip="2个相关文章" href='https://www.dedegg.com/itdocs/tiaozhuan_90_1.html' title="跳转" target="_blank" class="b-r-4 wmd-text-small">跳转</a> <a wmd-tooltip="2个相关文章" href='https://www.dedegg.com/itdocs/lianjie_267_1.html' title="链接" target="_blank" class="b-r-4 wmd-text-small">链接</a> <a wmd-tooltip="16个相关文章" href='https://www.dedegg.com/itdocs/zhimeng_15_1.html' title="织梦" target="_blank" class="b-r-4 wmd-text-small">织梦</a> <a wmd-tooltip="32个相关文章" href='https://www.dedegg.com/itdocs/dedecms_10_1.html' title="dedecms" target="_blank" class="b-r-4 wmd-text-small">dedecms</a> <a wmd-tooltip="1166个相关文章" href='https://www.dedegg.com/itdocs/php_56_1.html' title="php" target="_blank" class="b-r-4 wmd-text-small">php</a> <a wmd-tooltip="10个相关文章" href='https://www.dedegg.com/itdocs/zhengzebiaodashi_70_1.html' title="正则表达式" target="_blank" class="b-r-4 wmd-text-small">正则表达式</a> <a wmd-tooltip="1个相关文章" href='https://www.dedegg.com/itdocs/pipei_397_1.html' title="匹配" target="_blank" class="b-r-4 wmd-text-small">匹配</a> <a wmd-tooltip="2个相关文章" href='https://www.dedegg.com/itdocs/video_396_1.html' title="video" target="_blank" class="b-r-4 wmd-text-small">video</a> <a wmd-tooltip="14个相关文章" href='https://www.dedegg.com/itdocs/mysql_74_1.html' title="mysql" target="_blank" class="b-r-4 wmd-text-small">mysql</a> <a wmd-tooltip="1个相关文章" href='https://www.dedegg.com/itdocs/yuanchenglianjie_395_1.html' title="远程连接" target="_blank" class="b-r-4 wmd-text-small">远程连接</a> <a wmd-tooltip="92个相关文章" href='https://www.dedegg.com/itdocs/guolvqi_394_1.html' title="过滤器" target="_blank" class="b-r-4 wmd-text-small">过滤器</a> <a wmd-tooltip="54个相关文章" href='https://www.dedegg.com/itdocs/jiantingqi_393_1.html' title="监听器" target="_blank" class="b-r-4 wmd-text-small">监听器</a> <a wmd-tooltip="39个相关文章" href='https://www.dedegg.com/itdocs/duojincheng_392_1.html' title="多进程" target="_blank" class="b-r-4 wmd-text-small">多进程</a> <a wmd-tooltip="22个相关文章" href='https://www.dedegg.com/itdocs/tupianshangchuan_391_1.html' title="图片上传" target="_blank" class="b-r-4 wmd-text-small">图片上传</a> <a wmd-tooltip="19个相关文章" href='https://www.dedegg.com/itdocs/wushuaxin_390_1.html' title="无刷新" target="_blank" class="b-r-4 wmd-text-small">无刷新</a> <a wmd-tooltip="808个相关文章" href='https://www.dedegg.com/itdocs/jiazai_389_1.html' title="加载" target="_blank" class="b-r-4 wmd-text-small">加载</a> <a wmd-tooltip="75个相关文章" href='https://www.dedegg.com/itdocs/jdk_388_1.html' title="jdk" target="_blank" class="b-r-4 wmd-text-small">jdk</a> <a wmd-tooltip="154个相关文章" href='https://www.dedegg.com/itdocs/Socket_387_1.html' title="Socket" target="_blank" class="b-r-4 wmd-text-small">Socket</a> <a wmd-tooltip="7个相关文章" href='https://www.dedegg.com/itdocs/xunhuanyuju_386_1.html' title="循环语句" target="_blank" class="b-r-4 wmd-text-small">循环语句</a> <a wmd-tooltip="35个相关文章" href='https://www.dedegg.com/itdocs/paixusuanfa_383_1.html' title="排序算法" target="_blank" class="b-r-4 wmd-text-small">排序算法</a> <a wmd-tooltip="8个相关文章" href='https://www.dedegg.com/itdocs/maopaopaixu_385_1.html' title="冒泡排序" target="_blank" class="b-r-4 wmd-text-small">冒泡排序</a> <a wmd-tooltip="2个相关文章" href='https://www.dedegg.com/itdocs/fangdaolian_384_1.html' title="防盗链" target="_blank" class="b-r-4 wmd-text-small">防盗链</a> <a wmd-tooltip="4个相关文章" href='https://www.dedegg.com/itdocs/caiji_67_1.html' title="采集" target="_blank" class="b-r-4 wmd-text-small">采集</a> <a wmd-tooltip="44个相关文章" href='https://www.dedegg.com/itdocs/xialacaidan_322_1.html' title="下拉菜单" target="_blank" class="b-r-4 wmd-text-small">下拉菜单</a> <a wmd-tooltip="28个相关文章" href='https://www.dedegg.com/itdocs/smarty_382_1.html' title="smarty" target="_blank" class="b-r-4 wmd-text-small">smarty</a> <a wmd-tooltip="3个相关文章" href='https://www.dedegg.com/itdocs/xitongrizhi_381_1.html' title="系统日志" target="_blank" class="b-r-4 wmd-text-small">系统日志</a> <a wmd-tooltip="69个相关文章" href='https://www.dedegg.com/itdocs/shujujiegou_380_1.html' title="数据结构" target="_blank" class="b-r-4 wmd-text-small">数据结构</a> <a wmd-tooltip="59个相关文章" href='https://www.dedegg.com/itdocs/xigouhanshu_379_1.html' title="析构函数" target="_blank" class="b-r-4 wmd-text-small">析构函数</a> <a wmd-tooltip="79个相关文章" href='https://www.dedegg.com/itdocs/suijishu_241_1.html' title="随机数" target="_blank" class="b-r-4 wmd-text-small">随机数</a> <a wmd-tooltip="209个相关文章" href='https://www.dedegg.com/itdocs/digui_378_1.html' title="递归" target="_blank" class="b-r-4 wmd-text-small">递归</a> <a wmd-tooltip="1个相关文章" href='https://www.dedegg.com/itdocs/Referer_376_1.html' title="Referer" target="_blank" class="b-r-4 wmd-text-small">Referer</a> </ul> </section> </div> </div> </div> </div> <!--内页专题--> </section> </main> <div class="wmd-app-gotop gotops wmd-hidden@s" id="gotops"> <a href="#header" class="wmd-display-block" wmd-scroll> <i class="iconfont icon-arrow-up"></i> </a> </div><!--Banner--> <footer class="footer wmd-background-secondary"> <div class="foot wmd-container wmd-padding"> <div class="wmd-grid" wmd-grid> <div class="wmd-width-1-1@s wmd-width-1-3@xl"> <div class="foot-item foot-item-first wmd-position-relative"> <a href="" target="_blank" class="foot-logo wmd-display-block"><img src="https://www.dedegg.com/xwassets/images/flogo.png"></a> <p class="wmd-text-small">织梦狗教程网是一个专为初学者打造的前端开发和软件编程的学习网站,可以为编程者和程序员提供海量技术文档,以便编程初学者快速入门,提升开发技术水平和工作效率。</p> </div> </div> <div class="wmd-width-2-3 wmd-visible@s"> <div class="wmd-grid" wmd-grid> <div class="wmd-width-1-3"> <div class="foot-item"> <div class="foot-item-title"><i class="iconfont icon-anquan"></i>编程基础</div> <ul class="wmd-padding-remove"> <li><a href="/acode_h/" target="_blank"> HTML/CSS</a></li><li><a href="/acode_js/" target="_blank"> JAVASCRIPT</a></li><li><a href="/acode_php/" target="_blank"> PHP</a></li><li><a href="/acode_java/" target="_blank"> JAVA</a></li><li><a href="/acode_net/" target="_blank"> ASP.NET</a></li><li><a href="/acode_python/" target="_blank"> Python</a></li> </ul> </div> </div> <div class="wmd-width-1-3"> <div class="foot-item"> <div class="foot-item-title"><i class="iconfont icon-anquan"></i>编程教程</div> <ul class="wmd-padding-remove"><li><a href="/itstudy/" target="_blank">编程基础</a></li><li><a href="/itfiles/" target="_blank">编程教程</a></li><li><a href="/itask/" target="_blank">编程问答</a></li><li><a href="/itexp/" target="_blank">实例代码</a></li> </ul> </div> </div> </div> </div> </div> </div> <div class="foot-cop"> <div class="wmd-container wmd-padding-small wmd-clearfix"> <div class="wmd-float-left"> <span>© 2023-2024 织梦狗教程网 版权所有并保留所有权</span> <a class="wmd-margin-small-right" href="https://www.dedegg.com/sitemap.xml" target="_blank"><i class="iconfont icon-location-fill" aria-hidden="true"></i> 网站地图</a> <span class="wmd-margin-small-right"><a href="https://beian.miit.gov.cn/" target="_blank" rel="noreferrer nofollow">ICP备案号:<a href="https://beian.miit.gov.cn/" rel="nofollow" style="color:#bbb">粤ICP备20019714号</a></a></span>   </div> </div> </div> <script type='text/javascript' src='https://www.dedegg.com/xwassets/js/jquery.cookie.js'></script> </footer> <!--手机端菜单--> <div class="wmd-app-footer-fixed wmd-app-footer wmd-hidden@s"> <a href="https://www.dedegg.com"> <span class="icon"> <i class="iconfont icon-home"></i> </span> <span class="text">网站首页</span> </a> <a href="/acode_h/"> <span class="icon"> <i class="iconfont icon-read-fill"></i> </span> <span class="text">HTML/CSS</span> </a> <a class="cat" wmd-toggle="target: #mob-nav"> <span class="icon"> <i class="iconfont icon-all"></i> </span> <span class="text">菜单</span> </a> <a href="/layui/"> <span class="icon"> <i class="iconfont icon-dropbox"></i> </span> <span class="text">Layui</span> </a> <a href="/yii2/"> <span class="icon"> <i class="iconfont icon-appstore-fill"></i> </span> <span class="text">Yii2</span> </a> </div> <div id="mob-nav" wmd-offcanvas> <div class="wmd-offcanvas-bar wmd-background-default wmd-box-shadow-small wmd-mobnav-box"> <div class="mob-nav"> <div class="wmd-margin-small-bottom wmd-text-center"> <a href="https://www.dedegg.com" class="logo wmd-display-inline-block wmd-margin-bottom"><img src="/xwassets/images/logo.png"></a> </div> <ul class="nav"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-home"><a href="https://www.dedegg.com">网站首页</a></li><li class="menu-item menu-item-type-custom menu-item-object-custom current-menu-ancestor current-menu-parent menu-item-has-children "><a href="/acode_h/">HTML/CSS</a> <ul class="sub-menu" > <li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/shtml/">HTML</a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/html5/">HTML5</a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/css/">CSS</a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/css3/">CSS3</a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/saas/">Sass</a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/layui/">Layui</a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/bootstrap3/">Bootstrap3</a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/bootstrap4/">Bootstrap4</a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/bootstrap5/">Bootstrap5</a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/appml/">AppML</a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/awesome/">Font Awesome</a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/foundation5/">Foundation5</a></li> </ul> </li><li class="menu-item menu-item-type-custom menu-item-object-custom current-menu-ancestor current-menu-parent menu-item-has-children "><a href="/acode_js/">JAVASCRIPT</a> <ul class="sub-menu" > <li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/javascript/">JavaScript</a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/jquery/">jQuery</a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/angularjs/">AngularJS</a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/angularjs2/">AngularJS2</a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/vue/">Vue.js</a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/vue3/">Vue3</a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/react/">React</a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/typescript/">TypeScript</a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/easyui/">EasyUI</a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/node/">Node.js</a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/ajax/">AJAX</a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/json/">JSON</a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/echarts/">Echarts</a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/highcharts/">Highcharts</a></li> </ul> </li><li class="menu-item menu-item-type-custom menu-item-object-custom current-menu-ancestor current-menu-parent menu-item-has-children "><a href="/acode_php/">PHP</a> <ul class="sub-menu" > <li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/php/">PHP</a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/laravel/">Laravel</a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/cakephp/">CakePHP</a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/codeigniter/">CodeIgniter</a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/zend/">Zend</a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/symfony/">Symfony</a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/yii2/">Yii2</a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/phalcon/">Phalcon</a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/thinkphp/">ThinkPHP</a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/smarty/">Smarty</a></li> </ul> </li><li class="menu-item menu-item-type-custom menu-item-object-custom current-menu-ancestor current-menu-parent menu-item-has-children "><a href="/acode_java/">JAVA</a> <ul class="sub-menu" > <li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/java/">JAVA</a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/spring/">Spring</a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/hibernate/">Hibernate</a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/struts/">Struts</a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/play/">Play</a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/toolkit/">GWT</a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/jsp/">Jsp</a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/maven/">Maven</a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/servlet/">Servlet</a></li> </ul> </li><li class="menu-item menu-item-type-custom menu-item-object-custom current-menu-ancestor current-menu-parent menu-item-has-children "><a href="/acode_net/">ASP.NET</a> <ul class="sub-menu" > <li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/aspnet/">ASP.NET</a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/csharp/">C#</a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/webpages/">Web Pages</a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/razor/">Razor</a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/mvc/">MVC</a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/webforms/">Web Forms</a></li> </ul> </li><li class="menu-item menu-item-type-custom menu-item-object-custom current-menu-ancestor current-menu-parent menu-item-has-children "><a href="/acode_python/">Python</a> <ul class="sub-menu" > <li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/python/">Python</a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/python3/">Python 3</a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/django/">Django</a></li> </ul> </li><li class="menu-item menu-item-type-custom menu-item-object-custom current-menu-ancestor current-menu-parent menu-item-has-children "><a href="/acode_go/">Go</a> <ul class="sub-menu" > <li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/go/">Go</a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/docker/">Docker</a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/beego/">Beego</a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/buffalo/">Buffalo</a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/echo/">Echo</a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/gin/">Gin</a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/iris/">Iris</a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/revel/">Revel</a></li> </ul> </li><li class="menu-item menu-item-type-custom menu-item-object-custom current-menu-ancestor current-menu-parent menu-item-has-children "><a href="/ruby/">Ruby</a> <ul class="sub-menu" style='display:none;'> </ul> </li><li class="menu-item menu-item-type-custom menu-item-object-custom current-menu-ancestor current-menu-parent menu-item-has-children "><a href="/c/">C</a> <ul class="sub-menu" style='display:none;'> </ul> </li><li class="menu-item menu-item-type-custom menu-item-object-custom current-menu-ancestor current-menu-parent menu-item-has-children "><a href="/cplus/">C++</a> <ul class="sub-menu" style='display:none;'> </ul> </li><li class="menu-item menu-item-type-custom menu-item-object-custom current-menu-ancestor current-menu-parent menu-item-has-children "><a href="/perl/">Perl</a> <ul class="sub-menu" style='display:none;'> </ul> </li><li class="menu-item menu-item-type-custom menu-item-object-custom current-menu-ancestor current-menu-parent menu-item-has-children "><a href="/lua/">Lua</a> <ul class="sub-menu" style='display:none;'> </ul> </li><li class="menu-item menu-item-type-custom menu-item-object-custom current-menu-ancestor current-menu-parent menu-item-has-children "><a href="/rust/">Rust</a> <ul class="sub-menu" style='display:none;'> </ul> </li><li class="menu-item menu-item-type-custom menu-item-object-custom current-menu-ancestor current-menu-parent menu-item-has-children "><a href="/scala/">Scala</a> <ul class="sub-menu" style='display:none;'> </ul> </li><li class="menu-item menu-item-type-custom menu-item-object-custom current-menu-ancestor current-menu-parent menu-item-has-children "><a href="/vb/">VB</a> <ul class="sub-menu" style='display:none;'> </ul> </li><li class="menu-item menu-item-type-custom menu-item-object-custom current-menu-ancestor current-menu-parent menu-item-has-children "><a href="/acode_m/">移动端</a> <ul class="sub-menu" > <li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/android/">Android</a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/swift/">Swift</a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/ionic/">ionic</a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/kotlin/">Kotlin</a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="/harmonyos/">HarmonyOS</a></li> </ul> </li> </ul></div> </div> </div> </div> <script type='text/javascript' src='https://www.dedegg.com/xwassets/js/index.js'></script> <style> .night .wmd-logo-nav-night{ background: url(https://www.dedegg.com/xwassets/images/flogo.png) no-repeat!important; background-size: 150px auto; } .night .wmd-app-logo2{ background: url(https://www.dedegg.com/xwassets/images/flogo.png) no-repeat!important; background-size: 92px auto!important; } #canvas { position: absolute; left: 0; top: 0; } </style> <script src="https://www.dedegg.com/xwassets/js/highlight.min.js?v=1"></script> <script src="https://www.dedegg.com/xwassets/js/prism.min.js?v=1"></script> <script src="https://www.dedegg.com/xwassets/js/prism.js?v=1"></script> </body> </html>