左右無縫輪播圖的實現

来源:http://www.cnblogs.com/webcome/archive/2016/04/29/5447865.html
-Advertisement-
Play Games

無縫輪播圖: ...


無縫輪播圖:

	<title>無縫輪播圖</title>
	<style>
		*{margin: 0;padding:0; }
		ul{list-style: none;}
		.banner{width: 600px;height: 300px;border: 2px solid #ccc;margin: 100px auto;position: relative;overflow: hidden;}
		.img{position: absolute;top: 0;left: 0}
		.img li{float: left;}
		.num{position: absolute;bottom: 10px;width: 100%;text-align: center;font-size: 0;}
		.num li{width: 10px;height: 10px;background:rgba(0,0,0,0.5);display: block;border-radius: 100%;display: inline-block;margin: 0 5px;cursor: pointer;}
		.btn{display: none;}
		.btn span{display: block;width: 50px;height: 100px;background: rgba(0,0,0,0.6);color: #fff;font-size: 40px;line-height: 100px;text-align: center;cursor:pointer;}
		.btn .prev{position: absolute;left: 0;top: 50%;margin-top: -50px;}
		.btn .next{position: absolute;right: 0;top: 50%;margin-top: -50px;}
		.num .active{background-color: #fff;}
	</style>
	<script src="http://apps.bdimg.com/libs/jquery/1.8.3/jquery.min.js"></script>
</head>
<body>
<div class="banner">
	<ul class="img">
		<li><a href="#"><img src="img/1.jpg" alt="第1張圖片"></a></li>
		<li><a href="#"><img src="img/2.jpg" alt="第2張圖片"></a></li>
		<li><a href="#"><img src="img/3.jpg" alt="第3張圖片"></a></li>
		<li><a href="#"><img src="img/4.jpg" alt="第4張圖片"></a></li>
		<li><a href="#"><img src="img/5.jpg" alt="第5張圖片"></a></li>
	</ul>
	<ul class="num"></ul>  //
	<div class="btn">
		<span class="prev"><</span>
		<span class="next">></span>
	</div>
	
</div>

<script>

	$(function(){

		var i=0;
		var timer=null;
		for (var j = 0; j < $('.img li').length; j++) {   //創建圓點
			$('.num').append('<li></li>')
		}
		$('.num li').first().addClass('active');  //給第一個圓點添加樣式

		var firstimg=$('.img li').first().clone(); //複製第一張圖片
		$('.img').append(firstimg).width($('.img li').length*($('.img img').width()));  //將第一張圖片放到最後一張圖片後,設置ul的寬度為圖片張數*圖片寬度


		// 下一個按鈕
		$('.next').click(function(){
			i++;
			if (i==$('.img li').length) {
				i=1; //這裡不是i=0
				$('.img').css({left:0});  //保證無縫輪播,設置left值
			};

			$('.img').stop().animate({left:-i*600},300);
			if (i==$('.img li').length-1) {     //設置小圓點指示
				$('.num li').eq(0).addClass('active').siblings().removeClass('active');
			}else{
				$('.num li').eq(i).addClass('active').siblings().removeClass('active');
			}
			
		})

		// 上一個按鈕
		$('.prev').click(function(){
			i--;
			if (i==-1) {
				i=$('.img li').length-2;
				$('.img').css({left:-($('.img li').length-1)*600});
			}
			$('.img').stop().animate({left:-i*600},300);
			$('.num li').eq(i).addClass('active').siblings().removeClass('active');
		})

		//設置按鈕的顯示和隱藏
		$('.banner').hover(function(){
			$('.btn').show();
		},function(){
			$('.btn').hide();
		})

		//滑鼠劃入圓點
		$('.num li').mouseover(function(){
			var _index=$(this).index();
			$('.img').stop().animate({left:-_index*600},150);
			$('.num li').eq(_index).addClass('active').siblings().removeClass('active');
		})

		//定時器自動播放
		timer=setInterval(function(){
			i++;
			if (i==$('.img li').length) {
				i=1; 
				$('.img').css({left:0});
			};

			$('.img').stop().animate({left:-i*600},300);
			if (i==$('.img li').length-1) {  
				$('.num li').eq(0).addClass('active').siblings().removeClass('active');
			}else{
				$('.num li').eq(i).addClass('active').siblings().removeClass('active');
			}
		},1000)

		//滑鼠移入,暫停自動播放,移出,開始自動播放
		$('.banner').hover(function(){  
			clearInterval(timer);
		},function(){
			timer=setInterval(function(){
			i++;
			if (i==$('.img li').length) {
				i=1; 
				$('.img').css({left:0});
			};

			$('.img').stop().animate({left:-i*600},300);
			if (i==$('.img li').length-1) {  
				$('.num li').eq(0).addClass('active').siblings().removeClass('active');
			}else{
				$('.num li').eq(i).addClass('active').siblings().removeClass('active');
			}
		},1000)
		})

	})
</script>

  


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 裝飾設計模式就是對已有的對象的功能進行增強 簡單小例子: 我們考慮一下使用繼承也可以對父類中的功能進行增強只需要調用super就可以調用父類的方法,那使用裝飾和繼承有什麼區別?使用繼承體系就會有點臃腫,因為當平房想要改成歐式時,還要建立子類。 Writer |--FileWriter |--Buff ...
  • 在介紹Dubbo的內部邏輯的時候提到很多次註冊中心的概念.實現註冊中心的有很多,主要是以下四個註冊中心分別是: Multicast註冊中心 Zookeeper註冊中心 Redis註冊中心 Simple註冊中心 這裡將對註冊中心的一個實現Zookeeper跟大家分享,因為Zookeeper是應用比較多 ...
  • 在此先容我拿“小弟”這個詞來扯一下淡。什麼是小弟呢,所謂小弟就是可以幫你做一些瑣碎的事情,在此我們就拿“小弟”來類比“外觀模式”。在上面一篇博文我們完整的介紹了“適配器模式”,接下來我們將要在這篇博客中介紹“外觀模式”(Facade Pattern)。其實外觀模式與之前我們介紹過的“命令模式”有些相 ...
  • Appreciation to our TA, +7, who designed this task. Client.cpp include include include "Factory.hpp" include "Product.hpp" int main() { UIFactory ui = ...
  • 1,開篇 在剛剛學習完李建中老師的C#面向對象之設計模式縱橫談視頻之後,感想頗多,在此稍微記錄一下嘿嘿。 2,內功修煉 很多人都反映,學了設計模式就感覺好像什麼都沒學到一樣,學了就忘了,學了也不會用,然後還需要再枯燥的再去學。其實我覺得這樣是沒有真正領悟設計模式的精髓,對於修煉武功一樣,只去學一些外 ...
  • 學習要點: 1.字體總匯 2.字體設置 3.Web 字體 主講教師:李炎恢 本章主要探討 HTML5 中 CSS 文本樣式,通過文本樣式的設置,更改字體的大小、樣式以及文本的方位。 一.字體總匯 本節課,我們重點瞭解一下 CSS 文本樣式中字體的一些設置方法,樣式表如下: 屬性名 說明 CSS 版本 ...
  • 知識點:(圖片為網路轉載,謝謝分享。) JavaScript 變數 JavaScript 數據類型 JavaScript 字元串函數 Javascript 運算符 JavaScript 流程式控制制 JavaScript 數組 JavaScript 函數基礎 DOM 基本操作 Window 對象 Jav ...
  • 初入前端。在學習上總會有很多問題。這次就網頁佈局來講講。 網頁佈局在現代已經不再是什麼難事,幾乎所有頁面都能做好一個能拿得出手的佈局,在現在招聘網站上也有好多要求什麼div+css佈局的,簡直不知所言。 前端不懂佈局就沒法繼續前了。那麼怎麼佈局呢。 細心一點就會發現,css裡面竟然沒有專門為佈局而設 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...