让AI帮忙写个需求,AI写出来了,只是有bug而已(二)

简介: 让AI帮忙写个需求,AI写出来了,只是有bug而已

让AI帮忙写个需求,AI写出来了,只是有bug而已(一)https://developer.aliyun.com/article/1426045


但是可以发现:嵌入的网页,只有最后一个页面可以点击

我还以为在嵌入 iframe 的网页中,可能存在跨域访问的问题,导致无法点击。这是由于浏览器的同源策略所导致的。

后来使用 z-index 解决了。

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>轮播图</title>
  <style>
    * {
      margin: 0;
      padding: 0;
    }
    .slider-wrapper {
      position: relative;
      width: 100%;
      height: 100vh;
      margin: 0 auto;
      overflow: hidden;
    }
    .slider-wrapper .iframe_box {
      position: absolute;
      width: 100%;
      height: 100%;
      border: none;
      opacity: 0;
      transition: opacity .5s ease-in-out;
      z-index:0;
    }
    .slider-wrapper iframe.active {
      opacity: 1;
      z-index: 10;
    }
    .slider-prev,
    .slider-next {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      width: 30px;
      height: 30px;
      border: solid #000;
      border-width: 0 3px 3px 0;
      cursor: pointer;
      z-index:100;
    }
    .slider-prev {
      left: 20px;
      transform: rotate(135deg) translateY(-50%);
    }
    .slider-next {
      right: 20px;
      transform: rotate(-45deg) translateY(-50%);
    }
    .slider-control {
      position: absolute;
      bottom: 20px;
      left: 50%;
      transform: translateX(-50%);
      z-index: 100;
      display: flex;
      justify-content: center;
      align-items: center;
    }
    .slider-control-item {
      width: 10px;
      height: 10px;
      border-radius: 50%;
      background-color: #ccc;
      margin: 0 10px;
      cursor: pointer;
      z-index:100;
    }
    .slider-control-item.active {
      background-color: #000;
      z-index:100;
    }
    .slider-toggle {
      position: absolute;
      top: 20px;
      right: 20px;
      z-index: 1;
      cursor: pointer;
      z-index:100;
    }
    .slider-toggle.active:before {
      content: "暂停";
      z-index:100;
    }
    .slider-toggle:before {
      z-index:100;
      content: "开始";
      background: green;
      font-size: 30px;
      padding: 10px;
      margin-right: 20px;
      border-radius: 10px;
    }
  </style>
</head>
<body>
  <div class="slider-wrapper">
    <iframe class="iframe_box" src="https://cn.vuejs.org/guide/introduction.html" allow-same-origin></iframe>
    <iframe class="iframe_box" src="https://www.suning.com" allow-same-origin></iframe>
    <iframe class="iframe_box" src="https://www.163.com" allow-same-origin></iframe>
    <div class="slider-prev"></div>
    <div class="slider-next"></div>
    <div class="slider-control"></div>
    <div class="slider-toggle"></div>
  </div>
  <script>
    window.onload = function () {
      var wrapper = document.querySelector(".slider-wrapper");
      var iframes = wrapper.querySelectorAll("iframe");
      var prev = wrapper.querySelector(".slider-prev");
      var next = wrapper.querySelector(".slider-next");
      var control = wrapper.querySelector(".slider-control");
      var toggle = wrapper.querySelector(".slider-toggle");
      var current = 0;
      var timer = null;
      var isPlaying = true;
      // 初始化
      iframes[current].classList.add("active");
      renderControl();
      // 上一页
      prev.onclick = function () {
        current--;
        if (current < 0) {
          current = iframes.length - 1;
        }
        render();
      }
      // 下一页
      next.onclick = function () {
        current++;
        if (current >= iframes.length) {
          current = 0;
        }
        render();
      }
      // 控制点
      control.onclick = function (e) {
        var index = getIndex(e.target);
        if (index !== -1 && index !== current) {
          current = index;
          render();
        }
      }
      // 开始/暂停
      toggle.onclick = function () {
        isPlaying = !isPlaying;
        toggle.classList.toggle("active");
        if (isPlaying) {
          start();
        } else {
          stop();
        }
      }
      // 渲染轮播图
      function render() {
        for (var i = 0; i < iframes.length; i++) {
          iframes[i].classList.remove("active");
        }
        iframes[current].classList.add("active");
        renderControl();
      }
      // 渲染控制点
      function renderControl() {
        control.innerHTML = "";
        for (var i = 0; i < iframes.length; i++) {
          var item = document.createElement("div");
          item.className = "slider-control-item" + (i === current ? " active" : "");
          control.appendChild(item);
        }
      }
      // 获取控制点的索引
      function getIndex(target) {
        if (target.classList.contains("slider-control-item")) {
          var items = control.querySelectorAll(".slider-control-item");
          for (var i = 0; i < items.length; i++) {
            if (items[i] === target) {
              return i;
            }
          }
        }
        return -1;
      }
      // 自动轮播
      function start() {
        stop();
        timer = setInterval(function () {
          current++;
          if (current >= iframes.length) {
            current = 0;
          }
          render();
        }, 2000);
      }
      function stop() {
        clearInterval(timer);
        timer = null;
      }
      start();
    }
  </script>
</body>
</html>

小结

代码是正常的,就是样式体验不好

首次打开的时候有点卡

都在一个页面上,它都会去访问那三个路径

一下子请求三个路径的页面

但是请求完了,轮播就不用请求了

如果只请求一个的话,每次轮播都要请求一次

都是有利有弊的

两种方案都一样

这个方案其实相对好一点,只请求一次

另一个方案就是轮播到谁就请求谁

相关文章
|
24天前
|
人工智能 弹性计算 算法
华人开源最强「AI 程序员」炸场,让 GPT-4 自己修 Bug!
普林斯顿大学推出开源软件工程代理SWE-agent,利用GPT-4转化成能修复GitHub错误的AI程序员。在某些基准测试中,SWE-agent的表现与Devin相当,甚至在修复Bug速度上超越Devin,平均只需93秒。其特点是拥有开源接口,支持代码编辑和执行,提高了与代码库的交互效率。
|
4月前
|
人工智能 JavaScript
让AI帮忙写个需求,AI写出来了,只是有bug而已(一)
让AI帮忙写个需求,AI写出来了,只是有bug而已
|
5月前
|
人工智能 算法 自动驾驶
找AI要祝福!它让我用bug去成长 | 1024节日特辑
找AI要祝福!它让我用bug去成长 | 1024节日特辑
|
数据挖掘 人工智能 算法框架/工具
AI可以通过图片找BUG吗?闲鱼给出了他们的实践结果
随着AI技术的不断发展,TensorFlow大热,也给测试手段带来了更多种可能,本文接下来给大家介绍AI在闲鱼测试的一点实践:如何应用AI技术通过图片找bug。
943 0
|
机器学习/深度学习 人工智能 安全
会编程的 AI + 会修 Bug 的 AI,等于什么 ?
2017-02-25 Python开发者 (点击上方公众号,可快速关注) 关于人工智能未来的畅想,除了家庭服务机器人,快递无人机,医用机器人等等,Lucas Carlson 认为人工智能在另外一个领域的可能带来的变革,却没有引起公众的足够注意——这就是:让计算机自己编程。
1543 0
|
人工智能
别人家的工程师:阿里巴巴工程师有了新帮手,AI可帮助修Bug
尽管工程师用代码创造了AI,但AI又可以对这些代码点评一番、甚至修复Bug,工程师和AI的关系正在变得微妙。
8206 0
|
机器学习/深度学习 人工智能 算法
AI消除 bug ,彻底了实现了“bug-free″?
AI消除 bug ,彻底了实现了“bug-free″? 又一代码清库的惨案发生了,不过这次要背锅是 AI。 近日,美国最大点评网站 Yelp 的工程师训练的神经网络闯祸了。他们训练了一个用来消除 bug 的神经网络,万万没想到,该网络把所有代码都删除了,从根上彻底了实现“bug-free”......有点儿厉害。
2086 0
|
机器学习/深度学习 人工智能 安全
AI 开年翻车事件:训练神经网络除 bug ,结果它把整个库删了……
这件听起来很荒谬的事情,真实在美国「大众点评」Yelp 上发生了。
467 0
AI2XAML's Bug
原文:AI2XAML's Bug My picture is like this: I use Adobe Illustator CS to draw the outline of that, I save the file as "OyAd.
959 0
AI2XAML's Bug(sequel)
原文:AI2XAML's Bug(sequel) I wrote an article about AI2XAML's Bug the day  before yesterday.
814 0