欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

HTML圖片輪播怎么做?

錢多多2年前14瀏覽0評論

可以通過輸入代碼來操作。

這里的圖片輪播方法是我從網(wǎng)上參考的方法,只是自己做了一些改進(jìn),先來貼一發(fā)代碼:

<!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 >

<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>

在這個(gè)html的目錄下有三個(gè)同級的文件夾,img中放圖片,css和js分別存放這個(gè)網(wǎng)頁的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中的類對應(yīng),claerfix來清除浮動(dòng),on是代表輪播圖片的索引中當(dāng)前的正播放的圖片的索引,其實(shí)就改個(gè)背景,這里的索引是后面動(dòng)態(tài)加上去的,索引在html中看不到。主要思路就是把裝圖片的容器設(shè)置成overfl;hidden;下面是一種比較簡單的實(shí)現(xiàn),利用jquery的fadeIn和fadeOut效果來實(shí)現(xiàn)。

//fadeIn and fadeOut

var time ;

var index = 1 ;

var tolnum = 3 ;

$(function(){

<span > </span>setInterval("showBanner("+tolnum+")",3000);

});

function showBanner(n)

{

<span > </span>var ul = $("#banner_img") ;

<span > </span>ul.children().fadeOut("slow") ;

<span > </span>ul.children().eq(index).fadeIn("slow") ;

<span > </span>index = index+1>n-1 ? 0 : index+1 ;

}

恩,不知道為什么到最后一張圖片的時(shí)候會(huì)產(chǎn)生沒有淡出的bug,不太懂,請大家指教。第二種方法是利用jquery的animation來實(shí)現(xiàn)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()來觸發(fā)當(dāng)前對象的一個(gè)狀態(tài),這里要先觸發(fā)一次mouseleave的狀態(tài)來初始化計(jì)時(shí)器,因?yàn)檫@里的設(shè)定是當(dāng)鼠標(biāo)移到$("#banner")上就銷毀定時(shí)器,鎖定當(dāng)前圖片,移開鼠標(biāo)就重新添加定時(shí)器。<pre name="code" > $("#banner_img").animate({

"marginLeft":-adwidth*index+"px"

},1000);

這了就是對jquery中animation方法的使用,通過傳進(jìn)來的index來改變banner_img的margin,這里是margin-left,所以圖片就會(huì)從右往左刷(需要設(shè)置浮動(dòng)),如果需要從下往上刷就設(shè)置margin-top就好了,還有我發(fā)現(xiàn)js中動(dòng)態(tài)添加margin是不能觸發(fā)css的transition的。