日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

自已动手写的轮播图插件,功能不断增加中,可以下载

發(fā)布時間:2025/3/20 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 自已动手写的轮播图插件,功能不断增加中,可以下载 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

前,平時總是使用別人的輪播圖插件,這次決定自已寫一個,功能越多越好。實際現(xiàn)起來,發(fā)現(xiàn)并不容易。先實現(xiàn)基本的功能,下兩周要豐富起來。

圖是別人的圖,心是自已的心。直接上代碼:

一:結(jié)構(gòu)

<!-- carousel begin -->
<div class="carousel-wrap">
?? ?<div class="carousel-main-wrap">
?? ??? ?<ul class="carousel-scroll-wrap">
?? ??? ??? ?<li><img src="images/1.jpg" alt=""></li>
?? ??? ??? ?<li><img src="images/2.jpg" alt=""></li>
?? ??? ??? ?<li><img src="images/3.jpg" alt=""></li>
?? ??? ??? ?<li><img src="images/4.jpg" alt=""></li>
?? ??? ??? ?<li><img src="images/5.jpg" alt=""></li>
?? ??? ??? ?<li><img src="images/6.jpg" alt=""></li>
?? ??? ??? ?<li><img src="images/7.jpg" alt=""></li>
?? ??? ??? ?<li><img src="images/8.jpg" alt=""></li>
?? ??? ?</ul>
?? ??? ?<span class="carousel-left">向左</span>
?? ??? ?<span class="carousel-right">向右</span>
?? ?</div>
</div>
<!-- carousel end -->

注意,1 必須是三張以上圖片,2 最外層carousel-wrap必須要有一個寬高

二:CSS

/* css reset start*/

@charset "UTF-8";
*{
?? ?padding:0;
?? ?margin:0;
?? ?list-style:none;
?? ?border:0;
}
body{
?? ?width: 100%;
?? ?font-family: 'SimSun', 'Microsoft YaHei', Arial;
?? ?font-size: 14px;
?? ?color: #fff;
}
a,a:visited{
?? ?color: #fff;
?? ?text-decoration: none;
}
a:hover{
?? text-decoration: none;
}
img{
?? ?display: block;
}
/* css reset end */


/* carousel start */
.carousel-wrap{
?? ?width: 800px;
?? ?height: 504px;
?? ?margin: 0 auto;
?? ?background-color: gray;
}
.carousel-main-wrap{
?? ?overflow: hidden;
?? ?position: relative;
}
.carousel-scroll-wrap{
?? ?position: relative;
}
.carousel-scroll-wrap li{
?? ?overflow: hidden;
?? ?position: absolute;
?? ?top: 0;
?? ?left: 10000px;
}
.carousel-scroll-wrap li img{
?? ?width: 800px;
?? ?height: 504px;
?? ?display: block;
}
.carousel-left{
?? ?width: 50px;
?? ?height: 100px;
?? ?margin-top: -50px;
?? ?line-height: 100px;
?? ?text-align: center;
?? ?color: #fff;
?? ?background-color: teal;
?? ?display: block;
?? ?position: absolute;
?? ?left: 0;
?? ?top: 50%;
?? ?cursor: pointer;
}
.carousel-right{
?? ?width: 50px;
?? ?height: 100px;
?? ?margin-top: -50px;
?? ?line-height: 100px;
?? ?text-align: center;
?? ?color: #fff;
?? ?background-color: teal;
?? ?display: block;
?? ?position: absolute;
?? ?right: 0;
?? ?top: 50%;
?? ?cursor: pointer;
}
.carousel-control{
?? ?height: 10px;
?? ?overflow: hidden;
}
.carousel-control span{
?? ?width: 20%;
?? ?height: 10px;
?? ?display: inline-block;
?? ?background-color: orange;
?? ?cursor: pointer;
}
.carousel-control span.cur{
?? ?background-color: #f60;
}
/* carousel end */

三:JS

基于JQ,

<script type="text/javascript" src="js/jquery-1.7.2.min.js"></script>

<script type="text/javascript" src="js/carousel.js"></script>

carousel.js代碼如下:

function carouselPlay(config){


//設(shè)置變量默認數(shù)據(jù)
?? ?var carouselSpeed = config.carouselSpeed || 800;
?? ?var carouselFuncton = config.carouselFuncton || 'swing';
?? ?var imgWidth = config.imgWidth || 400;
?? ?var imgHeight = config.imgHeight || 304;
//以下為常量,一般不必改動
?? ?var carouselLi = $('.carousel-scroll-wrap li');
?? ?var controlSpan = $('.carousel-control span');
?? ?var carouselCount = carouselLi.index()+1;
?? ?var curLeft = imgWidth;
?? ?var nextLeft = imgWidth*2;
?? ?var prevLeft = 0;
?? ?var outLeft = 10000;
?? ?var curIndex = 0;
?? ?var nextIndex = 1;
?? ?var prevIndex = carouselCount-1;
//初始化
?? ?var jobInite = function(){
?? ??? ?$('.carousel-main-wrap').css({
?? ??? ??? ?width: imgWidth,
?? ??? ??? ?height: imgHeight
?? ??? ?});
?? ??? ?$('.carousel-scroll-wrap').css({
?? ??? ??? ?width: imgWidth*3,
?? ??? ??? ?height: imgHeight,
?? ??? ??? ?left: -imgWidth,
?? ??? ??? ?top: 0
?? ??? ?});?? ??? ?
?? ??? ?carouselLi.eq(curIndex).css('left', curLeft);
?? ??? ?carouselLi.eq(nextIndex).css('left', nextLeft);
?? ??? ?carouselLi.eq(prevIndex).css('left', prevLeft);
?? ?}
?? ?jobInite();
//向右滾動一張的邏輯
?? ?function rightZero(a){
?? ??? ?a++;
?? ??? ?if(a == carouselCount){
?? ??? ??? ?a = 0;
?? ??? ?}
?? ??? ?return a
?? ?}
//向左滾動一張的邏輯
?? ?function leftZero(a){
?? ??? ?a--;
?? ??? ?if(a == -1){
?? ??? ??? ?a = carouselCount-1;
?? ??? ?}
?? ??? ?return a
?? ?}
// 小圓點控制圖片切換的邏輯,小點控制功能還未寫完,但不影響其它功能!
?? ?function controlZero(a){
?? ??? ?curIndex = a;
?? ??? ?if(a === (carouselCount-1)){
?? ??? ??? ?nextIndex = 0;
?? ??? ?}
?? ??? ?else{
?? ??? ??? ?nextIndex = a+1;
?? ??? ?}
?? ??? ?if(a === 0){
?? ??? ??? ?prevIndex = carouselCount;
?? ??? ?}
?? ??? ?else{
?? ??? ??? ?prevIndex = a-1;
?? ??? ?}?? ??? ?
?? ?}
//滾動函數(shù)
?? ?function focusAnimate(carouselLi,index,left){
?? ??? ?carouselLi.eq(index).stop(true,true).animate({'left': left}, carouselSpeed, carouselFuncton);
?? ?}
//處置窗口以外的圖片
?? ?function imgOut(carouselLi, index){
?? ??? ?carouselLi.eq(index).css('left', outLeft);
?? ?}
// 控制按鈕函數(shù),功能還未寫完,但不影響其它功能!
?? ?function controlPlay(curIndex){
?? ??? ?controlSpan.eq(curIndex).addClass('cur').siblings().removeClass('cur');
?? ?}
//向右切換運動
?? ?function rightPlay(){
?? ??? ?//滾動前初始化圖片索引
?? ??? ?jobInite();
?? ??? ?//向右切換
?? ??? ?focusAnimate(carouselLi, curIndex, prevLeft);
?? ??? ?focusAnimate(carouselLi, nextIndex, curLeft);
?? ??? ?imgOut(carouselLi, prevIndex);
?? ??? ?//重置索引
?? ??? ?curIndex ?? ??? ?= rightZero(curIndex);
?? ??? ?nextIndex ?? ??? ?= rightZero(nextIndex);
?? ??? ?prevIndex ?? ??? ?= rightZero(prevIndex);
?? ??? ?// 控制小圓點跟隨,功能還未寫完,但不影響其它功能!
?? ??? ?controlPlay(curIndex);
?? ?}

//向左切換運動
?? ?function leftPlay(){
?? ??? ?//滾動前初始化圖片索引
?? ??? ?jobInite();
?? ??? ?//向左
?? ??? ?focusAnimate(carouselLi, curIndex, nextLeft);
?? ??? ?focusAnimate(carouselLi, prevIndex, curLeft);
?? ??? ?imgOut(carouselLi, nextIndex);
?? ??? ?//重置索引
?? ??? ?curIndex ?? ??? ?= leftZero(curIndex);
?? ??? ?nextIndex ?? ??? ?= leftZero(nextIndex);
?? ??? ?prevIndex ?? ??? ?= leftZero(prevIndex);
?? ??? ?// 控制小圓點跟隨,功能還未寫完,但不影響其它功能!
?? ??? ?controlPlay(curIndex);
?? ?}

// 限制用戶頻繁點擊
?? ?var datePrev = 0;
?? ?var clickFlag = true;
?? ?function clickCheck(minSecond){
?? ??? ?var nowDate = new Date();
?? ??? ?var dateCur = nowDate.getTime();
?? ??? ?var dateInterval = dateCur - datePrev;
?? ??? ?datePrev = dateCur;
?? ??? ?if(dateInterval<minSecond){
?? ??? ??? ?clickFlag = false;
?? ??? ?}
?? ??? ?else{
?? ??? ??? ?clickFlag = true;
?? ??? ?}
?? ??? ?return clickFlag;
?? ?}
// 左右控制切換
?? ?$('.carousel-right').click(function(event) {
?? ??? ?if(clickCheck(500)){
?? ??? ??? ?rightPlay();
?? ??? ?}?? ??? ?
?? ?});
?? ?$('.carousel-left').click(function(event) {
?? ??? ?if(clickCheck(500)){
?? ??? ??? ?leftPlay();
?? ??? ?}
?? ?});
// 小圓點控制切換,功能還未寫完,但不影響其它功能!
?? ?controlSpan.mouseover(function(event) {
?? ??? ?// 計算新的當前位置索引
?? ??? ?curIndex = $(this).index();
?? ??? ?//重置索引
?? ??? ?controlZero(curIndex);
?? ??? ?// 初始化圖片位置
?? ??? ?jobInite();
?? ??? ?// 小圓點位置跟隨
?? ??? ?controlPlay(curIndex);
?? ?});
}

四:在頁面中調(diào)用

<script type="text/javascript">
$(function(){
//配制變量
var config = {
?? ?'carouselSpeed': 800,
?? ?'carouselFuncton': 'swing',
?? ?'imgWidth': 800,
?? ?'imgHeight': 504
}
//輪播圖的執(zhí)行
var main = carouselPlay;
main(config);
})

//更多調(diào)用可參考demo
</script>

四:測試地址

http://game.feiliu.com/zk/new/plugin/default.html

五:demo源碼下載

http://files.cnblogs.com/files/zk995/demo.rar

六:后續(xù)慢慢再增加完成各種功能,還要更新完整

這周,over...

轉(zhuǎn)載于:https://www.cnblogs.com/zk995/p/4523088.html

總結(jié)

以上是生活随笔為你收集整理的自已动手写的轮播图插件,功能不断增加中,可以下载的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 性xxxx狂欢老少配o | 成人免费黄色片 | www夜插内射视频网站 | a免费在线 | 青青在线视频观看 | 一本色道久久综合亚洲精品小说 | 手机看片一区二区 | 日本九九热 | 毛片动漫| 97在线视频免费观看 | 欧美一区二区三区色 | 一区二区三区日韩在线 | 夜夜嗨aⅴ一区二区三区 | 国产成人99 | 免费av导航 | 欧美成人精品一区二区免费看片 | 春色导航 | 香蕉黄色片 | 欧美婷婷六月丁香综合色 | 高清一区二区三区四区五区 | 日韩成人精品一区二区三区 | 人妻少妇无码精品视频区 | 色羞羞| 日本少妇高潮喷水xxxxxxx | 麻豆av在线免费观看 | 国产精品网站视频 | 国产伦精品一区二区三区四区免费 | 九一成人网 | 国内精品视频在线播放 | 国产探花精品一区二区 | 人妖一区二区三区 | 女生张开腿让男生插 | 日日网站| 性涩av | 极品在线视频 | 黄视频网站在线看 | 日本另类视频 | 在线观看国产精品视频 | 亚洲欧美激情精品一区二区 | 天天人人| 超碰一区二区 | 国模精品视频一区二区 | 国产毛片91 | 欧美天堂在线视频 | 97午夜| 成人在线免费观看网址 | 欧美一级欧美三级在线观看 | 91精品国产91久久久久久久久久久久 | 成人你懂的| 神马午夜电影一区二区三区在线观看 | 校园春色亚洲激情 | 欧美色图激情 | 秋霞欧美在线观看 | 在线观看网址你懂的 | 在线观看免费日韩av | 狠狠干少妇 | 麻豆成人在线视频 | 天天操天天拍 | 人人看人人草 | 999毛片 | 久久久久久久久久影院 | 亚洲天堂8 | 日韩在线精品视频 | 欧美中文字幕第一页 | 青青草综合| 91超薄肉色丝袜交足高跟凉鞋 | 免费成人黄色片 | 国产精品18久久久久久vr下载 | 伊人动漫 | 国产成人精品无码免费看夜聊软件 | 96亚洲精品久久久蜜桃 | 99re视频在线观看 | 国产91精品在线观看 | 一区二区三区四区在线免费观看 | 无码人妻一区二区三区线 | 国产视频1 | 精品天堂| 午夜免费影院 | 久久亚洲影视 | 91桃色视频 | 九九热这里有精品 | 日本人添下边视频免费 | 国产精品久久欧美久久一区 | 菠萝菠萝蜜网站 | 亚洲激情视频网站 | 四虎影视黄色 | 91av入口| 免费h片在线观看 | 欧美人妻精品一区二区免费看 | 偷偷草| 交专区videossex非洲 | 在线免费观看亚洲 | 欧美日韩国产传媒 | 国产chinese男男网站大全 | 国产精品手机在线观看 | 精品在线视频观看 | 色哟哟一区二区 | 日韩精品一二三区 | 日本不卡视频一区 |