1. 程式人生 > >html簡單圖片輪播的實現

html簡單圖片輪播的實現

這裡的圖片輪播方法是我從網上參考的方法,只是自己做了一些改進

先來貼一發程式碼

<!DOCTYPE HTML>
<html>
	<head>
		<link rel="stylesheet" type="text/css" href="./css/init2.css">
		<script type="text/javascript" src="./js/jquery-1.11.3.min.js"></script>
		<script type="text/javascript" src="./js/test2.js"></script>
	</head>
	<body>
		<div id="layout">
			<header  class="clearfix">
				<div id="banner">
					<ul id="banner_img">
						<li><img src="./img/s1.jpg"></li>
						<li><img src="./img/s2.jpg"></li>
						<li><img src="./img/s3.jpg"></li>
					</ul>
				</div>
			</header>
		</div>
	</body>
</html>

在這個html的目錄下有三個同級的資料夾,img中放圖片,css和js分別存放這個網頁的css檔案和js檔案,這裡用到了jquery,記得引入順序,jquery一定要放在其他js前面。

html程式碼很簡單,不做過多解釋。

看一下引入的css,init2.css

*{
	margin: 0px ;
	padding: 0px ;
}
#layout{
	width: 960px ;
	margin: 0 auto ;
}
#banner{
	position: relative;
	overflow: hidden;
	width: 600px;
	height: 200px;
	border-radius: 10px ;
	border: 2px solid black;
}
#banner_img li{
	float: left;
	list-style-type: none;
}
#index{
	position: absolute;
	right: 8px ;
	bottom: 8px ;
}
#index li{
	float: left;
	width: 16px ;
	height: 16px ;
	text-align: center;
	line-height: 16px ;
	border-radius: 5px ;
	border:1px solid #FF7300 ;
	background: white;
	list-style: none;
	margin-left: 8px ;
	cursor: pointer;
}
.clearfix:after{
	content: "" ;
	height: 0px ;
	display: block;
	clear:both ;
}
.on
{
	background:#FF7300 ;
}

css基本上和前面的html中的類對應,claerfix來清除浮動,on是代表輪播圖片的索引中當前的正播放的圖片的索引,其實就改個背景,這裡的索引是後面動態加上去的,索引在html中看不到。主要思路就是把裝圖片的容器設定成overfl;hidden;

下面是一種比較簡單的實現,利用jquery的fadeIn和fadeOut效果來實現。

//fadeIn and fadeOut
var time ;
var index = 1 ;
var tolnum = 3 ;
$(function(){
<span style="white-space:pre">	</span>setInterval("showBanner("+tolnum+")",3000);
});
function showBanner(n)
{
<span style="white-space:pre">	</span>var ul = $("#banner_img") ;
<span style="white-space:pre">	</span>ul.children().fadeOut("slow") ;
<span style="white-space:pre">	</span>ul.children().eq(index).fadeIn("slow") ;
<span style="white-space:pre">	</span>index = index+1>n-1 ? 0 : index+1 ;
} 

恩,不知道為什麼到最後一張圖片的時候會產生沒有淡出的bug,不太懂,請大家指教。

第二種方法是利用jquery的animation來實現margin屬性的過渡。

init();
function init()
{
	$(function(){
		var index = 0 ;
		var adTime ;
		var len = $("#banner_img li").length ;
		addIndex(len) ;
		var bannerLi = $("#index li");
		//handle index
		$("#index li").mouseover(function() {
			index = $("#index li").index(this) ;
			showImgs(index) ;
		});
		//toggleInterval
	    $("#banner").hover(function(){
	        clearInterval(adTimer);
	    },function(){
	        adTimer=setInterval(function(){
	            //alert(index) ;
	            showImgs(index);
	            index++;
	            if(index==len){
	                index=0;
	            }
	        },2000) 
	    }).trigger('mouseleave');
	});
} 
//auto add index
function addIndex(n)
{
	var ul = $("<ul id=\"index\"></ul>") ;
	for(var i=1;i<=n;i++)
	{
		var li = $("<li></li>") ;
		li.append(function(num){
				return num
			}(i)) ;
		ul.append(li) ;
	}
	ul.children().first().addClass('on') ;
	$("#banner_img").append(ul);
}
function showImgs(index)
{
	var adwidth=$("#banner_img>li:first").width();
	$("#banner_img").stop(true, false) ;
	//$("#banner_img").css('margin-left', -index*adwidth+"px");
	$("#banner_img").animate({
            "marginLeft":-adwidth*index+"px"
        },1000);
	$("#index li").removeClass('on').eq(index).addClass('on') ;
}
hover()是一種代替mouseenter和mouseleave的方法,聽說比較好用。trigger()來觸發當前物件的一個狀態,這裡要先觸發一次mouseleave的狀態來初始化計時器,因為這裡的設定是當滑鼠移到$("#banner")上就銷燬定時器,鎖定當前圖片,移開滑鼠就重新新增定時器。
<pre name="code" class="javascript">	$("#banner_img").animate({
            "marginLeft":-adwidth*index+"px"
        },1000);

這了就是對jquery中animation方法的使用,通過傳進來的index來改變banner_img的margin,這裡是margin-left,所以圖片就會從右往左刷(需要設定浮動),如果需要從下往上刷就設定margin-top就好了,還有我發現js中動態新增margin是不能觸發css的transition的。

相關推薦

html簡單圖片實現

這裡的圖片輪播方法是我從網上參考的方法,只是自己做了一些改進 先來貼一發程式碼 <!DOCTYPE HTML> <html> <head> <link rel="stylesheet" type="text/css" href

Android之——史上最簡單圖片廣告效果實現

如今的Android開發需求越來越來多,實現效果越來越酷炫,很多Android APP都要實現PC網站上那樣的圖片輪播效果,那麼,這些圖片的輪播效果是如何實現的呢?下面,我就跟大家一起來實現這些酷炫的功能。 一、原理 首先,將這些要輪播的圖片和一些文字分別放置在不同的資料集合中,程式啟動的時候預設

基於Bootstrap框架的圖片實現

       前面介紹過原生的javascript實現圖片輪播效果:http://blog.csdn.net/shoushou71/article/details/51628678,本節通過Bootstrap框架實現圖片輪播效果。 1.Bootstrap介紹     Bo

Jquery 圖片實現原理總結

以前要做圖片輪播效果的時候,總是在網上找一段jquery的複製貼上進去,只索取不奉獻,今個就把我對這個的實現原理講解一下。 首先說下,我在網上找的例子全是用的UL 實現,其實大可不必,只要是能包含img標籤的HTML標籤都可以做輪播效果。利用jquery的淡入淡出函式(fadeIn和fadeOut)。廢

html+js圖片包含背景音樂

<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="te

JS製作簡單圖片--通過調整margin製作

圖片輪播在網頁中使用的非常廣泛,製作的方法有很多,介紹一下我用調整margin來實現3張圖片輪播功能。 設計思路: 自動跳轉。三張圖片每隔3秒跳轉一張,第三張圖片跳轉完成後,3秒後跳轉至第一張圖片

html+css+js簡單實現圖片效果

<script>  index=0;function show_img(){             imgs=document.getElementById("shidian_img").children; //獲取所以圖片 並且儲存到陣列imgs數組裡             for(i =0

CSS/HTML/JS實現圖片

class fff 瀏覽器 tro back 全局 實現圖 func 原理 實現原理 將點擊的a標簽的href屬性值賦給img標簽的src屬性,這樣有個好處,就是如果瀏覽器不支持js的話,點擊a標簽也可跳轉到圖片地址看到圖片,不會影響內容的呈現 註:需要導入jquery

實現簡單圖片功能

mar font add span var inter -s size ctype <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>簡單圖片

使用Ajax+jQuery來實現前端收到的數據在console上顯示+簡單的主頁設計與bootstrap插件實現圖片

value size 靠譜 實現圖 active length oot function 想要 1.實現前端輸入的數據在console上顯示 上一篇是解決了在前端的輸入信息在cygwin上顯示,這次要給前臺們能看見的數據,因為數據庫裏插入的數據少,所以寫的語句翻來覆去就那幾

圖片實現html js)

1.簡單實現 1)實現思想:通過輪播次數來決定顯示那一張首先,可以用簡單的div 包含img的框架來實現,我們為他新增按鈕,每個按鈕對應不同的圖片,那麼,每點選一次,將要顯示的圖片的style.dispay屬性設定為'block'將不顯示的圖片的display設定為none,可以實現簡單的按

jq + css 實現簡單圖片效果

jq + css 實現簡單的圖片輪播效果 開發過程中需要用到圖片輪播的外掛,在網上找了幾個外掛之後還是決定自己碼一個,比較簡潔的功能,以後說不定還會有用。 ps: 功能比較簡單,整個框並不能根據圖片的大小自動調節,這裡所用的圖片是1170*500的,如果需要改成其他大小的圖片,自行

【javaweb】JS實現簡單圖片

需求:每隔3秒動態迴圈切換一組圖片 定時輪播一組圖片步驟分析:(1)確定事件:文件載入完成的事件onload                          

使用js實現html首頁圖片效果

第一步:確定事件(onload)併為其繫結一個函式 瀏覽器是邊載入邊執行的,先載入head 再載入body。瞭解body的onload事件的執行時間是非常重要的。onload事件是在網頁載入完畢時執行的。當我們在JavaScript中想要操作某元素時而此元素還沒有載入完成(

分別使用js和JQuery實現html首頁圖片以及廣告圖片定時彈出

主要使用setInterval方法設定更新週期,clearInterval清除週期。(如果不清除會一直週期迴圈執行下去,而setTimeout只是在指定時間後執行一次,這裡完全可以替換為setTimeout方法)   一、js首頁輪播 第一步:確定事件(onload)併為

簡單實現一個圖片

(注意要將圖片替換為你自己的圖片) public class MainActivity extends Activity { private ViewPager mViewPaper; private List<ImageView> images; private List&

html中使用JS實現圖片效果

HTML 部分 <div id="bannner" class="main_center_bannar">

javascript 超簡單程式碼實現圖片功能

一  利用setInterval()方法 1. <script type="text/javascript"> var tus=["1.jpg","2.jpg","3.jpg","4.jp

五滴水:使用Ajax+jQuery來實現前端收到的資料在console上顯示+簡單的主頁設計與bootstrap外掛實現圖片

前言嘚吧嘚 三天沒更博了,嘻嘻嘻打自己:3 最近的狀態比開始的時候好太多,能看懂cygwin和console上報的錯誤了,知道到底是縮進出了問題還是我的程式碼邏輯不完整了,找資源也知道哪裡是我要的,也可以找到想要的了·······慢慢來,給自己立個flag :

HTML+CSS+JQ實現圖片效果

焦點圖廣泛運用於主頁的醒目位置放置廣告,簡單好用,加上效果也很好看。 實現的效果: 5張圖片每兩秒輪播一次,右下角的數字隨圖片而變換,滑鼠放在數字上圖片停止,移走滑鼠繼續播放。 實現步驟: 1