首页 > 其他分享 >js 轮播图中点击小圆圈图片跳到指定图片

js 轮播图中点击小圆圈图片跳到指定图片

时间:2023-05-30 16:37:39浏览次数:47  
标签:index ol 轮播 focus li ul var js 图片


js 轮播图中点击小圆圈图片跳到指定图片_焦点图

html代码(部分)

<div class="w">
    <div class="main">
        <!--焦点图模块-->
        <div class="focus fl">
            <a href="javascript:;" class="arrow-l"><</a>
            <a href="javascript:;" class="arrow-r">></a>
            <ul>
                <li>
                    <img src="upload/focus1.jpg" alt="">
                </li>
                <li>
                    <img src="upload/focus1.jpg" alt="">
                </li>
                <li>
                    <img src="upload/focus1.jpg" alt="">
                </li>
                <li>
                    <img src="upload/focus1.jpg" alt="">
                </li>
                <li>
                    <img src="upload/focus1.jpg" alt="">
                </li>
            </ul>
<!--            小圆圈-->
            <ol class="circle">
                <!--//js动态生成-->
            </ol>
        </div>
    </div>
</div>
javascript代码部分
var ul = focus.querySelector('ul');
    var ol = focus.querySelector('.circle')
    var focusWidth = focus.offsetWidth;
    for (var i = 0; i < ul.children.length; i++) {
        //创建一个li
        var li = document.createElement('li');
        //记录当前小圆圈的索引号
        li.setAttribute('index', i);
        //把li放到ol里
        ol.appendChild(li);
        //为小圆圈添加点击事件
        li.addEventListener('click', function () {
            //干掉所有人
            for (var i = 0; i < ol.children.length; i++) {
                ol.children[i].className = '';
            }
            //留下我自己
            this.className = 'current';
            //点击圆圈,移动图片,移动的时ul
            //移动的距离是圆圈的索引号乘以图片宽度(负值)
            var index = this.getAttribute('index');
            animate(ul, index * focusWidth * -1);
        })
    }
    //把ol里面的第一个li的类名设置为current
    ol.children[0].className = 'current';

css代码(部分)

.main {
    width: 980px;
    height: 455px;
    margin-left: 220px;
    margin-top: 10px;
    /*background-color: pink;*/
}

.focus {/*焦点图*/
    position: relative;
    width: 720px;
    height: 455px;
}
.focus ul {
    position: absolute;
    top: 0;
    left: 0;
    width: 900%;
    z-index: -1;
}
.focus ul li{
    float: left;
}
.arrow-l,
.arrow-r{
    display: none;
    position: absolute;
    top: 50%;
    margin-top: -20px;
    width: 24px;
    height: 40px;
    background: rgba(0,0,0,.3);
    text-align: center;
    line-height: 40px;
    color: #ffffff;
    font-family: icomoon;
    font-size: 18px;
    z-index: 2;
}
.arrow-r {
    right: 0;
}
.circle {
    position: absolute;
    bottom: 10px;
    left: 50px;
}
.circle li {
    float: left;
    width: 8px;
    height: 8px;
    border: 2px solid rgba(255,255,255,0.5);
    margin: 0 3px;
    border-radius: 50%;
    cursor: pointer;
}

.current {
    background-color: #ffffff;
}


标签:index,ol,轮播,focus,li,ul,var,js,图片
From: https://blog.51cto.com/u_16144724/6380335

相关文章

  • js 获取 image 原始高度
    新版浏览器//这个api仅支持新版本浏览器,旧版还是得创建一个内部图片setTimeout(()=>{letimgRef=this.$refs.imgthis.imgWidth=imgRef.naturalWidththis.imgHeight=imgRef.naturalHeight},10)旧版浏览器(兼容)fu......
  • js 复习
    所有的数组方法concat连接两个或更多的数组,并返回结果copyWithin从数组指定位置拷贝到数组的另一个指定位置中entries返回数组的可迭代对象every检测数值元素,判断是否每个元素都符合条件fill使用一个固定值来填充数组filter过滤find返回符合条件的的数组元素findi......
  • python selenium web网站登录缺口图片验证码识别
    deflogin():driver=webdriver.Chrome("browser_driver/chromedriver.exe")driver.get("http://xxxxxx/#/login")driver.maximize_window()sleep(1)driver.find_element(By.CSS_SELECTOR,'[placeholder="请输入手机号&qu......
  • 在node项目中使用log4.js记录日志
    1.在项目根目录创建保存日志文件的文件夹logs2.修改.gitignore文件,添加logs文件夹,这样使用git提交进忽略logs文件夹。node_modules.envlogs3.在config文件夹下新增log4j.js文件保存log4js的配置,路径:./src/config/log4j.js//config.jsletpath=require('pat......
  • Python excejs 执行js文件的时候 报编码错误的问题
    问题执行js的时候报图中的编码错误,直接执行js文件时能正常编译,在网上未找到关于这个问题的文章头疼了好久最终在各位大佬的帮助下解决了问题,便记录了下来:解决办法:一、修改报错文件subprocess.py中的encoding编码:encoding=None--->encoding='utf-8'二、在引包的时......
  • JSON-RPC示例代码(Java实现)
    以下是一个使用Java实现的JSON-RPC示例代码。该示例使用了JSON-RPC2.0规范和Jackson库进行序列化和反序列化。在这个示例中,我们将创建一个服务器和一个客户端,演示如何进行远程过程调用。首先,确保您已经安装了Java开发环境(JDK)和Maven构建工具。接下来,我们将创建一个Maven项目,并......
  • 2023-05-30 浅试nodejs实现登录接口业务(未完,待测试)
    constexpress=require('express');constbodyParser=require('body-parser');constmysql=require('mysql');//创建MySQL连接池constpool=mysql.createPool({host:'localhost',user:'root',password......
  • Python 读取图片 转 base64 并生成 JSON
    Python读取图片转base64并生成JSONimportjsonimportbase64img_path=r'D:\OpenSource\PaddlePaddle\PaddleOCR\images\005.jpeg';withopen(img_path,'rb')asfile:image_data1=file.read()image=base64.b64encode(image_data1).de......
  • 【Python】将中文字符写入json文件
    ensure_asciiimportjsondict1={'name':'时间','data':['2023-04-1305:00']},{'name':'雨量mm/h','data':['0.0000']},{'name':'温度℃','data':[&......
  • linux Centos7 部署 nodejs服务
    nodejs服务要有nodejs环境。所以要先安装nodejs不会安装的可以看  Centos7安装npm学习 安装pm2cnpminstallpm2-g,查看pm2是否安装成功pm2-v,如果报错,升级node版本进入node项目目录,安装项目依赖 cnpminstall创建pm2任务 [root@localhostserver]#pm2sta......