首頁 web前端 html教學 JS實現自動輪播圖效果(自適應螢幕寬度+手機觸控螢幕滑動)_javascript技巧

JS實現自動輪播圖效果(自適應螢幕寬度+手機觸控螢幕滑動)_javascript技巧

Jun 28, 2017 pm 02:28 PM
javascript js 螢幕

這篇文章主要介紹了JS實作自動輪播圖效果(自適應螢幕寬度+手機觸控螢幕滑動),需要的朋友可以參考下

#1、本文使用js+jQuery實作輪播圖,需要引用jquery包,另種實作分別是animate實現自適應的輪播,以及transform平滑輪播(在註解程式碼中)。

2、程式碼中的圖片大家自己更換就可以了,樣式和邏輯都寫在js裡。

3、html標籤程式碼,js程式碼


#
<p class="slider">
  //轮播箭头
 <p class="lastpic"><img src="../images/prev.png"></p>
 <p class="nextpic"><img src="../images/next.png"></p>
 //轮播图片
 <ul id="slides" class="slides clearfix">
 <li><img class="responsive" src="../images/wrap-page.jpg" alt="暂无图片"></li>
 <li><img class="responsive" src="../images/wrap-page.jpg" alt="暂无图片"></li>
 <li><img class="responsive" src="../images/wrap-page.jpg" alt="暂无图片"></li>
 <li><img class="responsive" src="../images/wrap-page.jpg" alt="暂无图片"></li>
 </ul>
</p>
登入後複製


 <script type="text/javascript">
  $(document).ready(function() {
  var len = $(".slider li").length-1;
  //给slider设置样式
  $(".slider").css({
   "width":"100%",
   "height": "inherit",
   "overflow": "hidden",
   "display":"inline-block"
  });
  
  //给ul设置宽度
  $(".slides").css({
   "position": "relative",
   "width":((len+1)*100).toString()+"%",
   "margin":"0",
   "padding":"0"});
  //给li设置百分比宽度
  $(".slides li").css({
   "width":(100/(len+1)).toString()+"%",
   "float":"left"
  });
  //给图片设置宽度
  $(".responsive").css({
   "width":"100%",
   "height":"inherit"
  });
  //控制点样式
  $(".slider p").css({
   "position": "absolute",
   "z-index":"999",
   "cursor": "pointer"
  });
  $(".slider .lastpic").css({
   "left":"0",
   "margin-top":"7%"
  });
  $(".slider .nextpic").css({
   "right":"0",
   "margin-top":"7%"
  });
  //animate移动
  var i = 0;
  $(".nextpic").click(function(){
   moveNext(i);
  });
  $(".lastpic").click(function(){
   moveLast(i);
  });
  //自动轮播
  var timer = setInterval(function(){
   moveNext(i);
  },5000);
  moveNext = function(n){
   if(n==len){
   i=-1;
   $(".slider .slides").animate({right: ""},800);
   }else{
   $(".slider .slides").animate({right:((n+1)*100).toString()+"%"}, 800);
   }
   i++;
  }
  moveLast = function(n){
   if(n==0){
   i=len+1;
   $(".slider .slides").animate({right:(len*100).toString()+"%"}, 800);
   }else{
   $(".slider .slides").animate({right:((n-1)*100).toString()+"%"}, 800);
   }
   i--;
  }
  //手机触摸效果
  var startX,endX,moveX;
  function touchStart(event){
   var touch = event.touches[0];
   startX = touch.pageX;
  }
  function touchMove(event){
   var touch = event.touches[0];
   endX = touch.pageX;
  }
  function touchEnd(event){
   moveX = startX - endX;
   if(moveX>50){
   moveNext(i);
   }else if(moveX<-50){
   moveLast(i);
   }
  }
  document.getElementById("slides").addEventListener("touchstart",touchStart,false);
  document.getElementById("slides").addEventListener("touchmove",touchMove,false);
  document.getElementById("slides").addEventListener("touchend",touchEnd,false);
  //transition移动固定宽度,无法自适应
  // $(".nextpic").click(function(){
  // if(i==len){
  //  i=-1;
  //  $(".slider .slides").css({
  //  &#39;transition-timing-function&#39;:&#39;linear&#39;,
  //  &#39;transition-duration&#39;:&#39;800ms&#39;,
  //  &#39;transform&#39;:&#39;translateX(0px)&#39;
  //  })
  // }else{
  //  $(".slider .slides").css({
  //  &#39;transition-timing-function&#39;:&#39;linear&#39;,
  //  &#39;transition-duration&#39;:&#39;800ms&#39;,
  //  &#39;transform&#39;:&#39;translateX(-&#39;+(i+1)*width+&#39;px)&#39;
  //  })
  // }
  // i++;
  // });
  // $(".lastpic").click(function(){
  // if(i==0){
  //  i=len+1;
  //  $(".slider .slides").css({
  //  &#39;transition-timing-function&#39;:&#39;linear&#39;,
  //  &#39;transition-duration&#39;:&#39;800ms&#39;,
  //  &#39;transform&#39;:&#39;translateX(-&#39;+len*width+&#39;px)&#39;
  //  })
  // }else{
  //  $(".slider .slides").css({
  //  &#39;transition-timing-function&#39;:&#39;linear&#39;,
  //  &#39;transition-duration&#39;:&#39;800ms&#39;,
  //  &#39;transform&#39;:&#39;translateX(-&#39;+(i-1)*width+&#39;px)&#39;
  //  })
  // }
  // i--;
  // })
  
  });
 </script>
登入後複製


以上所述是小編給大家介紹的JS實現自動輪播圖效果(自適應螢幕寬度+手機觸控螢幕滑動),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對腳本之家網站的支持!

以上是JS實現自動輪播圖效果(自適應螢幕寬度+手機觸控螢幕滑動)_javascript技巧的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

iPhone螢幕截圖不起作用:如何修復 iPhone螢幕截圖不起作用:如何修復 May 03, 2024 pm 09:16 PM

螢幕截圖功能在您的iPhone上不起作用嗎?截圖非常簡單,因為您只需同時按住「提高音量」按鈕和「電源」按鈕即可抓取手機螢幕。但是,還有其他方法可以在設備上捕獲幀。修復1–使用輔助觸控使用輔助觸控功能截取螢幕截圖。步驟1–轉到您的手機設定。步驟2–接下來,點選以開啟「輔助功能」設定。步驟3–開啟「觸摸」設定。步驟4–接下來,開啟「輔助觸控」設定。步驟5–打開手機上的「輔助觸控」。步驟6–打開“自訂頂級選單”以存取它。步驟7–現在,您只需將這些功能中的任何一個連結到螢幕擷取即可。因此,點擊那裡的首

miniled螢幕傷眼嗎 miniled螢幕傷眼嗎 Feb 07, 2024 pm 03:48 PM

許多用戶最關心的就是miniled螢幕傷不傷眼的問題,其實這個螢幕雖然亮度可以達到超高,但是不會傷眼的,使用還是可以正常用的。 miniled螢幕傷眼嗎答:不傷眼。 miniled的螢幕亮度雖然會更高,但是在日常使用的時候不會一直持續這個亮度的,只有在需要提高亮度的時候才會顯示,因此不會一直保持高亮度傷眼,這個峰值亮度也是為了更好的呈現和表達。 miniled螢幕介紹1、MiniLED背光顯示技術都是採用的背光源,因此和lcd最大不同就是在背光層2、和lcd的螢幕對比,miniled的表現會更高對比

如何在iPhone中撤銷從主畫面中刪除 如何在iPhone中撤銷從主畫面中刪除 Apr 17, 2024 pm 07:37 PM

從主畫面中刪除了重要內容並試圖將其取回?您可以透過多種方式將應用程式圖示放回螢幕。我們已經討論了您可以遵循的所有方法,並將應用程式圖示放回主畫面如何在iPhone中撤消從主畫面中刪除正如我們之前提到的,有幾種方法可以在iPhone上恢復此變更。方法1–替換應用程式庫中的應用程式圖示您可以直接從應用程式庫將應用程式圖示放置在主畫面上。步驟1–橫向滑動以尋找應用程式庫中的所有應用程式。步驟2–找到您先前刪除的應用程式圖示。步驟3–只需將應用程式圖示從主庫拖曳到主畫面上的正確位置即可。這是將應用程式圖

建議:優秀JS開源人臉偵測辨識項目 建議:優秀JS開源人臉偵測辨識項目 Apr 03, 2024 am 11:55 AM

人臉偵測辨識技術已經是一個比較成熟且應用廣泛的技術。而目前最廣泛的網路應用語言非JS莫屬,在Web前端實現人臉偵測辨識相比後端的人臉辨識有優勢也有弱勢。優點包括減少網路互動、即時識別,大大縮短了使用者等待時間,提高了使用者體驗;弱勢是:受到模型大小限制,其中準確率也有限。如何在web端使用js實現人臉偵測呢?為了實現Web端人臉識別,需要熟悉相關的程式語言和技術,如JavaScript、HTML、CSS、WebRTC等。同時也需要掌握相關的電腦視覺和人工智慧技術。值得注意的是,由於Web端的計

6000 毫安矽負極電池!小米 15Pro 升級再曝料 6000 毫安矽負極電池!小米 15Pro 升級再曝料 Jul 24, 2024 pm 12:45 PM

7月23日消息,部落客數位閒聊站爆料稱,小米15Pro電池容量增大至6000mAh,支援90W有線閃充,這將是小米數位系列電池最大的Pro機型。先前數位閒聊站透露,小米15Pro的電池擁有超高能量密度,矽含量遠高於競品。矽基電池在2023年大規模試水後,第二代矽負極電池被認定為產業未來發展方向,今年將迎來直接競爭的高峰。 1.矽的理論克容量可達4200mAh/g,是石墨克容量的10倍以上(石墨的理論克容量372mAh/g)。對於負極而言,當鋰離子嵌入量達到最大時的容量為理論克容量,這意味著在相同重量下

請勿遮擋螢幕頂端怎麼關閉 詳細解說:手機頻繁出現請勿遮擋螢幕頂端關閉方法 請勿遮擋螢幕頂端怎麼關閉 詳細解說:手機頻繁出現請勿遮擋螢幕頂端關閉方法 Mar 03, 2024 pm 01:31 PM

相信很多小夥伴都遇過手機突然提示:請勿遮擋螢幕頂端的問題,那麼手機為什麼會突然出現這樣的現象呢?下面我們就一起來看一下吧。其實出現這種情況的時候,就是有東西遮擋了手機的距離感應器,所以手機螢幕上才收到這個提示。那麼好好的為什麼會突然收到這樣的提示呢?其實可能就是因為你無意間開啟了手機中的【防誤觸模式】,所以才會出現這樣的問題。那我們該如何關閉呢?其實方法很簡單下面我們就一起來看看吧。方法1:直接依照螢幕提示的透過快捷鍵組合進行關閉。方法2:如果上面的方法沒有用的話,還可以透過打開手機【設

螢幕變成黑白色怎麼調彩色 詳細介紹:手機退出黑白模式的方法 螢幕變成黑白色怎麼調彩色 詳細介紹:手機退出黑白模式的方法 Mar 21, 2024 pm 01:12 PM

很多朋友在使用手機時,突然發現手機的操作介面變成了「黑白」的顏色,不知道是什麼原因導致的,也不知道該如何解決,本期文章以安卓手機為例,教大家如何讓手機的操作介面顏色恢復正常。一、設定打開手機的介面,在操作介面找到「齒輪狀」圖示。如下圖:點選該圖標,即可進入手機的設定介面。二、選項手機的操作介面變成了黑白顏色,這與手機的“顯示”設定有關,進入手機的設定介面以後,下拉選單找到“顯示和主題”選項,如下圖:然後點擊“顯示和主題”選項,進入詳情頁。三、改變螢幕顏色進入“顯示和主題”選項之後,下拉式選單找到“

蘋果 曝 iPhone16 或實現更大顯示屏 蘋果 曝 iPhone16 或實現更大顯示屏 Mar 22, 2024 pm 06:41 PM

雖然距離iPhone16系列發布還要許久,但外觀和配置相關爆料就沒斷過。根據韓國媒體SisaJournal通報,蘋果計畫在即將推出的iPhone16系列手機中引進全新的超窄邊框技術。該技術涉及將內部銅線捲成更緊湊的結構,以縮小手機底部顯示器的邊框寬度,從而實現更大尺寸的顯示器。這項創新舉措旨在提升用戶體驗,讓用戶享受更廣闊的視野和更沉浸式的娛樂體驗。蘋果一直致力於不斷改進其產品設計和技術,為使用者帶來更先進的功能和性能。 iPhone16系列手機的推出將進一步鞏固蘋果在智慧另據@剎那數位爆料,蘋果新一

See all articles