jq轮播图插件
/*
* 使用说明
*
* 1:需要提供一个标签
* 2:lis:图片的个数
* 3:轮播图的大小 width ,height
* 4:图片的地址imgs[0].carouselImg[0] 这是本人的地址,
$('#mainCarousel').jdCarousel({lis:7,width:800,height:340,
imgSrc:[
imgs[0].carouselImg[0],
imgs[0].carouselImg[1],
imgs[0].carouselImg[2],
imgs[0].carouselImg[3],
imgs[0].carouselImg[4],
imgs[0].carouselImg[5],
imgs[0].carouselImg[6]
]
});
*/
(function($){
$.fn.extend({
jdCarousel:function(options){
//ul
var obj = $(this);
$(this).append('<ul></ul>')
for(var i=0 ; i<options.lis ; i++){
$(this).children('ul').append('<li><a href="#"><img/></a><
}
//设置样式
$(this).css({'overflow':'hidden','position':'relative'});
$(this).children('ul').css({'width':options.width,'height':options.height,'overflow':'hidden',padding:0,'position':'relative'});
$(this).find('li').css({'width':options.width,'height':options.height,'overflow':'hidden',padding:0,'position':'absolute'});
$(this).find('li img').css({'width':options.width,'height':options.height,'overflow':'hidden'})
//获得图片
$(this).find('li').each(function(index,ele){
$(this).find('img').attr('src',options.imgSrc[index]);
//设置第一张图片显示
if(index!=0){
$(this).hide();
}
});
//底部点点
$(this).append('<div class="carouselDot"></div>');
for(var i=0 ; i<options.lis ; i++){
$(this).children('.carouselDot').append('<span></span>');
}
$(this).children('.carouselDot').css({'position':'absolute','z-index':10,'bottom':20,
'left':(options.width - (options.lis*24 -8))/2 ,'background-color':'hsla(0,0%,100%,.3)',
'padding':'1px 8px',height:20,'width':options.lis*24 +5,'border-radius':'12px'});
$(this).children('.carouselDot').find('span').css({
'margin':0,'display':'inline-block','height':'12px','width':'12px','margin-right':12,'background':'white',
'border-radius':'50%'});
$(this).children('.carouselDot').find('span').eq(options.lis - 1).css('margin-right',0);
$(this).children('.carouselDot').children('span').eq(0).css('background','red');
//上下张
$(this).append('<span class="jdLeftPrev jdPNClick"><</span>');
$(this).append('<span class="jdRightNext jdPNClick">></span>');
$(this).children('.jdPNClick').css({
'display':'block','width':35,'height':50,'background':'rgba(0,0,0,0.5)','z-index':100,'position':'absolute',
'text-align':'center','line-height':'50px','top':(options.height - 25)/2,'color':'white','font-size':30
});
$(this).children('.jdRightNext').css('right',0);
$(this).children('.jdLeftPrev').css('left',0);
//轮播图运动
var last = 0;
var index = 0;
function doMove(){
obj.find('li').eq(last).hide();
obj.children('.carouselDot').children('span').eq(last).css('background','white');
obj.find('li').eq(index).show();
obj.children('.carouselDot').children('span').eq(index).css('background','red');
last = index;
index++;
if(index == options.lis){
index = 0;
}
}
var timer = null ;
timer = setInterval(doMove,1000);
//点点
// 鼠标移入事件
obj.children('.carouselDot').hover(function(){
obj.children('.carouselDot').css('cursor','pointer');
clearInterval(timer);
},function(){
timer = setInterval(doMove,1000);
});
obj.children('.carouselDot').on('mouseover','span',function(event){
// index+=1
// index = index>=options.lis?0:index;
$(this).siblings().css('background','white');
index = $(this).index();
doMove();
});
//prev next 事件
$(this).hover(function(){
$(this).children('.jdPNClick').css('background-color','rgba(0,0,0,0.5)');
},function(){
$(this).children('.jdPNClick').css('background-color','rgba(0,0,0,0.2)');
});
$(this).children('.jdPNClick').hover(function(){
clearInterval(timer);
},function(){
timer = setInterval(doMove,1000);
});
$(this).children('.jdLeftPrev').click(jdLeftPrev);
function jdLeftPrev(){
clearInterval(timer);
last = index;
index -= 1;
index = index<0? options.lis-1:index;
obj.children('.carouselDot').children('span').eq(index).siblings().css('background','white');
obj.find('li').eq(last).hide();
obj.children('.carouselDot').children('span').eq(last).css('background','white');
obj.find('li').eq(index).show();
obj.children('.carouselDot').children('span').eq(index).css('background','red');
}
$(this).children('.jdRightNext').click(jdRightNext);
function jdRightNext(){
last = index;
index += 1;
index = index==options.lis? 0:index;
obj.find('li').eq(last).hide();
obj.children('.carouselDot').children('span').eq(index).siblings().css('background','white');
obj.children('.carouselDot').children('span').eq(last).css('background','white');
obj.find('li').eq(index).show();
obj.children('.carouselDot').children('span').eq(index).css('background','red');
}
}
})
})(jQuery)
jq轮播图插件的更多相关文章
- jq轮播图插件—手写
<!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8" ...
- 学习笔记: js插件 —— SuperSlide 2 (轮播图插件,PC用)
SuperSlide 2 轮播图插件,较老.但还好用. 适用于PC,是绑定到jquery上的方法: $.slide(); 如果在实际中找不到.slide方法,请检查jquery等.js文件的引入次序 ...
- 封装一个简单的原生js焦点轮播图插件
轮播图实现的效果为,鼠标移入左右箭头会出现,可以点击切换图片,下面的小圆点会跟随,可以循环播放(为了方便理解,没有补2张图做无缝轮播).本篇文章的主要目的是分享封装插件的思路. 轮播图我一开始是写成非 ...
- jquery的fadeTo方法的淡入淡出轮播图插件
由于对基于jquery的简单插件开发有了一定的了解,慢慢的也对基于jquery的插件开发有了兴趣,在上班结束之后就研究各种插件的思路逻辑.最近开发了一款基于jquery的fadeTo方法的轮播图插件, ...
- 第124天:移动web端-Bootstrap轮播图插件使用
Bootstrap JS插件使用 > 对于Bootstrap的JS插件,我们只需要将文档实例中的代码粘到我们自己的代码中> 然后作出相应的样式调整 Bootstrap中轮播图插件叫作Car ...
- Vue轮播图插件---Vue-Awesome-Swiper
轮播图插件 Vue-Awesome-Swiper 地址:https://github.com/surmon-china/vue-awesome-swiper 安装:npm install vue-aw ...
- 原生JavaScript(js)手把手教你写轮播图插件(banner)
---恢复内容开始--- 1.轮播图插件 1.什么是插件: 为已有的程序增加功能 2.插件的特点(为什么要做成一个插件)与注意事项: 1.通用性,可移植性强 2.兼容性:不会对其他代码产生影响 3.创 ...
- vue轮播图插件之vue-awesome-swiper
移动端轮播图插件,在使用iview图形界面插件中的carousel组件无法实现触摸滑动后,转而使用vue-awesome-swiper插件 1.npm安装 npm i vue-awesome-swip ...
- js 原生轮播图插件
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
随机推荐
- Android游戏开发实践(1)之NDK与JNI开发04
Android游戏开发实践(1)之NDK与JNI开发04 有了前面几篇NDK与JNI开发相关基础做铺垫,再来通过代码说明下这方面具体的操作以及一些重要的细节.那么,就继续NDK与JNI的学习总结. 作 ...
- 简单说说Markdown语法
# 简单说说 MarkDown 语法 html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr ...
- 简洁美观的Java博客系统Tale开源了,让每一个有故事的人更好的表达想法
Tale Tale的英文含义为故事,我相信每个坚持写Blog的人都是有故事的:中文你叫它 塌了 也无所谓 . Tale 使用了轻量级mvc框架 Blade 开发,默认主题使用了漂亮的 pinghsu, ...
- SQL SERVER的检查点checkpoint
1 什么是检查点 数据修改操作 都是在 内存中的数据页进行修改,每次修改后并没有立即把这些页面写入磁盘,而是等到一定时期,数据库引擎对数据库发起 检查点命令,这时,该命令就会创建一个已知的正常点,把当 ...
- 概念 : 用户>角色>权限 的管理(Role-Based Access Control)
RBAC 用户管理规范 概念:每个user有多个accounts,每个account 有一个account binding,有多个roles和多个tasks 举个例子:某个用户现在manager,这是 ...
- 第27篇 重复造轮子---模拟IIS服务器
在写程序的时候,重复造轮子是程序员的一个大忌,很多人对重复造轮子持有反对的态度,但是我觉得这个造轮子的过程,是对于现有的知识的一个深入的探索的过程,虽然我们不可能把轮子造的那么的完善,对于现在有的东西 ...
- 中文分词工具thulac4j正式发布
1. 介绍 thulac4j是THULAC的Java 8实现,相比于官方Java实现THULAC-Java,我们做了如下工作: 规范化分词词典,并去掉一些无用词: 重写DAT(双数组Trie树)的构造 ...
- c语言二叉树的递归建立
#include <stdio.h> #include <string.h> #include <stdlib.h> #include <malloc.h&g ...
- (读书笔记)第2章 TCP-IP的工作方式
第2章 TCP-IP的工作方式 TCP/IP协议系统 为了实现TCP的功能,TCP/IP的创建者使用了模块化的设计.TCP/IP协议系统被分为不同的组件,每个组件分别负责通信过程的一个步骤.这种模块化 ...
- 消消乐、candy crush类三消游戏程序逻辑分析
最近在开发一款类似消消乐的三消游戏,在碰到实现斜方向下落的时候卡住了很长时间.好几天没有思路,原本的思路是一次性预判多个宝石的一连串运动路径,运用缓动运动队列来实现宝石运动路径,例如 下落->滑 ...