本文实例讲述了jQuery实现的网站banner图片无缝轮播效果。分享给大家供大家参考,具体如下:

图片轮播

html,body{

padding: 0;

margin: 0;

}

ul,ul li{

list-style: none;

margin: 0;

padding: 0;

}

.box{

}

#banner{

position: relative;

height:auto;

overflow: hidden;

}

#banner ul{

position:absolute;

}

#banner ul li{

float: left;

}

#banner ul li img{

width: 100%;

height: 100%;

}

#banner #prevBtn,#banner #nextBtn{

height:80px;

width:30px;

background:rgba(0,0,0,0.5);

position:absolute;

top:50%;

margin-top:-40px;

font-size:30px;

line-height:80px;

text-align:center;

text-decoration:none;

color:white;

opacity: 0;

transition: opacity 0.8s ease;

}

#banner #prevBtn{

left:0;

}

#banner #nextBtn{

right:0;

}

#banner:hover #prevBtn,#banner:hover #nextBtn{

opacity: 1;

}

.dot{

height:10px;

width:10px;

border-radius:10px;

background:#2196f3;

display:inline-block;

margin:5px;

}

.on{

background: #009688;

}

(function($,window,document,undefinen){

$.fn.bannerSwiper=function(option){

this.default={

boxWrap:null,//必填

nextBtn:false,//是否往下启动按钮

prevBtn:false,//是否往上启动按钮

autoPlay:false,//是否启动自动播放

times:3000,//自动轮播的时间间隔,

speed:600,//点击按钮是切换的速度

circle:false,//是否启动小圆点

circleAlign:"center",//小圆点的对其方式

circleClick:false//小圆点是否可以点击

}

var self=this;

this.time=null;

this.options=$.extend({},this.default,option);

self.flag=true;

// 插件入口

this.init=function(){

this.bulid();

}

this.bulid=function(){

var self=this;

var wrap=self.options.boxWrap;

self.num=1;

self.nowTime=+new Date();

self.width=$(window).width();

var firstImg=$(wrap).find('li').first();

var lastImg=$(wrap).find('li').last();

$(wrap).append(firstImg.clone());

$(wrap).prepend(lastImg.clone());

self.length=$(wrap).find('li').length;

$(wrap).width(self.width*self.length);

$(wrap).find('li').width(self.width)

$(wrap).parent().height(480);

$(wrap).parent().width(self.width);

$(wrap).css({'left':-self.width*self.num})

// 是否启动自动轮播

if(self.options.autoPlay){

self.plays();

}

// 是否启动按钮

if(self.options.nextBtn){

self.NextBtn();

}

// 是否启动按钮

if(self.options.prevBtn){

self.prevBtn();

}

// 是否启动小圆点

if(self.options.circle){

self.circle()

}

if(self.options.circleClick){

self.clickCircle();

}

}

// // 鼠标移入时

self.on('mouseenter',function(){

self.stops();

})

// 鼠标移出时

self.on('mouseleave',function(){

self.plays(1);

})

// 开始计时器,自动轮播

this.plays=function(){

var self=this;

// self.stops();

console.log('play')

this.time=setInterval(function(){

self.go(-self.width)

},self.options.times);

}

// 停止计时器

this.stops=function(){

console.log('stop');

clearInterval(self.time)

}

// 手动创建按钮元素

this.prevBtn=function(){

var self=this;

var ele=$("<");

self.append(ele);

$('#prevBtn').bind("click",function(){

self.go(self.width);

})

}

// 手动创建按钮元素

this.NextBtn=function(){

var self=this;

var ele=$(">");

self.append(ele)

$('#nextBtn').bind("click",function(){

self.go(-self.width);

})

}

// 手动创建小圆点

this.circle=function(){

var self=this;

var ele=$('

for(var i=0;i

$('').appendTo(ele)

}

ele.css({

"position":"absolute",

'bottom':'0',

'right':'0',

'left':'0',

'height':'20px',

"padding":"0 10px",

'text-align':self.options.circleAlign

});

self.append(ele);

self.playCircle(this.num-1);

}

//小圆点指定当前项

this.playCircle=function(num){

$('#circle-wrap').find('.dot').eq(num).addClass('on').siblings().removeClass('on');

}

// 点击小圆点

this.clickCircle=function(){

var self=this;

$('#circle-wrap').find('.dot').on('click',function(){

self.num=$(this).index()+1;

self.circlePlay()

})

}

// 点击小圆点,图片切换

this.circlePlay=function(){

self.flag=true;

if(self.flag){

self.flag=false;

$(self.options.boxWrap).stop().animate({

'left':-self.num*self.width

},self.options.speed,function(){

self.flag=true;

});

}

self.playCircle(this.num-1);

}

// 点击按钮,进行轮播,以及自动轮播

this.go=function(offset){

var self=this;

if(self.flag){

self.flag=false;

if(offset<0){

self.num++;

if(self.num>self.length-2){

self.num=1;

}

}

if(offset>0){

self.num--;

if(self.num<=0){

self.num=self.length-2

}

}

if(Math.ceil($(self.options.boxWrap).position().left)

$(self.options.boxWrap).css({

'left':-self.width

});

}

if(Math.ceil($(self.options.boxWrap).position().left)>-self.length){

$(self.options.boxWrap).css({

'left':-self.width*(self.length-2)

})

}

self.playCircle(this.num-1);

$(self.options.boxWrap).stop().animate({

'left':$(self.options.boxWrap).position().left+offset

},self.options.speed,function(){

self.flag=true;

});

}

}

this.init();

}

})(jQuery,window,document)

$('#banner').bannerSwiper({

boxWrap:"#banner-wrap",

nextBtn:true,

prevBtn:true,

autoPlay:true,

circle:true,

circleClick:true

})

运行效果:

感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.jb51.net/code/HtmlJsRun测试上述代码运行效果。

希望本文所述对大家jQuery程序设计有所帮助。

html banner图片滚动,jQuery实现的网站banner图片无缝轮播效果完整实例相关推荐

  1. 【案例】图片无缝轮播效果

    知识点: 1.scrollLeft属性 2.克隆节点 3.定时器 4.鼠标移入移除事件 <!DOCTYPE html> <html lang="en"> & ...

  2. unity实现图片轮播效果_Unity 制作图片轮播功能

    功能:自动播放移动 首尾相接  鼠标移到图片上 时 移动停止并 该图片变大  鼠标离开图片恢复原形 轮播效果继续 效果如下 界面布局 大体是这个样子 scrollView就是一个底板带Image组件 ...

  3. 文字图片滚动 jquery 实现代码

    文字图片滚动 jquery 实现代码 http://www.jq22.com/webqd134

  4. html5jqueryl轮播图,基于JQuery的实现图片轮播效果(焦点图)

    完整的演示代码: JQuery实现图片轮播效果 #banner {position:relative; width:478px; height:286px; border:1px solid #666 ...

  5. android首页图片轮播效果,Android_Android自动播放Banner图片轮播效果,先看一下效果图支持本地图 - phpStudy...

    Android自动播放Banner图片轮播效果 先看一下效果图 支持本地图片以及网络图片or本地网络混合. 使用方式: android:id="@+id/banner" andro ...

  6. js轮播图片小圆点变化_用jQuery实现圆点图片轮播效果

    在页面的指定位置实现的图片自动的左右轮流切换展示效果,当点击图片左下的标签(或中间的小圆点)切换到对应的图片.接下来通过本文给大家分享用jQuery实现圆点图片轮播效果实例代码,需要的朋友参考下 图片 ...

  7. html ul 圆点轮播图,用jQuery实现圆点图片轮播效果

    图片轮播效果 : 在页面的指定位置实现的图片自动的左右轮流切换展示,效果为无缝连接; 点击图片左下的标签(或中间的小圆点)切换到对应的图片; 点击图片的左右切换标签; 整体思路 : --------- ...

  8. jQuery实现图片轮播效果

    图片轮播效果 : 在页面的指定位置实现的图片自动的左右轮流切换展示,效果为无缝连接; 点击图片左下的标签(或中间的小圆点)切换到对应的图片; 点击图片的左右切换标签; 整体思路 : 自动轮播: 将一个 ...

  9. html轮播文字上下轮播,js、jQuery实现文字上下无缝轮播、滚动效果

    因项目需要实现消息通知上下无缝轮播的效果,所以写了一下,在这个分享出来,希望再次遇到此需求的道友,可以直接拷贝来用,节约一点不必要的时间. 原生JS版本 文字上下无缝轮播 * { margin: 0; ...

  10. php制作图片轮播_图片轮播效果实现方法

    图片轮播效果如何实现呢本文主要介绍了JQuery实现图片轮播效果的制作原理以及实现代码,文章末尾附上源码下载,具有很好的参考价值.下面跟着小编一起来看下吧,希望能帮助到大家. 用JQuery操作DOM ...

最新文章

  1. sqlinesdata教程_如何将Oracle数据导入MySQL
  2. android中Textview 和图片同时显示时,文字省略号显示,图片自动靠到右边
  3. F2etest+UIRecorder(录制脚本)【2】
  4. idea单行注释对齐修改Settings - Editor - Code Style-Code Generation,取消comment code的勾选
  5. java canvas 缩放图片_java-GWT:放大和缩小画布绘图
  6. 如何在matlab里输入复杂公式_在MATLAB作图中输出漂亮的公式
  7. 如何在IIS添加MIME扩展类型
  8. mysql性能优化总结详解:MySQL数据库从原理到高性能实战
  9. 数学基础(0)-- 高等数学、概率论与数理统计
  10. Excel构建决策分析模型
  11. srt字幕转ass字幕在线工具分享
  12. linux下的网络管理命令,【linux】常见的网络管理命令
  13. Scala——面向对象和函数式编程语言
  14. 数据仓库历史数据存储-拉链表
  15. 火遍全网的 ChatGPT,给你的求职新方向
  16. 数据中台建设方法论-4 实践
  17. 如何设计一个聊天机器人?谈谈聊天机器人技术栈
  18. 如何测试视频会议的延迟
  19. Yandex企业邮箱注册
  20. Topcoder 2016 TCO Algorithm Algo Semifinal 1 Hard ColorfunPath [网络流]

热门文章

  1. java 公历 农历_java中怎么把公历日期转成农历日期
  2. 搜狗首席科学家柳超博士谈“字根嵌入”让机器更懂中文
  3. C语言 递推算法 案例猴子偷桃
  4. seo网站优化技巧_新网站的10个SEO技巧
  5. 创业过程中技术真的那么重要吗
  6. 田园综合体建设指导手册
  7. 谈的话马上得到了聚众传媒创始人虞峰、博客中国创始人方兴东及携程网创始人之一的季琦等三位嘉宾的一致响应
  8. SQL窗口函数OVER用法整理
  9. win10提高开机速度只需要5步
  10. 使用Pytorch识别字符验证码