jquery的fadeTo方法的淡入淡出轮播图插件
由于对基于jquery的简单插件开发有了一定的了解,慢慢的也对基于jquery的插件开发有了兴趣,在上班结束之后就研究各种插件的思路逻辑。最近开发了一款基于jquery的fadeTo方法的轮播图插件,下面给大家介绍具体的思路逻辑:
整体思路:
fadeTo方法就是在指定时间内将某个选定元素的透明度改变来达到某个元素隐藏与显示的效果,借助这个方法,刚开始我们只需要让第一张图片的透明度为1,其他的都为0,这样就只能看到一张图片,建立图片索引,在轮播的时候只需要让索引自增,当索引等于最大值时,将索引值置为1就有可以重新开始轮播,实现循环轮播;
具体逻辑:
1、在html页面中给定的div中加载要轮播的图片,向前 < 和向后 > 的按钮;
2、在HTML页面中给定的div中加载图片索引按钮(小圆圈),样式自己定义;
3、建立图片索引变量index,赋初值为1;
4、建立图片显示函数showImg(),用fadeTo实现指定时间内图片透明度的改变,实现轮播;
5、建立向前 < 按钮方法,实现图片切换;
6、建立向后 > 按钮方法,实现图片切换;
7、建立图片索引按钮,实现点击索引按钮跳转指定图片;
说了这么多,大家可能还是一脸懵逼,光说不练假把式,这就给大家附上代码,方便大家查看;
/*
该轮播图插件是基于jquery开发的,利用jquery的fadeTo()方法实现图片的轮播
我们只需要图片和小圆圈按钮的索引一一对应起来就可以咯
*/
var hbt_imgList = $(".hbt-con");//获取图像列表<li>对象
var hbt_littelBtn = $("#hbt-goTab a");//获取图像下边按钮对象
var hbt_contain = $(".hbt-tab")//获取整个图像容器对象,便于书写鼠标移入停止轮播移除继续轮播
var hbt_index = 1;//图像轮播索引,即轮播第几章图片
var hbt_prev = $("#hbt-prev");//获取图片向前轮播按钮
var hbt_next = $("#hbt-next");//获取图片向后轮播按钮
var timer;//定时器变量
var hbt_length = $("#hbt-goTab a").length;//获取下面小按钮的数量,对应索引 $(document).ready(function(){
/*hbt_contain.mouseover(function(event) {
stop();
});
hbt_contain.mouseout(function(event) {
play();
});*/
hbt_contain.on({
mouseover:function(){//鼠标移入停止轮播
stop();
},
mouseout:function(){//鼠标移出开始轮播
play();
}
});
hbt_prev.on("click",function(){//向前按钮点击处理事件
hbt_index -= 1;
if(hbt_index <){//索引超出最小值将其值设置为8
hbt_index = 8;
}
hbtShowImg();
hbtShowBtn();
});
hbt_next.on("click",function(){//向后按钮点击处理事件
hbt_index += 1;
if(hbt_index > 8){//索引超出最大值将其值设置为1
hbt_index = 1;
}
hbtShowImg();
hbtShowBtn();
});
for (var i = 0; i < hbt_length; i++) { //循环绑定下面按钮的点击事情
(function (i) {
hbt_littelBtn[i].onclick = function () {
hbt_index = i + 1;
hbtShowImg();
hbtShowBtn();
}
})(i)
}
}); function play(){//开始轮播
timer = setInterval(function(){
hbt_index += 1;
if(hbt_index > hbt_length){//索引超出最大值将其值设置为1
hbt_index = 1;
}
hbtShowImg();
hbtShowBtn();
},4000)
} function stop(){//停止轮播
clearInterval(timer);
} function hbtShowImg(){//图片轮播梳理
for (var i = 0; i < hbt_length; i++) {
//注意,list索引是从0开始的,所以第一张图片和第一个按钮对应索引是0二不是1
if(hbt_imgList.eq(i).css("opacity") == 1){
hbt_imgList.eq(i).fadeTo(2000,0);
}
}
hbt_imgList.eq(hbt_index - 1).fadeTo(2000,1);
} function hbtShowBtn(){//小按钮切换梳理
for (var i = 0; i < hbt_length; i++) {
if(hbt_littelBtn.eq(i).hasClass('itemActive')){
hbt_littelBtn.eq(i).removeClass('itemActive');
hbt_littelBtn.eq(i).addClass('item');
}
}
hbt_littelBtn.eq(hbt_index - 1).addClass('itemActive');
}
play();
carousel
这边给大家的只是js的相关代码,有需要整个插件代码的,请点击这里到我的github下载相关代码进行查看;
最后要给大家提醒的就是引用的时候一定要先引入jquery哦;
jquery的fadeTo方法的淡入淡出轮播图插件的更多相关文章
- jQuery淡入淡出轮播图实现
大家好我是 只是个单纯的小白,这是人生第一次写博客,准备写的内容是Jquery淡入淡出轮播图实现,在此之前学习JS写的轮播图效果都感觉不怎么好,学习了jQuery里的淡入淡出效果后又写了一次轮播图效果 ...
- js渐隐渐现透明度变化淡入淡出轮播图
js渐隐渐现透明度变化淡入淡出轮播图.焦点图 一些广告banner展示常见. (附件) <!DOCTYPE html> <html> <head> <meta ...
- jquery淡入淡出轮播图
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- jq交叉淡入淡出轮播图
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- vue渐变淡入淡出轮播图
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- js中用面向对象的思想——淡入淡出轮播图
首先看下效果图 明确功能 1.前后切换(边界判断) 2.按键切换 3.自动轮播 css代码 <style> * {margin:0; padding:0;} li{list-style: ...
- jquery, js轮播图插件Swiper3
轮播图插件Swiper3 HTML代码 如果只是简单的使用轮播图,直接复制我的html代码就可以. 如果想要高级一些,就自己去看文档吧 <!DOCTYPE html> <html l ...
- 学习笔记: js插件 —— SuperSlide 2 (轮播图插件,PC用)
SuperSlide 2 轮播图插件,较老.但还好用. 适用于PC,是绑定到jquery上的方法: $.slide(); 如果在实际中找不到.slide方法,请检查jquery等.js文件的引入次序 ...
- 封装一个简单的原生js焦点轮播图插件
轮播图实现的效果为,鼠标移入左右箭头会出现,可以点击切换图片,下面的小圆点会跟随,可以循环播放(为了方便理解,没有补2张图做无缝轮播).本篇文章的主要目的是分享封装插件的思路. 轮播图我一开始是写成非 ...
随机推荐
- Java虚拟机 - 符号引用和直接引用理解
java -- JVM的符号引用和直接引用 https://www.zhihu.com/question/50258991 在JVM中类加载过程中,在解析阶段,Java虚拟机会把类的二级制数据中的符号 ...
- ASP.NET MVC扩展库
很多同学都读过这篇文章吧 ASP.NET MVC中你必须知道的13个扩展点,今天给大家介绍一个ASP.NET MVC的扩展库,主要就是针对这些扩展点进行.这个项目的核心是IOC容器,包括Ninject ...
- QT5.4.2静态编译(包含QtWebKit),在VS2013上创建项目,并成功运行
Qt项目发布的exe程序,默认是以动态链接形式的,这样发布后的程序会附带好多Qt自己的dll库,这样文件数量不仅多,而且移植到其他电脑上的时候,还可能会遇到,提示缺其他库等各种运行不起 ...
- php初学记
开始和结束标记 常用两种:<?php ?>,<script language="php"></script> 短标记:<? ?>,需 ...
- x86项目中读取注册表Register数据项的方法
x86项目中使用Registry读取key/value的时候,会出现重定向的问题,解决方法如下: public static string GetMachineGuid() { string guid ...
- 1000! mod 10^250
1000! mod 10^250 =============== the answer is 2 ================ Hi I'm trying to solve the above ...
- iOS如何解析crash文件中的地址
1.目录中存放app文件 2.打开文件 3.执行命令otool -arch arm64 -l ./QQStock | grep -B 1 -A 10 "LC_SEGM" | gr ...
- 格式化字符串漏洞利用实战之 0ctf-easyprintf
前言 这是 0ctf 的一道比较简单的格式化串的题目. 正文 逻辑非常简单 do_read 可以打印内存地址的数据,可用来 泄露 got. leave 格式化字符串漏洞. printf(s) 直接调用 ...
- asp:FileUpload 上次图片
<asp:FileUpload ID="FileUpload附件" runat="server" Width="200px" /> ...
- Ssh 证书验证 续篇
今天下午正好有外面的人要登录服务器,想了想,普通用户密码就是不想给,然后我就这样做了. useradd alex ---创建账户和密码 passwd alex mkdir /home/alex/.ss ...