slider jq小插件
html代码
<div class="r_list r_1" style="display:block;">
<div class="min_box">
<ul class="slider_con">
<li>
<a href="#" class="r_img"><img src="img/temp/r_img02.jpg" alt=""></a>
<div class="shop_name">
<a href="#">施华洛世奇(Swarovski)Octea Chrono系列</a>
</div>
<b>¥12312</b>
<a href="javascript:;" class="join_car">加入购物车</a>
</li>
<li>
<a href="#" class="r_img"><img src="img/temp/r_img02.jpg" alt=""></a>
<div class="shop_name"><a href="#">施华洛世奇(Swarovski)Octea Chrono系列</a></div>
<b>¥12312</b>
<a href="javascript:;" class="join_car">加入购物车</a>
</li>
<li>
<a href="#" class="r_img"><img src="img/temp/r_img02.jpg" alt=""></a>
<div class="shop_name"><a href="#">施华洛世奇(Swarovski)Octea Chrono系列</a></div>
<b>¥12312</b>
<a href="javascript:;" class="join_car">加入购物车</a>
</li>
<li>
<a href="#" class="r_img"><img src="img/temp/r_img02.jpg" alt=""></a>
<div class="shop_name"><a href="#">施华洛世奇(Swarovski)Octea Chrono系列</a></div>
<b>¥12312</b>
<a href="javascript:;" class="join_car">加入购物车</a>
</li>
<li>
<a href="#" class="r_img"><img src="img/temp/r_img02.jpg" alt=""></a>
<div class="shop_name"><a href="#">施华洛世奇(Swarovski)Octea Chrono系列</a></div>
<b>¥12312</b>
<a href="javascript:;" class="join_car">加入购物车</a>
</li>
<li>
<a href="#" class="r_img"><img src="img/temp/r_img02.jpg" alt=""></a>
<div class="shop_name"><a href="#">施华洛世奇(Swarovski)Octea Chrono系列</a></div>
<b>¥12312</b>
<a href="javascript:;" class="join_car">加入购物车</a>
</li>
<li>
<a href="#" class="r_img"><img src="img/temp/r_img02.jpg" alt=""></a>
<div class="shop_name"><a href="#">施华洛世奇(Swarovski)Octea Chrono系列</a></div>
<b>¥12312</b>
<a href="javascript:;" class="join_car">加入购物车</a>
</li>
</ul>
</div>
<div class="s_btn">
<span class="prev_btn"></span>
<span class="next_btn"></span>
</div>
</div>
JS调用
$('.flash_box .r_1').slider({});
JS插件代码
/**
*
* @authors Your Name (you@example.org)
* @date 2015-06-12 09:40:14
* @version $Id$
*/
(function($){
$.fn.slider=function(opts){
opts=$.extend({}, $.fn.slider.opts, opts);
var _this=this;
_this.opts=opts;
_this.ie6 = (!!window.ActiveXObject)&&!window.XMLHttpRequest; return _this.each(function(){
var wrap = $(this).find(_this.opts.containerClass);
var sLi = wrap.find('li');
var that = this;
var $that = $(this);
var index = 0;
var time = null;
that.count = sLi.length; // next
$that.find(_this.opts.nextClass).on('click', function(event) {
if (_this.opts['isAnimate'] == true) return false;
if (index >= that.count-_this.opts.showNum) {
index=that.count-_this.opts.showNum;
}else{
index++;
}
change.call(that, _this,index,'next');
return false;
});
// prev
$that.find(_this.opts.prevClass).on('click', function(event) {
if (_this.opts['isAnimate'] == true) return false;
if(index <= 0){
index = 0;
}else{
index--;
}
change.call(that, _this,index,'prev');
return false;
});
$that.find(_this.opts.boxClass+' li').each(function(cindex) {
$(this).on('click'+_this.opts.boxClass, function(event) {
change.call(that,_this,cindex,'box');
// index=cindex;
return false;
});
}); // focus clean auto play
$that.on('mouseover', function(event) {
if (_this.opts.autoPlay) {
clearInterval(time);
}
if (_this.opts.btnHover) {
$that.find(_this.opts.arrowClass).removeClass('hide');
} });
// leave
$that.on('mouseleave', function(event) {
if (_this.opts.autoPlay) {
startAutoPlay();
};
if (_this.opts.btnHover) {
$that.find(_this.opts.arrowClass).addClass("hide");
}
});
startAutoPlay();
//auto play
function startAutoPlay(){
if(_this.opts.autoPlay){
time=setInterval(function(){
if (index >= that.count-_this.opts.showNum) {
index = 0;
}else{
index++;
}
change.call(that, _this, index, 'auto');
}, _this.opts.autoPlayTime);
}
}
// box
var boxLi = $that.find(_this.opts.boxClass+ ' ul li');
var boxWidth = boxLi.outerWidth(true)*boxLi.length;
if (_this.ie6) {
$that.find(_this.opts.boxClass).css({
'width':boxWidth
})
}
$that.find(_this.opts.boxClass).css({
'margin-left': -(boxWidth/2)
});
//ul、li宽
_this.opts['width'] = sLi.outerWidth();
wrap.css('width', sLi.length*sLi.outerWidth());
})
}
function change(_this,num,tag){
var that=this;
var $that=$(this);
var x = num * _this.opts['width']; if (_this.opts.showNum>=that.count) {
return false;
}
$that.find(_this.opts.boxClass + ' li').eq(num).addClass('sel').siblings().removeClass('sel');
$that.find(_this.opts.containerClass).stop().animate({'margin-left':-x}, _this.opts.speed, function(){
_this.opts['isAnimate'] = false;
});
_this.opts['isAnimate'] = true
}
$.fn.slider.opts={
autoPlay: false,
autoPlayTime: 2000,
speed: 400,
containerClass: '.slider_con',
boxClass: '.l_btn',
arrowClass: '.s_btn',
nextClass: '.next_btn',
prevClass: '.prev_btn',
isAnimate: false,
showNum: 5,
btnHover: false
} })(jQuery);
slider jq小插件的更多相关文章
- 发布两款JQ小插件(图片查看器 + 分类选择器),开源
图片查看器,github地址:https://github.com/VaJoy/imgViewer 效果如下: 这款当初大概写了2小时,有点匆忙地赶出来的,使用的接口很简单: $.bindViewer ...
- jq小插件--方便设置css属性
$.fn.extend({ setCss:function(name,value){ $(this).css(name,value) } }) 调用方式,如: $('.login-btn').setC ...
- 开源Unity小插件CheatConsole
我们在开发游戏的过程中,通常都需要一些快捷的方式来进行一些非常规的测试,这些功能一般被称作控制台或者GM指令,比如虚幻竞技场中,可以使用~键呼出控制台,输入一些指令即可进行快捷设置,比如设置分辨率,全 ...
- 浮动【电梯】或【回到顶部】小插件:iElevator.js
iElevator.js 是一个jquery小插件,使用简单,兼容IE6,支持UMD和3种配置方式,比锚点更灵活. Default Options _defaults = { floors: null ...
- aBowman >>可以运用到自己博客上的小插件
大家进入我的博客会发现页面右边有一只小狗这部分.这个就是我用在上面的 一个小插件.插件网址是:http://abowman.com/google-modules/,这上面有很多的小插件,可以直接运用到 ...
- 移动端全屏滑动的小插件,简单,轻便,好用,只有3k swiper,myswiper,page,stage
https://github.com/donglegend/mySwiper mySwiper 移动端全屏滑动的小插件,简单,轻便,好用,只有3k 下载 直接下载 bower install mySw ...
- jq分页插件
jq分页插件 http://www.zhangxinxu.com/jq/pagination_zh/ html --------------- <tbody id="hiddenres ...
- 查看SQLSERVER内部数据页面的小插件Internals Viewer
原文:查看SQLSERVER内部数据页面的小插件Internals Viewer 查看SQLSERVER内部数据页面的小插件Internals Viewer 感觉internals viewer这个名 ...
- 仿javascript中confirm()方法的小插件
10天没有写博客了,不知道为什么,心里感觉挺不舒服的,可能这是自己给自己规定要去完成的事情,没有按照计划执行,总会心里不怎么舒服.最近事情挺多的,终于今天抽空来更新一下博客了. 今天写的是一个小插件. ...
随机推荐
- 使用mii-tool设置网卡速率
转载:http://washion2008.blog.163.com/blog/static/144227201001711537158/ 在ubuntu中,mii-tool 是属于net-tools ...
- BUG: GetDC() ReleaseDC()引起的内存泄漏
调用CWnd::GetDC函数跟CWnd::ReleaseDC函数的代码运行时,会出现 4 个字节的内存泄漏. Microsoft 已经确认这是在本文开头部分列出的 Microsoft 产品中的缺陷. ...
- linux -cp/mv
cp 复制 -r文件夹 -f强制没有提示 mv 移动改名 mv test.py temp/test2.py移动(后面只加路径就是移动.路径+文件名就是移动+改名) 执行mv一般会执行 mv -i交互 ...
- Eclipse输入任意字母或指定字符出现提示框
Eclipse默认是输入"."的时候会有提示框提示对应的API. 如果想更方便的输入任意字母或者指定的符号出现提示框设置如下: 打开Eclipse,选中“Window”->& ...
- 汇总#pragma用法
这几天忙着去复习了,但是心理总是不踏实,不到实验室里就觉得一天的生活变了个样,现在还是晚上来这里“搞起”吧,白天还是在复习准备考试.因为要开始学习freescale,准备明年的比赛了,觉得是时候开始搞 ...
- 【模拟,时针分针秒针两两夹角】【没有跳坑好兴奋】hdu - 5387 (多校#8 1008)
算是最好写的一道题了吧,最近模拟没手感,一次过也是很鸡冻o(* ̄▽ ̄*)o 注意事项都在代码里,没有跳坑也不清楚坑点在哪~ #include<cstdio> #include<cst ...
- hdu 2838 树状数组
思路:从后面往前面插,用一个二维树状数组保存,c[i][0]表示比i小的元素和,c[i][1]表示比i小的元素个数. #include<iostream> #include<cstr ...
- BZOJ 2763
2763: [JLOI2011]飞行路线 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 2073 Solved: 790[Submit][Statu ...
- 关于css雪碧图sprite
天气转凉了,又开始贪恋暖暖的被窝了. 早上不想起床的时候在被窝里看了有关于雪碧图的视频. 1.使用场景 V导航条,登录框img标签多次载入,性能低 X大图banner按需加载,如果做成雪碧图一次加载就 ...
- Git CMD - config: Get and set repository or global options
命令参数 --get 获取指定的配置项. --global 对于写选项:全局配置,将参数配置于 ~/.gitconfig 而不是仓库目录下的 .git/config.对于读选项:只从 ~/.gitco ...