HTML首页怎么加图片轮播?

HTML首页怎么加图片轮播?,第1张

可以通过输入代码来 *** 作。

这里的图片轮播方法是我从网上参考的方法,只是自己做了一些改进,先来贴一发代码:

<!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中看不到。主要思路就是把装图片的容器设置成overflhidden

下面是一种比较简单的实现,利用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=1i<=ni++)

{

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

<!DOCTYPE html><html><head>    <meta charset="UTF-8">    <title>CSS3仿JS轮播图</title>    <link rel="stylesheet" href="lbimage.css"/></head><body>    <div id="photo">        <!--//1-->        <input type="radio" name="btn" id="img1" checked/>        <div>            <div><img src="images/img1.jpg"/></div>            <div>                <label for="img6" class="up leftjianbian"><</label>                <label for="img2" class="down rightjianbian">></label>            </div>        </div>        <!--//2-->        <input type="radio" name="btn" id="img2"/>        <div>            <div><img src="images/img2.jpg"/></div>            <div>                <label for="img1" class="up leftjianbian"><</label>                <label for="img3" class="down rightjianbian">></label>            </div>        </div>        <!--//3-->        <input type="radio" name="btn" id="img3"/>        <div>            <div><img src="images/img3.jpg"/></div>            <div>                <label for="img2" class="up leftjianbian"><</label>                <label for="img4" class="down rightjianbian">></label>            </div>        </div>        <!--//4-->        <input type="radio" name="btn" id="img4"/>        <div>            <div><img src="images/img4.jpg"/></div>            <div>                <label for="img3" class="up leftjianbian"><</label>                <label for="img5" class="down rightjianbian">></label>            </div>        </div>        <!--//5-->        <input type="radio" name="btn" id="img5"/>        <div>            <div><img src="images/img5.jpg"/></div>            <div>                <label for="img4" class="up leftjianbian"><</label>                <label for="img6" class="down rightjianbian">></label>            </div>        </div>        <!--//6-->        <input type="radio" name="btn" id="img6"/>        <div>            <div><img src="images/img6.jpg"/></div>            <div>                <label for="img5" class="up leftjianbian"><</label>                <label for="img1" class="down rightjianbian">></label>            </div>        </div>        <div>            <label for="img1" id="dot1"></label>            <label for="img2" id="dot2"></label>            <label for="img3" id="dot3"></label>            <label for="img4" id="dot4"></label>            <label for="img5" id="dot5"></label>            <label for="img6" id="dot6"></label>        </div>    </div></body></html>

css:部分

@charset "utf-8"

body{

background-image: url("images/bbbefb51f8198618b654e23e48ed2e738ad4e69a.jpg")

background-size: cover

}

img{

width: 850px

height: 500px

}

.photo{

width: 900px

height: 550px

border: 1px solid #555555

margin: auto auto

position: relative

background: #ffffff

box-shadow: 0 10px 80px rgba(0,0,0,.6)

}

.photo input{

display: none

}

.image{

position: absolute

top: 0px

left: 0px

width: 800px

height: 450px

margin: 25px 25px

transform: scale(0)

opacity: 0

transition: all 0.7s

}

.image img{

}

.nav label{

width: 150px

height: 500px

margin: 25px 25px

position: absolute

z-index: 10

opacity: 0

display: none

cursor: pointer

transition: opacity 0.2s

color: #ffffff

font-size: 50px

line-height: 450px

text-align: center

text-shadow: 0 0 15px #555555)

}

.leftjianbian{

background: linear-gradient(right , rgba(250, 242, 239,0) 1% , rgba(158, 148, 166,0.5) 100%)

background: -o-linear-gradient(right , rgba(250, 242, 239,0) 1% , rgba(158, 148, 166,0.5) 100%)

background: -ms-linear-gradient(right , rgba(250, 242, 239,0) 1% , rgba(158, 148, 166,0.5) 100%)

background: -moz-linear-gradient(right , rgba(250, 242, 239,0) 1% , rgba(158, 148, 166,0.5) 100%)

background: -webkit-linear-gradient(right , rgba(250, 242, 239,0) 1% , rgba(158, 148, 166,0.5) 100%)

}

.rightjianbian{

background: linear-gradient(left , rgba(250, 242, 239,0) 1% , rgba(158, 148, 166,0.5) 100%)

background: -o-linear-gradient(left , rgba(250, 242, 239,0) 1% , rgba(158, 148, 166,0.5) 100%)

background: -ms-linear-gradient(left , rgba(250, 242, 239,0) 1% , rgba(158, 148, 166,0.5) 100%)

background: -moz-linear-gradient(left , rgba(250, 242, 239,0) 1% , rgba(158, 148, 166,0.5) 100%)

background: -webkit-linear-gradient(left , rgba(250, 242, 239,0) 10% , rgba(158, 148, 166,0.5) 100%)

}

.image:hover + .nav label{

opacity: 0.5

}

.nav label:hover{

opacity: 1

}

.nav .down{

right: 0

}

input:checked + .control .image{

opacity: 1

transform: scale(1)

transition: all 1s

}

input:checked + .control .nav label{

display: block

}

.dots{

width:100%

height: 20px

position: absolute

bottom: 30px

text-align: center

}

.dot{

width: 10px

height: 10px

margin: 0px 5px

border-radius: 50%

position: relative

display: inline-block

background: rgba(0,0,0,0.3)

}

input#img1:checked ~ .dots label#dot1,

input#img2:checked ~ .dots label#dot2,

input#img3:checked ~ .dots label#dot3,

input#img4:checked ~ .dots label#dot4,

input#img5:checked ~ .dots label#dot5,

input#img6:checked ~ .dots label#dot6{

background: rgba(0,0,0,0.7)

}

h5代码:

<div id=“wrap”><ul id=“list”><li>10</li><li>9</li><li>8</li><li>7</li><li>6</li><li>5</li><li>4</li><li>3</li><li>2</li><li>1</ul></div>

css代码:

<style type="text/css">@-webkit-keyframes move{0%{left:-500px}100%{left:0}}#wrap{width:600pxheight:130pxborder:1px solid #000position:relativemargin:100px autooverflow:

hidden}#list{position:absoluteleft:0top:0padding:0margin:0-webkit-animation:5s move infinite linearwidth:200%}#list li{list-style:nonewidth:120pxheight:130pxborder:1px solid redbackground: pinkcolor:#ffftext-align: centerfloat:leftfont:normal 50px/2.5em '微软雅黑'}#wrap:hover #list{-webkit-animation-play-state:paused}</style>

扩展资料:

轮播图是网站介绍其主要产品或重要信息的一种方式。简单的一点是,在网页的某一部分,会依次呈现几个带有重要信息的图片,这样访问者就可以快速了解网站想要表达的主要信息。各种新闻网站的头版头条也是以这种方式呈现的重要信息。

轮播图的实现方式:例如:有5张轮播的图片,每张图片的宽度为1024px,高度为512px。那么旋转的窗口大小应该是一张图片的大小,即1024×512,然后,将五张0px的图片水平连接,形成一张5120px宽、512px高的图片,最后,通过每次向左移动1024px,可以旋转大的合成图像。

参考资料来源:

百度百科-轮播


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/8330869.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-15
下一篇2023-04-15

发表评论

登录后才能评论

评论列表(0条)

    保存