无限轮播图特效

<!doctype html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<style>
		*{
			padding: 0;
			margin: 0;
			list-style: none;
		}
		img{
			border: 0;
		}
		.box{
			width: 200px;
			height: 300px;
			border: 1px solid red;
			margin: 100px auto 0;
			position: relative;
			overflow: hidden;
		}
		.boxlist{
			width: 1200px;
			height: 300px;
		}
		.boxlist li{
			width: 200px;
			height: 300px;
			float: left;
		}
		.boxlist li a{
			display: block;
		}
		.boxlist li a img{
			display: inline-block;
			width: 100%;
		}
		.btn{
			width: 150px;
			height: 30px;
			border: 1px solid red;
			border-radius: 10px;
			position: absolute;
			bottom: 10px;
			left: 50%;
			margin-left: -75px;
		}
		.btn li{
			float: left;
			width: 18px;
			height: 30px;
			background-color: #aaa;
			float: left;
			border-radius: 50%;
			text-align: center;
			line-height: 30px;
			margin-left: 5px;
			cursor: pointer;
		}
		.btnPos{
			cursor: pointer;
		}
		.btnLeft{
			position: absolute;
			width: 40px;
			height: 60px;
			top: 50%;
			margin-top: -30px;
			background-color: #aaa;
			left: 0
		}
		.btnRight{
			position: absolute;
			width: 40px;
			height: 60px;
			top: 50%;
			margin-top: -30px;
			background-color: #aaa;
			right: 0;
		}
	</style>
	<script src="jquery.js"></script>
</head>
<body>
	<div class="box">
		<ul class="boxlist">
			<li><a href=""><img src="image/1.jpg" ></a></li>
			<li><a href=""><img src="image/2.jpg" ></a></li>
			<li><a href=""><img src="image/3.jpg" ></a></li>
			<li><a href=""><img src="image/4.jpg" ></a></li>
			<li><a href=""><img src="image/5.jpg" ></a></li>
			<li><a href=""><img src="image/6.jpg" ></a></li>
		</ul>
		<ul class="btn">
			<li>1</li>
			<li>2</li>
			<li>3</li>
			<li>4</li>
			<li>5</li>
			<li>6</li>
		</ul>
		<ul class="btnPos">
			<li class="btnLeft">左</li>
			<li class="btnRight">右</li>
		</ul>
	</div>
</body>

js代码

<script>
    $(function(){
        wheel()

    })

    function wheel(){
        var boxlist=$(‘.boxlist‘);
        var btn=$(‘.btn‘);
        var btnList=$(‘.btn li‘)
        var timer=null;
        var index=0;
        timer=setInterval(function(){
            tt()
        },3000)

        // 按钮控制
        btn.hover(function(){
            clearInterval(timer);
            btnList.click(function(){
                    index=$(this).index()

                    boxlist.stop().animate({
                        marginLeft: -200*index+"px"
                    },600)
                    gl()
                })
        },function(){
            timer=setInterval(function(){
                tt()
            },3000)
        })

        // 左右按钮控制
                var btnLeft=$(‘.btnLeft‘);
                var btnRight=$(".btnRight");
                btnLeft.click(function(){
                    clearInterval(timer);
                    tt();
                    timer=setInterval(function(){
                        tt()
                    },3000)
                })
                btnRight.click(function(){
                    clearInterval(timer);
                    tt(1);
                    timer=setInterval(function(){
                        tt(1)
                    },3000)
                })

        // 高亮按钮
                    function gl(){
                            if(index > 5){
                                index=0;
                            }
                            if(index < 0){
                                index=5
                            }

                            for (var i = 0; i < btnList.length; i++) {
                            $(btnList[i]).css({
                                backgroundColor: "#aaa",
                                color: "black"
                            })
                            $(btnList[index]).css({
                                backgroundColor: "#fff",
                                color: "red"
                            })
                        };
                    }
                    gl()

        // 动画
        function tt(pos){

            //pos控制按钮方向 -1是左,1是右;
            if(pos){
                pos=1;
                // 向右
                        index--;

                    gl();
                var boxLast=$(‘.boxlist li:last‘)
                    boxlist.css({
                        marginLeft: -200+"px"
                    })
                    boxLast.prependTo(boxlist);
                    boxlist.stop().animate({
                        marginLeft: 0+"px"
                    },600)

            }else{
                pos=-1;
                        //向左;
                        index++;

                    gl();
                var boxFirst=$(‘.boxlist li:first-child‘)
                    boxlist.css({
                        marginLeft: 0+"px"
                    })
                    boxlist.stop().animate({
                        marginLeft: pos*200+"px"
                    },600)
                    boxFirst.appendTo(boxlist)
            }

        }

    }

</script>
时间: 2024-10-20 10:10:32

无限轮播图特效的相关文章

无限轮播图的制作

url:http://zjingwen.github.io/SetTimeOutGoBlog/webdemo/huanyouji/index.html (如果打开过慢,或者打不开,原因你懂得.) 一.思路 1.所有滑动效果的demo都是通过控制css里的left值,来控制滑动效果的. 2.需要两个块,一个div块,一个ui.div块的position是relative,ui块的position是absolute.这样ui块的left就可以根据外层的div来控制.div的overflow是hidd

无限轮播图

思路:在ScrollView的contentSiz设置成ScrollView宽的度的三倍.创建三个循环的View.当滑动的时候,正常滑动活动结束.滑动结束设置contentOffset将视图滑动到中间去.将后面的数据赋值到中间...简单说就是视图只显示中间一张视,交换数据实现不同数据的显示.. #import <UIKit/UIKit.h> @protocol YQImageLoopDelegate <NSObject> - (void)YQImageLoopConfigDataA

11-项目:JS实现轮播图特效

btn.onclick  等同于  btn[“onclick”]    //任何的  .  都可以用[”  “]代替 ie9或以上的透明度用opcity : .8 :ie8及以下用filter:alpha(opcity=80) 一.焦点图结构及样式 二.主菜单 三.子菜单 四.上下一张按钮,及小圆点高亮 1.定义一个全局变量a,表示当前图片的索引 2.获取当前有多少张图片pics,pics.length 3.点击下一张,a++,如果a>=pics.length,那么a=0 4.用for循环把所有

关于自定义无限轮播图_Android

首先看一下效果图 下载地址Demo 废话不多说上代码了 首先看我们自定义的可以设置是否可以滑动的viewpager package cn.yuan.banner; import android.content.Context; import android.support.v4.view.ViewPager; import android.util.AttributeSet; import android.view.MotionEvent; /** * Created by yukuo on 2

Jquery基础(动画效果的轮播图特效)

jquery文档准备的三种写法: $(document).ready(function() { }); $().ready(function() { }); $(function() { }); jquery选择器 基本选择器 $('*') / $('.div') / $('div') / $('#first') / 多项选择器 $('#first, div, .second') 层级选择器 $('aside summary') //aside的子元素summary $('aside > det

iOS 无限轮播图的两种实现

首先说一下实现的思想: 用UIScrollView实现,在scrollView上添加3个UIImageView,分别用来显示上一张图片,当前显示的图片,下一张图片.scrollView在不滑动的时候永远显示当前图片(第二张图片)即contentOffset = CGPointMake(scrollViewW,0),在滑动的时候可以预览部分上一张图片或下一张图片.现在以向左滑动为例,因为已经设置好三张图片,我们向左滑动可以看到下一张图片的一部分(此时屏幕显示着部分当前图片和部分下一张图片).如果完

透明度变化轮播图特效

jQuery实现的透明度变化, <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>透明度渐变幻灯片</title> <style> *{ padding: 0; margin: 0; list-style: none; } .box{ width: 710px; height: 475px; b

Android 超简单自动无限轮播图LoopView

只需要你传入数据就可以了 效果图 demo地址 https://github.com/wanghao200906/Android-LoopView 效果实现 1.添加依赖库 2.添加到xml < com.kevin.loopview.AdLoopView android:id="@+id/main_act_adloopview" android:layout_width="match_parent" android:layout_height="54

自定义完美的ViewPager 真正无限循环的轮播图

网上80%的思路关于Android轮播图无限循环都是不正确的,不是真正意义上的无限循环, 其思路大多是将ViewPager的getCount方法返回值设置为Integer.MAX_VALUE, 然后呢将ViewPager的当前展示页设置为第1000页或者是10000页,这样用户一般情况下是滑不到边界的 例如有5张图片的轮播图,item的编号为(0,1,2,3,4)当前页的页号如果是5, 这时候就将编号设置为0,即 actPosition %= datas.size();这个公式就是这么来的 这种