js 实现横向轮播效果

参考:https://www.cnblogs.com/LIUYANZUO/p/5679753.html

html:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
        <title>js横向轮播</title>
        <style type="text/css">
            body {
                margin: 0;
            }

            #container {
                position: relative;
                width: 100%;
                height: 300px;
                overflow: hidden;
                z-index: -1;
            }

            #list {
                position: absolute;
                width: 4200px;
                height: 300px;
            }

            #list .img {
                float: left;
                /* width: 375px; */
                height: 300px;
            }
        </style>
    </head>
    <body>
        <div id="container">
            <div id="list"></div>
        </div>
    </body>
    <script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
    <script type="text/javascript">
        window.onload = function() {
            var container = document.getElementById(‘container‘),
                list = document.getElementById(‘list‘),
                index = 1;
            $(‘#list‘).css(‘left‘, -screen.width + ‘px‘);
            var timer;
            var imgList = [{
                        src: ‘img/1.jpg‘
                    },
                    {
                        src: ‘img/2.jpg‘
                    },
                    {
                        src: ‘img/3.jpg‘
                    },
                    {
                        src: ‘img/4.jpg‘
                    },
                    {
                        src: ‘img/5.jpg‘
                    }
                ],
                l = imgList.length - 1,
                len = imgList.length,
                w = screen.width,
                string = ‘‘;
            string = makeStr(imgList, l);
            $(‘#list‘).append(string);
            var j = 0;
            while (j < imgList.length) {
                string = makeStr(imgList, j);
                $(‘#list‘).append(string);
                j++;
            }
            string = makeStr(imgList, 0);
            $(‘#list‘).append(string);
            $(‘#list .img‘).css(‘width‘, screen.width + ‘px‘);

            function makeStr(arr, i) {
                string = "<div class=‘img‘ style=‘background:url(" +
                    arr[i].src + ") no-repeat;background-size:100%‘/></div>";
                return string;
            }

            function animate(offset) {
                var newLeft = parseInt(list.style.left) + offset;
                list.style.left = newLeft + ‘px‘;
                if (newLeft > -w) {
                    list.style.left = w * len + ‘px‘;
                }
                if (newLeft < -w * len) {
                    list.style.left = -w + ‘px‘;
                }
            }

            function play() {
                timer = setInterval(function() {
                    start();
                }, 2000)
            }

            function start() {
                index += 1;
                if (index > len) {
                    index = 1
                }
                animate(-w);
            };

            function stop() {
                clearInterval(timer);
            }
            if (imgList.length > 1) {
                play();
            }
        }
    </script>
</html>

原文地址:https://www.cnblogs.com/linjiangxian/p/11460760.html

时间: 2024-08-11 14:22:01

js 实现横向轮播效果的相关文章

原生js重写《锋利的JS》之 轮播效果

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

基于原生js的图片轮播效果简单实现

基本效果如下: 实现了三张图片自动轮播+按键点击切换的效果. 基本思想: 图片轮播的效果和老式电影院的胶片放映形式很相似,在老式的电影院放映中,使用长长的胶片记录影片,胶片上是按顺序排列的一系列图片,通过快速通过放映机放映口,使这些图片产生一个连贯的切换效果,形成了动态的影片.所以,这里图片轮播的形式也可以采用这种方式来形成动画效果. 形式如下图: (黑框即我们的最外层的容器,充当放映机的存在:绿框就是胶片,上面搭载着很多的图片:粉框内即我们要轮播的图片) 从上图出发,我们要做到图片轮播,那么只

js 多动画轮播效果

图片:轮播.jpg 如图,所示的轮播,不但要切换大的背景图,还有文字及其它一些图片,也要动画显示. 当然,这个效果的实现,网上有类似的插件. 不过,也可以自己写出来. 下面我们就一起来看看.燥起来吧!!! 第一步:         大家暂时不要考虑动态这些的,就是把要轮播的页面及内容,全部显示出来.         ( 注:轮播一般也称幻灯片播放,下面,我们就把每一次图片的切换,称为幻灯片的切换,每一张幻灯片就用一个LI来实现,而每个幻灯片里还可以包含其它信息,文字,图片都可以,将它们用div包

原生js实现图片轮播效果

思路:设置父容器(一定宽度,一定高度,相对定位,子容器超出部分进行隐藏),子容器图片并排(浮动,绝对定位,每次点击进行相应的左或右偏移量) 1.html: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <title>Carousel figure</title> 5 <meta charset="utf-8"> 6 <!-- 浏览器标签页显示图标 --> 7 <lin

js的轮播效果

图片的轮播效果!主要运用了元素的style样式属性,与 setInterval(); <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <style> *{ margin: 0; padding: 0; } div{ width: 960px; height: 400px; o

js实现淘宝首页图片轮播效果

原文:http://ce.sysu.edu.cn/hope2008/Education/ShowArticle.asp?ArticleID=10585 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>淘宝首页图片轮播效果</title> <style> <!-- * {margin: 0;padding:0;} body

原生js点击轮播图效果

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <script src="http://g.tbcdn.cn/mtb/lib-flexible/0.3.4/??flexible_css.js,flexible.js"></script> <title>原生js轮播效果</title&g

JS实现焦点图轮播效果

大家平时逛淘宝网的时候,在首页就能看到焦点图轮播的效果,就是这个样子的: PS:想起每每打开淘宝,总会被这个玩意先夺眼球,偶尔还去点进去溜溜,幸好我定力好,总能控制住自己的购买欲望,为自己不用剁手感到欣慰 ! 好吧,其实说白了就是穷,就是没钱,就是不能好好地任性,所以只能先去慕课网找教程学习把它给做出来! OK,首先将HTML结构搭建好先: <div id="container"> <div id="list" style="left:

JS学习笔记--轮播图效果

希望通过自己的学习收获哪怕收获一点点,进步一点点都是值得的,加油吧!!! 本章知识点:index this for if else 下边我分享下通过老师教的方式写的轮播图,基础知识实现: 1.css代码 <style> ul, ol { padding:0; margin:0; } li { list-style:none; } #box { width:600px; height:350px; border:10px solid #ccc; margin:0 auto; position:r