简单的轮播图

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style>
            * {
                margin: 0;
                padding: 0;
            }

            ul,ol {
                list-style: none;
            }

            img {
                display: block;
            }

            .slider {
                width: 490px;
                height: 170px;
                border: 1px solid #ccc;
                margin: 100px auto;
                padding: 5px;
                position: relative;
            }

            .inner {
                width: 100%;
                height: 100%;
                background-color: pink;
                position: relative;
                overflow: hidden;
            }

            .inner ul {
                width: 1000%;
                position: absolute;
                top: 0;
                left: 0;
            }

            .inner ul li {
                float: left;
            }

            .slider ol {
                position: absolute;
                left: 50%;
                bottom: 10px;
            }

            .slider ol li {
                float: left;
                width: 18px;
                height: 18px;
                background-color: #fff;
                margin-right: 10px;
                text-align: center;
                line-height: 18px;
                cursor: pointer;
            }

            .slider ol li.current {
                background-color: orange;
            }
        </style>
    </head>
    <body>
        <div class="slider" id="slider">
            <div class="inner">
                <ul id="box">
                    <li><a href="#"><img src="images/01.jpg" alt=""/></a></li>
                    <li><a href="#"><img src="images/02.jpg" alt=""/></a></li>
                    <li><a href="#"><img src="images/03.jpg" alt=""/></a></li>
                    <li><a href="#"><img src="images/04.jpg" alt=""/></a></li>
                    <li><a href="#"><img src="images/05.jpg" alt=""/></a></li>
                </ul>
            </div>
            <ol id="bt">
                <li class="current">1</li>
                <li>2</li>
                <li>3</li>
                <li>4</li>
                <li>5</li>
            </ol>
        </div>
    </body>
</html>
<script src="common.js"></script>
<script>
    var index = 0;
    var moveTimer = null;
    var olist = $id("bt").children;
    var ulist = $id("box").children;
    moveTimer = setInterval(autoPlay,1500);
    function autoPlay(){
        index++;
        for(var i = 0;i < olist.length;i++){
            olist[i].className = "";
        }
        if(index == olist.length){
            index = 0;
        }
        olist[index].className = "current";
        move($id("box"),-index * ulist[0].offsetWidth);
    }
    for(let i = 0;i < olist.length;i++){
        olist[i].onmouseover = function(){
            clearInterval(moveTimer);
            index = i - 1;
            autoPlay();
        }
        olist[i].onmouseout = function(){
            moveTimer = setInterval(autoPlay,1500);
        }
    }
    function move(obj,target){
        clearInterval(obj.timer);
        obj.timer = setInterval(function(){
            var speed = (target - obj.offsetLeft) / 10;
            speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed);
            if(target == obj.offsetLeft){
                clearInterval(obj.timer);
            }else{
                obj.style["left"] = obj.offsetLeft + speed + "px";
            }
        },30);
    }
</script>

引入的common.js文件

//定义一个函数 功能是根据id查找页面元素
function $id( id ){
    return document.getElementById( id );
}
//创建元素
function create(ele){
    return document.createElement(ele);
}

//获取任意区间的整数值
function rand( min , max ){
    return Math.round( Math.random()*(max-min) + min );
}

//随机获取六位十六进制颜色值
function getColor(){
    var str = "0123456789abcdef";
    var color = "#";
    for( var i = 1 ; i <= 6 ; i++ ){
        color += str.charAt( rand(0,15) );
    }
    return color;
}

//自定义日期时间格式
function dateToString(now,sign){
    //默认日期的间隔符为  -  如果用户传递的是/  就使用/  .  如果用户不传递任何参数 默认是-
    sign = sign || "-";
    var y = now.getFullYear();
    var m = toTwo(  now.getMonth()+ 1  ) ;
    var d = toTwo(  now.getDate() );
    var h = toTwo(  now.getHours() );
    var _m = toTwo(  now.getMinutes() );
    var s = toTwo( now.getSeconds() ) ;
    var str = y + sign + m + sign + d + " " + h + ":" + _m + ":" + s;
    return str;
}
//判断得到的结果是否小于10 如果小于10,前面拼接0
function toTwo(val){
    return val < 10 ? "0"+val : val;
}

//验证码 : 字母和数字组成
function yzm(){
    //小写字母   大写字母   数字
    //48--122 随机获取一个code值  判断编码值如果在 58--64   91--96 两个区间,就重新抽取
    //如果不在上面的两个区间内,就将code转成字符, 拼接到字符串中
    var str = "";//拼接6位的验证码
    for( var i = 1 ; i <= 6 ; i++ ){
        var code = rand( 48 , 122 );
        if( code >= 58&&code <= 64 || code >= 91 && code <= 96 ){
            //就重新抽一次
            i--;
        }else{
            var ch = String.fromCharCode( code );
            str += ch;
        }
    }
    return str;
}

//碰撞函数
function pz(d1,d2){
    R1 = d1.offsetWidth+d1.offsetLeft;
    L1 = d1.offsetLeft;
    T1 = d1.offsetTop;
    B1 = d1.offsetHeight + d1.offsetTop;

    R2 = d2.offsetWidth+d2.offsetLeft;
    L2 = d2.offsetLeft;
    T2 = d2.offsetTop;
    B2 = d2.offsetHeight + d2.offsetTop;

    //如果碰不上 返回false
    if( R1 < L2 || B1 < T2 || T1 > B2 || L1 > R2 ){
        return false;
    }else{
        return true;
    }
}

原文地址:https://www.cnblogs.com/Leslie-Cheung1584304774/p/10529429.html

时间: 2024-10-24 12:48:02

简单的轮播图的相关文章

实现比较简单的轮播图效果

实现简单的轮播图效果. 废话不多说,我们开始. HTML和CSS较为简单,不在这里做赘述.简单的给大家一个HTML代码. <div class="carousel"> <div id="goLeft"></div> <ul> <li><img src="" /></li> <li><img src="" /></l

jquery简单无缝轮播图实现

此简单轮播图布局原理是: 一个div包含图片列表,和控制按钮.其宽度等于图片的宽度,溢出隐藏. 图片要左浮动. jquery原理: 开一个定时器,隔一段时间执行图片列表向左移动一个图片的宽度,同时在移动时设置一个回调函数. 把向左移动的图片,也是图片列表的第一张图片,添加到图片列表ul的末尾. 这样实现了,图片自动播放的效果. 怎么带动图片控制的小按钮变亮? 因为每一次图片轮播,都会改变图片值得索引,那就给函数加一个变量 i ,每一次执行定时器都会i++: var spanindex=i%4;

JQuery实现简单的轮播图基本思路

demo点这里 需要达到的效果 常见的轮播图组件自动翻页,左右跳转按钮,下方是indexindex显示了当前图片位置,左右按钮就是更改当前位置第一个版本暂时不定义api了,写简单点 大概思路 用banner隐藏超出部分的图片imageList是inline要显示的话就float到标签位置 首先是html 从sublime换了webstorm,自带了emmet插件也就是可以这样写div.wrapper>div.banner>ul.imageList>(li>img)*4^img+im

jQuery实现简单的轮播图

先看效果,如果是你想要的,可以看看总体思路: 1.自动轮播2.指定轮播3.左右翻动 详细步骤:jQuery部分 设置第一张图片显示,其他的兄弟元素隐藏 自动轮播的时候,指定第一张的索引为 i=0,然后 i++, 使其对应的 i 索引的图片显示,其他的隐藏,当 i=5(即第六张图片的时候,使其为第一张即可,否则我们没有第六张图片就不显示了). 指定图片轮播,就是鼠标移动到白圈上显示对应的图片,并计时器停止,我们可以看看图片上的内容,有的轮播图计时器还是继续的,看不了什么内容:鼠标离开则继续轮播.

使用jQuery写一个简单的轮播图

html代码: <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" /> <title>轮播图练习</title> <link rel="stylesheet" href="css/css.css" type="text/css"/></head>

简单的轮播图小插件

1 (function () { 2 $.fn.moreImg = function () { 3 var allpar = Array.prototype.slice.call(arguments);//获取传过来的参数,打散成数组,如对这个有疑问可以参考我收藏的[优雅代码]深入浅出 妙用Javascript中apply.call.bind的那个文章,作者讲的老好了 4 var elem = allpar[0]; 5 var allImg = allpar[1]; 6 if (allImg.l

利用函数制作简单的轮播图

2016年11月29日,星期二    一.样式代码: 样式图: 二.设置DIV(left,center,right),script,JS链接: 三.函数代码: 四.完成图:         

最简单jquery轮播图效果

样式部分 <style type="text/css"> *{margin:0;padding:0;} ul,ol{list-style:none;} #box{width:420px;height:630px;margin:100px auto;position:relative;overflow:hidden;} #box li{height:630px;width:420px;} #box ol{position:absolute;z-index:99;right:1

自己写的简单的轮播图

代码部分: <!DOCTYPE html> <html> <head> <style type="text/css"> *{margin:0px; padding:0px;} .flash{width:100%; height:400px; overflow:hidden; position:relative;color:#fff;} .flash ul.con li{list-style-type:none;width:100%; he

简单的轮播图代码

<html> <script type="text/javascript" src="./jquery.min.js"></script> <body><style type="text/css">.banner{ height:365px; overflow:hidden;}.banner ul{ float:left; position:relative; left:50%; mar