jQuery实现图片左右轮播

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <style type="text/css">
    * {margin: 0;padding:0;}
    div.picdiv {position: relative;width: 1920px;height: 540px;overflow: hidden;}

    ul.pic li {position: absolute;left:100%;list-style-type: none;}
    ul.pic li.on {left: 0;}
    ul.mark {position: absolute;left: 50%;margin-left:-100px;bottom: 10px;}
    ul.mark li {float: left;width:5px;height: 5px;border-radius: 15px;margin: 0 5px;background-color: red;list-style-type: none;}
    ul.mark li.on {width: 30px;}
    div.pre {position: absolute;width: 120px;height:200px;left: 300px;top: 170px;background-color: rgb(13,13,13);cursor: pointer;}
    div.pre:before {content:"";width: 0;height: 0;position: absolute;border-top:80px solid transparent ;border-right:80px solid #fff;border-bottom:80px solid transparent;left: 15px;top: 25px;display: block;}
    div.pre:after {content:"";width: 0;height: 0;position: absolute;border-top:80px solid transparent ;border-right:80px solid rgb(13,13,13);border-bottom:80px solid transparent;left: 25px;top: 25px;display: block;}
    div.next {position: absolute;width: 120px;height: 200px;right: 300px;top: 170px;background-color: rgb(13,13,13);cursor: pointer;}
    div.next:before {content: "";width: 0;height: 0;position: absolute;border-top:80px solid transparent ;border-left:80px solid #fff;border-bottom:80px solid transparent;right: 15px;top: 25px;}
    div.next:after {content: "";width: 0;height: 0;position: absolute;border-top:80px solid transparent ;border-left:80px solid rgb(13,13,13);border-bottom:80px solid transparent;right: 25px;top: 25px;}
    </style>
 <script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
</head>
<body>
<div class="picdiv">
<ul class="pic">
<li class="on"><img src="image/1.png"></li>
<li><img src="image/2.png"></li>
<li><img src="image/3.jpg"></li>
<li><img src="image/4.jpg"></li>
</ul>
<div class="pre"></div>
<div class="next"></div>
</div>
<script type="text/javascript">
function picplay(ele,pre,next) {

    var index=lastindex=0;
    var pic=$(ele)
    var prebtn=$(pre)
    var nextbtn=$(next)

    tag(pic.length);         //创造标签
    $("ul.mark li").mouseover(function(){   //标签定位图片
        var a=$(this).index()
        console.log(a)
        clearInterval(t)
        play(a)

    })
$("ul.mark li").mouseout(function(){
    autoplay()
})
pic.mouseover(function () {
    clearInterval(t)
})
pic.mouseout(function () {
    autoplay()
})

prebtn.click(function () {
    clearInterval(t)
    index--;
    index<0 && (index=3)
    play(index)

})
$(pre,next).mouseout(function () {
    autoplay()
})
nextbtn.click(function () {
    clearInterval(t)
    index++;
    index>pic.length-1&& (index=0)
    nextplay(index)

})
    function autoplay() {
     t=setInterval(function () {
         index++;
         index>pic.length-1 && (index=0)
         play(index)

     },3000)
    }
    autoplay();

    function play (a) {

        index=a
        pic.eq(a).css("left","100%").stop(true,true).animate({left:"0"},1000)  //使用的百分比,在css里要给出固定的父元素宽度,不然缩小页面会出现错误
        pic.eq(lastindex).stop(true,true).animate({left:"-100%"},1000)
        $("ul.mark li").removeClass("on")
        $("ul.mark li").eq(a).addClass("on")
        lastindex=a

    }
    function nextplay(a) {
        index=a
        pic.eq(a).css("left","-100%").stop(true,true).animate({left:"0"},1000)
        pic.eq(lastindex).stop(true,true).animate({left:"100%"},1000)
        $("ul.mark li").removeClass("on")
        $("ul.mark li").eq(a).addClass("on")
        lastindex=a
    }

}
picplay("ul.pic li","div.pre","div.next");
function tag(len) {                              //根据图片数量创造小标签
    var newul=$("<ul>").addClass("mark")
    for (var i = 0; i < len; i++) {
        console.log(i)
        newul.append($("<li>"))
    }
    newul.find("li:first").addClass("on")
    $("div.picdiv").append(newul)
}
</script>
</body>
</html>
时间: 2024-08-04 13:57:34

jQuery实现图片左右轮播的相关文章

jquery实现图片无缝轮播显示(个人随笔)

纯属个人随笔,不当之处,欢迎指正. 代码如下: <!doctype html> <html> <head> <meta charset="utf-8"> <title>图片无缝轮播显示</title> <script type="text/javascript" src="JavaScript/jquery-1.11.2.min.js"></script&g

jquery全屏背景轮播切换的登录页

很大气漂亮的注册登录页面模板,带背景全屏轮播JS特效,基于jQuery实现,可左右按钮实现背景全屏切换,全屏效果是基于背景图片平铺,插件支持自动切换播放. 演示    下载 <!DOCTYPE html> <html> <head> <title>jquery带全屏背景图片轮播切换的注册登录页面-素材吧</title> <meta name="keywords" content="jQuery背景全屏轮播,JS

Android中使用ImageViewSwitcher实现图片切换轮播导航效果

前面写过了使用ViewFlipper和ViewPager实现屏幕中视图切换的效果(未实现轮播)附链接: Android中使用ViewFlipper实现屏幕切换 Android中使用ViewPager实现屏幕页面切换和页面切换效果 今天我们在换一种实现方式ImageViewSwitcher. ImageSwitcher是Android中控制图片展示效果的一个控件,如:幻灯片效果 ImageSwitcher粗略的理解就是ImageView的选择器. ImageSwitcher的原理:ImageSwi

iOS开发之ImageView复用实现图片无限轮播

在上篇博客中iOS开发之多图片无缝滚动组件封装与使用给出了图片无限轮播的实现方案之一,下面在给出另一种解决方案.今天博客中要说的就是在ScrollView上贴两个ImageView, 把ImageView进行交替切换来实现图片的无限轮播,在轮播时去修改ImageView上的图片.上一篇博客中是有几张图片就实例化几个ImageView, 然后事先把Image贴到相应的ImageView上,这种做法比较简单,而且易于实现. 今天这篇博客就要实现使用两张ImageView, 交替的区展示Image,

ViewPager实现图片的轮播

在app中图片的轮播显示可以说是非常常见的实现效果了,其实现原理不过是利用ViewPager,然后利用handler每隔一定的时间将ViewPager的currentItem设置为当前item的position+1即可.先来看看效果图吧: 就是实现这样的一个轮播广告的效果. 因为这个是自己为了练习仿照某旅游类App做的,所以这里的数据是使用抓包工具抓取的,准备数据等工作就不在这里赘述了,反正数据的添加大体都是相同的.我的思路是这样的,从网络上实时的获取数据(当然你也可以将数据写死),然后通过网络

仿网易云音乐 专辑图片折叠轮播

仿网易云音乐 专辑图片折叠轮播 先不多说现上一张效果图 首先简述一下实现原理 1.首先让我们的imageview**动起来** 其实是不断的.invalidate();函数 让他不断的调用ondarw函数 (显然我们不必要不断的调用ondarw函数 只有在我们让他动的时候调用即可 所以我们要声明一个变量记录change记录是否产生动画) 2.实现我们的可折叠效果 Matrix的setPolyToPoly方法的使用 可参考(http://blog.csdn.net/lmj623565791/art

介绍两个JQuery插件 — 滚动和轮播

1.滚动组件. 有时候需要在网页中的各个部分跳转,类似于回到首页的功能,给点动画当然是极好的.JQuery插件AnimateScroll就是解决这个问题的. 使用方法类似这样: $('#use').animatescroll({scrollSpeed:1500, easing:'easeOutCubic'}); //跳转到#use处 更多方法请访问项目主页. 2.轮播组件 这款轮播组件同样基于JQuery,可以用来做个牛逼哄哄的3D相册神马的. demo地址:http://tympanus.ne

WPF技术触屏上的应用系列(四): 3D效果图片播放器(图片立体轮放、图片立体轮播、图片倒影立体滚动)效果实现

原文:WPF技术触屏上的应用系列(四): 3D效果图片播放器(图片立体轮放.图片立体轮播.图片倒影立体滚动)效果实现 去年某客户单位要做个大屏触屏应用,要对档案资源进行展示之用.客户端是Window7操作系统,54寸大屏电脑电视一体机.要求有很炫的展示效果,要有一定的视觉冲击力,可触控操作.当然满足客户的要求也可以有其它途径.但鉴于咱是搞 .NET技术的,首先其冲想到的微软WPF方面,之前对WPF的了解与学习也只是停留在比较浅的层面,没有进一步深入学习与应用.所以在项目接来以后,也就赶鸭子上架了

实现图片的轮播效果

实现图片的轮播效果 1.显示页面:index.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <!DOCTYPE h