1. 程式人生 > >JavaScript常見頁面效果-無縫輪播

JavaScript常見頁面效果-無縫輪播

//輪播實現部分 let oWarp = document.getElementsByClassName('wrap')[0], aImgs = document.getElementsByTagName('ul')[0], aDots = document.querySelectorAll('.dots ul li'), oNext = document.getElementsByClassName('next')[0], oPrevious = document.getElementsByClassName('previous')[0], timer, index = 0
, lastTime = new Date(); const len = aDots.length, imgWidth = 1000; //上一個按鈕點選事件 oPrevious.onclick = () => { if (new Date() - lastTime < 1000) { return; //兩次點選小於1s,不做任何操作 } lastTime = new Date(); index--; if (index < 0
) { index = len - 1 aImgs.style.left = 1 - len * imgWidth + 'px'; //回到最後一張替身上 } unifromMotion(aImgs, { 'left': imgWidth }, 500); //從替身 往前走 changeImg(index); } //下一個按鈕點選事件 oNext.onclick = () => { if (new Date() - lastTime < 1000) { return
; //兩次點選小於1s,不做任何操作 } lastTime = new Date(); index++; unifromMotion(aImgs, { 'left': -imgWidth }, 500); if (index >= len) { index = 0; setTimeout(function () { aImgs.style.left = 0; //從最後一張替身直接回到第一張,替身達到無縫的效果 }, 1000) //1s後執行,因為輪播動畫是非同步,立刻執行這一句的話,非同步的輪播動畫會將left=0的效果覆蓋掉 } changeImg(index); } //為圓點繫結點選事件 for (let i = 0; i < len; i++) { aDots[i].onclick = () => { if (new Date() - lastTime < 1000) { return; //兩次點選小於1s,不做任何操作 } lastTime = new Date(); let changeValue = (index - i) * imgWidth unifromMotion(aImgs, { 'left': changeValue }, 500); index = i; changeImg(i); } } //滑鼠移入佈局,停止輪播 oWarp.onmouseenter = () => { clearInterval(timer); } //滑鼠移出佈局,開始輪播 oWarp.onmouseleave = () => { clearInterval(timer); timer = window.setInterval(oNext.onclick, 1500); } //改變當前顯示的的圖片和圓點 let changeImg = (index) => { document.getElementsByClassName('checked')[0].className = ''; //清除當前選中的li點checked樣式 aDots[index].className = 'checked'; //為對應的li點新增選中樣式 } //頁面載入完畢1.5s後啟動輪播 setTimeout(timer = window.setInterval(oNext.onclick, 1500), 1500);

相關推薦

JavaScript常見頁面效果-無縫

//輪播實現部分 let oWarp = document.getElementsByClassName('wrap')[0], aImgs = document.getElementsByTagName('ul')[0], aDots = document.querySel

[JavaScript]使用jQuery實現無縫

方式 child margin blog turn use leave 分享 不同的 代碼鏈接:我的GitHub 項目預覽:預覽 目的:通過CSS + jQuery的方式實現自動無縫輪播。 上一篇博文總結了使用jQuery實現輪播,雖然是自動輪播,但是這個輪播有個不足之處:

原生JavaScript實現無縫

原生 原生js ted 結束 阻止 time == 實現圖 put 無縫輪播圖是頁面常用的特效之一,然而在實際的開發過程中,大部分的開發者都會使用插件來對輪播圖進行開發,那麽它的底層到底是怎麽實現的呢,本文章將圍繞這一問題展開探討。 在討論如何利用原生JS實現圖片之間無縫切

天貓京東app中常見的上下滾動效果如何實現?

前段時間,公司安排我們團隊製作一個上下滾動輪播效果,類似於我們在天貓京東app中常見的這樣: 哇kao!那麼高大上,完全不會呀??? 幸好,前幾天一個朋友在朋友圈分享了一篇推文。瞬間引領我們走出了迷茫,這個教程特別實用! 做法: • 建立母版,拖入文字元件,輸入文字,將文字元件調整

js無縫效果實現,自動輪

輪播圖,是網站首頁中最為常見的一種圖片切換特效,那麼今天就來分享一篇前端開發實戰當中經常使用到的實現無縫輪播圖效果的文章,希望對您有所幫助,歡迎留言探討。 1、html結構佈局: <div id="wrap"> <ul class="pic">

JavaScript網頁特效(三)選項卡切換的效果效果

選項卡的切換,主要是li列表的一個一個的選項卡,以及每個選項卡下的內容,點選的時候能夠一一對應,實現起來也不難。 一:html佈局和css樣式 選項卡標題使用ul..li無序列表,選項卡內容用三個div。 /* CSS樣式製作 */

使用原生javascript和css實現圖片效果

<!DOCTYPE HTML> <html lang="zh-CN"> <head> <meta charset="utf-8"> <title>圖片輪播</title>

純css3實現無縫效果

主要就是利用css3中的動畫了,看完整實現程式碼如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>純

基於原生Javascript無縫

一、前言 輪播圖的種類 說起輪播圖,種類那可是五花八門,什麼淡入淡出呀、旋轉木馬呀、3D輪播呀、無縫輪播呀等等,簡直是秀的頭皮發麻~ 本文要講的就是其中的無縫輪播,小夥伴們知道是怎麼實現的嗎,如果不知道的話,嘿嘿,你就接著往下看吧。如果你知道的話,就當

簡單的跑馬燈效果圖)

font script meta 圖片 ive abs height 單單 none 邏輯簡介:想要圖片或者是文字向左移動,那肯定得用到定時器,那麽移動那就必然是距離左邊的left值在改變;核心問題就是通過定時器來改變ul距離left的值;本姑娘就是簡簡單單直直接接,上代碼

jQuery----無縫

bottom blog dex :hover fin taobao .com ont append 1、效果 2、html代碼 <!DOCTYPE html> <html> <head> <meta chars

jq無縫

float block ora lib one src size slide http <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text

無縫

div css back 20px lis jpg ul li app script 無縫輪播 <!DOCTYPE HTML> <html> <head> <title>please enter yo

無縫(框架版)

put this top ole javascrip posit style .class ack 無縫輪播(框架版) <style type=‘text/css‘> *{ margin:0; padding:0;}

原生js三種選項卡效果

col val 還在 log pla absolut 自動播放 div pac 第三種:定時輪播切換(我這邊定時是2s) <!DOCTYPE html> <html> <head> <meta charset="utf-8"

無縫

else radius -s () var lns body tint tex html: <!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head><met

js無縫 和淡入淡出

java true bottom lang 操作 rgba gets 定時 box <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8">

JS 無縫圖1-節點操作

idt radius nbsp black -o flow 開開 接下來 con 無縫輪播圖 (使用節點操作) <!DOCTYPE html> <html lang="en"> <head> <meta charset="U

每次移一張圖片的無縫

end 3.0 doctype () 定時 ora title order console <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8">

jq無縫

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> <!-- css中只有樣式 --> <