欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

jquery實(shí)現(xiàn)無(wú)縫輪播圖

 更新時(shí)間:2022年05月09日 17:14:35   作者:boylzh  
這篇文章主要為大家詳細(xì)介紹了jquery實(shí)現(xiàn)無(wú)縫輪播圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了jquery實(shí)現(xiàn)無(wú)縫輪播圖的具體代碼,供大家參考,具體內(nèi)容如下

實(shí)現(xiàn)功能(無(wú)縫輪播圖Jquery)

利用移動(dòng)定位進(jìn)行無(wú)縫滾動(dòng),大體實(shí)現(xiàn)點(diǎn)擊切換圖片,每張圖片對(duì)應(yīng)一個(gè)小圓點(diǎn),并且小圓點(diǎn)點(diǎn)擊可以進(jìn)行切換。鼠標(biāo)移入停止圖片輪播

強(qiáng)調(diào)

jquery引入本地引入,你可以在網(wǎng)上導(dǎo)入
全局由index貫穿
動(dòng)畫(huà)中的回調(diào)函數(shù)
flag標(biāo)識(shí),進(jìn)行判斷動(dòng)畫(huà)在執(zhí)行中還是執(zhí)行結(jié)束
對(duì)于圖片切換到第一張還是最后一張的處理

css代碼片段

* {
? ? padding: 0;
? ? margin: 0;
}
html,
body {
? ? height: 100%;
? ? overflow: hidden;
}
body{
? ? background: rgba(0, 0, 0, 0.2);
}
.box {
? ? width: 1000px;
? ? height: 80%;
? ? margin: 50px auto;
? ? position: relative;
? ? overflow: hidden;
? ? box-shadow: 2px 2px 15px #333333;
}

ul {
? ? height: 100%;
? ? position: absolute;
? ? display: flex;
}

ol,
ul,
li {
? ? list-style: none;
}

li {
? ? flex-shrink: 0;
? ? width: 1000px;
? ? height: 100%;
}

li>img {
? ? width: 100%;
? ? height: 100%;
}

button {
? ? width: 70px;
? ? height:50px;
? ? color: #f5f5f5;
? ? position: absolute;
? ? z-index: 3;
? ? top: 50%;
? ? transform: translateY(-50%);
? ? background: rgba(0, 0, 0, 0.2);
? ? border-radius:0 5px 5px 0;
? ? opacity: 0;
? ? border: none;
? ? cursor: pointer;
? ? outline: none;
? ? transition: all 1s;
}
.box:hover button{
? ? opacity: 1;
}
button:hover{
? ? background: rgba(0, 0, 0, 0.5);
}
.left{
? ? border-radius:0 5px 5px 0;
}
.right {
? ? border-radius:5px 0px 0px 5px;
? ? right: 0;
}
ol{
? ? width: 120px;
? ? display: flex;
? ?? ? /*進(jìn)行水平布局,與float功能并無(wú)差異,此處用float也是可以的*/
? ? justify-content: space-between;
? ? position: absolute;
? ? bottom: 10px;
? ? left: 50%;
? ? transform: translateX(-50%);
}
ol li{
? ? border-radius: 50%;
? ? width: 10px;
? ? height: 10px;
? ? background-color: #fff;
? ? cursor: pointer;
? ?
}
.ac{
? ? width: 25px;?
? ? transition: width 1s;
? ? border-radius: 5px 5px 5px 5px;
}

html,js代碼片段

<!DOCTYPE html>
<html lang="en">

<head>
? ? <meta charset="UTF-8">

? ? <title>Document</title>
? ? <link rel="stylesheet" href="../css/icon/iconfont.css" >
? ? <link rel="stylesheet" href="../css/carousel.css" >
? ? <script src="../jquery-3.4.1.min.js"></script>
</head>

<body>
? ? <div class="box">
? ? ? ? <ul>
? ? ? ? ? ? <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.jpeg" alt=""></li>
? ? ? ? ? ? <li><img src="../images/6.jpg" alt=""></li>
? ? ? ? </ul>
? ? ? ? <button class="iconfont left">&#xe60d;</button>
? ? ? ? <button class="iconfont right">&#xe658;</button>
? ? ? ? <ol>
? ? ? ? </ol>
? ? </div>
? ? <script>
? ? ? ? const box = $(".box");
? ? ? ? const ul = $(box).children("ul");
? ? ? ? const img_li = $(ul).children("li");
? ? ? ? const len = $(img_li).length,
? ? ? ? ? ? width = $(box).width();//獲取box也就是li的寬
? ? ? ? var flag = false;?? ??? ?//定義一個(gè)標(biāo)識(shí),來(lái)進(jìn)行判斷當(dāng)次動(dòng)畫(huà)是否已經(jīng)完成
? ? ? ? var index = 0, lastIndex = 0;?? ?//定義全局的index,與lastIndex,也就是一個(gè)起到下標(biāo)的標(biāo)識(shí)
? ? ? ? $(img_li).first().clone(true).appendTo($(ul))//克隆第一張圖片放在ul的最后
? ? ? ? //生成所有的ol>li即小圓點(diǎn)
? ? ? ? for (let i = 0; i < len; i++) {
? ? ? ? ? ? $("<li>").addClass(i === 0 ? "ac" : "").appendTo($("ol")); //三元運(yùn)算符給addClass進(jìn)行填值
? ? ? ? ? ? //給第一個(gè)小圓點(diǎn)進(jìn)行默認(rèn)樣式的設(shè)置
? ? ? ? }
? ? ? ? //小圓點(diǎn)點(diǎn)擊切換圖片
? ? ? ? $("ol li").on('click', function () {
? ? ? ? ? ? if (flag) return;?? ??? ?//標(biāo)識(shí)動(dòng)畫(huà),動(dòng)畫(huà)未完成時(shí),取消掉點(diǎn)擊事件
? ? ? ? ? ? flag = true;?? ??? ??? ?//動(dòng)畫(huà)完成是執(zhí)行點(diǎn)擊事件的代碼
? ? ? ? ? ? lastIndex = index;?? ??? ?//記錄上次的點(diǎn)擊的index的值
? ? ? ? ? ? index = $(this).index();?? ??? ?//將小圓點(diǎn)的小標(biāo)賦值給index
? ? ? ? ? ? $("ol li").eq(lastIndex).removeClass("ac")
? ? ? ? ? ? $(this).addClass("ac");?? ??? ?//將樣式進(jìn)行toggle
? ? ? ? ? ? $(ul).animate({ left: -index * width }, 1000, function () //jquery的自定義動(dòng)畫(huà)方法
? ? ? ? ? ? ? ? flag = false;//回調(diào)函數(shù)將在動(dòng)畫(huà)結(jié)束之后將標(biāo)識(shí)變?yōu)閠rue,以便于執(zhí)行下一次點(diǎn)擊事件
? ? ? ? ? ? })
? ? ? ? })

? ? ? ? //點(diǎn)擊下一張進(jìn)行切換
? ? ? ? $(".right").on('click', function () {
? ? ? ? ? ? if (flag) return;?? ??? ?
? ? ? ? ? ? flag = true;?? ??? ?
? ? ? ? ? ? lastIndex = index;?? ??? ?
? ? ? ? ? ? index++;?? ??? ?//將index進(jìn)行++,使其向下一張輪播
? ? ? ? ? ? if (index === len) {?? ??? ?//當(dāng)輪播到最后一張clone的圖片時(shí)
? ? ? ? ? ? ? ? index = 0;?? ??? ??? ??? ?//將index賦值為0,讓小圓點(diǎn)正常執(zhí)行
? ? ? ? ? ? ? ? $(ul).animate({ left: -len * width }, 1000, function () {//讓動(dòng)畫(huà)繼續(xù)執(zhí)行到clone的那張圖片
? ? ? ? ? ? ? ? ? ? flag = false;?? ??? ?
? ? ? ? ? ? ? ? ? ? $(ul).css("left", 0)?? ?//當(dāng)執(zhí)行到最后一張clone的圖片,執(zhí)行完成時(shí),立馬瞬移到第一張圖片
? ? ? ? ? ? ? ? })
? ? ? ? ? ? }
? ? ? ? ? ? else {
? ? ? ? ? ? ? ? $(ul).animate({ left: -index * width }, 1000, function () {
? ? ? ? ? ? ? ? ? ? flag = false
? ? ? ? ? ? ? ? })
? ? ? ? ? ? }
? ? ? ? ? ? $("ol li").eq(lastIndex).removeClass("ac")?? ?//給相應(yīng)的小圓點(diǎn)進(jìn)行樣式設(shè)置
? ? ? ? ? ? $("ol li").eq(index).addClass("ac")

? ? ? ? })
? ? ? ? //點(diǎn)擊上一張進(jìn)行切換
? ? ? ? //與點(diǎn)擊下一張進(jìn)行切換思想一致
? ? ? ? $(".left").on('click', function () {
? ? ? ? ? ? if (flag) return;
? ? ? ? ? ? flag = true;
? ? ? ? ? ? lastIndex = index;
? ? ? ? ? ? index--;
? ? ? ? ? ? if (index < 0) {
? ? ? ? ? ? ? ? index = len - 1;
? ? ? ? ? ? ? ? $(ul).css("left", -len * width)
? ? ? ? ? ? ? ? $(ul).animate({ left: -index * width }, 1000, function () {
? ? ? ? ? ? ? ? ? ? flag = false;
? ? ? ? ? ? ? ? })
? ? ? ? ? ? }
? ? ? ? ? ? else {
? ? ? ? ? ? ? ? $(ul).animate({ left: -index * width }, 1000, function () {
? ? ? ? ? ? ? ? ? ? flag = false
? ? ? ? ? ? ? ? })
? ? ? ? ? ? }
? ? ? ? ? ? $("ol li").eq(lastIndex).removeClass("ac")?? ??? ?
? ? ? ? ? ? $("ol li").eq(index).addClass("ac")
? ? ? ? })
? ? ? ? //自動(dòng)播放

? ? ? ? $(box[0]).hover(() => {
? ? ? ? ? ? clearInterval($(box)[0].timer)
? ? ? ? }, (function auto() {
? ? ? ? ? ? $(box)[0].timer = setInterval(() => { //立即執(zhí)行函數(shù),在最后返回出auto函數(shù),讓hover的leave有事件執(zhí)行
? ? ? ? ? ? ? ? $(".right").trigger('click');
? ? ? ? ? ? }, 2000);
? ? ? ? ? ? return auto;
? ? ? ? }
? ? ? ? )())? ?


? ? </script>
</body>

</html>

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • jQuery層疊選擇器用法實(shí)例分析

    jQuery層疊選擇器用法實(shí)例分析

    這篇文章主要介紹了jQuery層疊選擇器用法,結(jié)合實(shí)例形式分析了jQuery層疊選擇器功能、用法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-06-06
  • jquery密碼強(qiáng)度校驗(yàn)

    jquery密碼強(qiáng)度校驗(yàn)

    這篇文章主要介紹了jquery密碼強(qiáng)度校驗(yàn),這是一個(gè)非常常見(jiàn)的功能,在輸入密碼的時(shí)候提示密碼的強(qiáng)度,本文使用jQuery來(lái)實(shí)現(xiàn),有需要的小伙伴可以參考下。
    2015-12-12
  • JQuery循環(huán)滾動(dòng)圖片代碼

    JQuery循環(huán)滾動(dòng)圖片代碼

    每次滾動(dòng)的長(zhǎng)度不要固定死,可以直接獲取圖片寬度作為滾動(dòng)的長(zhǎng)度。這樣當(dāng)你的網(wǎng)站有很多地方需要這個(gè)效果的時(shí)候一個(gè)函數(shù)就可以搞定了
    2011-12-12
  • jquery實(shí)現(xiàn)九宮格大轉(zhuǎn)盤(pán)抽獎(jiǎng)

    jquery實(shí)現(xiàn)九宮格大轉(zhuǎn)盤(pán)抽獎(jiǎng)

    jQuery九宮格大轉(zhuǎn)盤(pán)抽獎(jiǎng)代碼網(wǎng)頁(yè)特效,點(diǎn)擊抽獎(jiǎng)按鈕開(kāi)始隨機(jī)抽獎(jiǎng)選擇獎(jiǎng)品,可設(shè)置起點(diǎn)位置、獎(jiǎng)品數(shù)量、轉(zhuǎn)動(dòng)次數(shù)、中獎(jiǎng)位置參數(shù)
    2015-11-11
  • 基于jQuery實(shí)現(xiàn)圖片的前進(jìn)與后退功能

    基于jQuery實(shí)現(xiàn)圖片的前進(jìn)與后退功能

    前進(jìn)與后退在瀏覽網(wǎng)頁(yè)的時(shí)候是比較常見(jiàn)的而且非常的實(shí)用,接下來(lái)為大家分享下使用jQuery實(shí)現(xiàn)圖片的前進(jìn)與后退,感興趣的朋友可以參考下哈
    2013-04-04
  • jQuery加載及解析XML文件的方法實(shí)例分析

    jQuery加載及解析XML文件的方法實(shí)例分析

    這篇文章主要介紹了jQuery加載及解析XML文件的方法,結(jié)合實(shí)例形式分析了xml文件的創(chuàng)建及jQuery針對(duì)xml文件的獲取、解析相關(guān)操作技巧,需要的朋友可以參考下
    2017-01-01
  • 快速解決jquery.touchSwipe左右滑動(dòng)和垂直滾動(dòng)條沖突

    快速解決jquery.touchSwipe左右滑動(dòng)和垂直滾動(dòng)條沖突

    這篇文章主要介紹了快速解決jquery.touchSwipe左右滑動(dòng)和垂直滾動(dòng)條沖突問(wèn)題,感興趣的小伙伴們可以參考一下
    2016-04-04
  • jQuery+SpringMVC中的復(fù)選框選擇與傳值實(shí)例

    jQuery+SpringMVC中的復(fù)選框選擇與傳值實(shí)例

    下面小編就為大家分享一篇jQuery+SpringMVC中的復(fù)選框選擇與傳值實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-01-01
  • ajax+jQuery實(shí)現(xiàn)級(jí)聯(lián)顯示地址的方法

    ajax+jQuery實(shí)現(xiàn)級(jí)聯(lián)顯示地址的方法

    這篇文章主要介紹了ajax+jQuery實(shí)現(xiàn)級(jí)聯(lián)顯示地址的方法,涉及jQuery操作Ajax實(shí)現(xiàn)級(jí)聯(lián)顯示的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-05-05
  • Jquery UI震動(dòng)效果實(shí)現(xiàn)原理及步驟

    Jquery UI震動(dòng)效果實(shí)現(xiàn)原理及步驟

    如果你想你的博客頁(yè)面某些部分引起讀者的注意,你可以使這些部分震動(dòng),如廣告等等,今天這篇文章將介紹怎樣使你的頁(yè)面中的元素震動(dòng)起來(lái),感興趣的你可不要錯(cuò)過(guò)了哦,或許對(duì)你學(xué)習(xí)jquery ui 有所幫助
    2013-02-02

最新評(píng)論