JS写幻灯片特效

JavaScript011

JS写幻灯片特效,第1张

新建一个文件夹dome,

在文件下新建一个文件夹img 放入5张名称为1,2,3,4,5 格式为“.jpg”的图片文件。

在新建一个dome.html 文件 内容如下:

<html>

<head>

<meta charset="UTF-8"/>

<title></title>

<style type="text/css">

*{margin: 0padding: 0}

#a1{

width: 600px

height: 500px

border: 10px silver solid

animation:backgroundImg 5s infinite

-webkit-animation:backgroundImg 5s  infinite

}

@keyframes backgroundImg{

0%{background-color: #0000FF}

25%{background-color: #0099FF}

50%{background-color: #00FFFF}

75%{background-color: #99FFFF}

100%{background-color: #FFFFFF}

}

@-webkit-keyframes backgroundImg{

0%{background-color: #0000FF}

25%{background-color: #0099FF}

50%{background-color: #00FFFF}

75%{background-color: #99FFFF}

100%{background-color: #FFFF00}

}

#backImg{

width: 500px

height: 490px

/*border: 5px red solid*/

margin-left:45px

z-index: 100

background-size:100% 100%

}

a:hover{

background-color:#0000FF

border: 5px springgreen solid

width: 20px

}

a{

display: block

z-index:

width: 30px

height: 30px

text-align: center

line-height: 30px

color: beige

font-weight: 300

border-radius:50%

font-size: 2em

background-color:#0099FF

position: absolute

top: 255px

box-shadow: none

}

#right{

left:580px

}

span{

display: block

width: 50px

height: 10px

background-color: #99FFFF

float: right

margin-left: 20px

position: relative

bottom: 50px

right: 100px

}

#show{

width: 200px

height: 100px

border: 1px red solid

position: absolute

bottom: 230px

right: 150px

background-size:100% 100%

}

</style>

</head>

<body>

<div id="a1">

<a id="left">&lt</a>

<a id="right">&gt</a>

<div id="backImg"></div>

<div id="foot"></div>

</div>

<script type="text/javascript">

var div=document.getElementById("a1")

var backImg=document.getElementById("backImg")

var a_left=document.getElementById("left")

var a_right=document.getElementById("right")

var i=0

function backImage(){

i++

backImg.style.backgroundImage="url(img/" +i+".jpg)"

setTimeout(backImage,7000)

if(i>=5){

i=0

}

}

backImage()

a_left.onclick=function(){

i--

if(i<=0||i>5){

i=5

}

backImg.style.backgroundImage="url(img/" +i+".jpg)"

}

a_right.onclick=function(){

i++

if(i<=0||i>5){

i=1

}

backImg.style.backgroundImage="url(img/" +i+".jpg)"

}

for (var j = 0j <3j++) {

var span=document.createElement("span")

span.id="span_"+j

div.appendChild(span)

span.onmouseover=function(){

show(event)

}

}

function show(e) {

backImg.style.opacity="0.5"

var span = e.target

var div = document.createElement("div")

div.id = "show"

span.parentNode.appendChild(div)

console.log(span.id)

if(span.id=="span_2"){

i-=1

console.log(i)

if(i<=0||i>5){

i=5

}

div.style.backgroundImage="url(img/" +i+".jpg)"

}else if(span.id=="span_1"){

div.style.backgroundImage="url(img/" +i+".jpg)"

}else if(span.id=="span_0"){

i+=1

if(i<=0||i>5){

i=1

}

div.style.backgroundImage="url(img/" +i+".jpg)"

}

span.onmouseout = function() {

backImg.style.opacity="initial"

this.parentNode.removeChild(div)

}

span.onclick=function(){

backImg.style.backgroundImage="url(img/" +i+".jpg)"

}

}

</script>

</body>

</html>

<html>

<head>

<meta http-equiv="Content-Type" content="text/htmlcharset=utf-8">

<title>slider幻灯片 - 纯JS简化版</title>

<style type="text/css">

*{margin: 0padding: 0}

#sliderbox { width: 500height:313pxposition: relativeoverflow: hiddenmargin: 20px}

#slider {list-style: nonemargin: 0padding: 0}

#slider li {float:leftmargin: 0padding: 0}

#slidertab {position: absoluteright: 10pxbottom:10pxwidth: 80pxheight: 20pxlist-style: none}

#slidertab li {float: leftwidth: 20pxheight: 20pxmargin: 2pxbackground: #eeetext-align: centerline-height: 20pxfont-size: 12px}

#slidertab li.sliderclass {background: #f00}

</style>

<script type="text/javascript">

window.onload = function() {

var sliderbox = document.getElementById('sliderbox')

var slider = document.getElementById('slider')

var sliderli = slider.getElementsByTagName('li')

var slidertab = document.getElementById('slidertab')

var slidertabli = slidertab.getElementsByTagName('li')

var inow = 0

sliderbox.onmouseover = function() {

clearInterval(timer)

}

sliderbox.onmouseout =function() {

timer = setInterval(autoplay, 1000)

}

for(var i=0i<slidertabli.lengthi++) {

slidertabli[i].index = i

slidertabli[i].onclick = function() {

clearInterval(timer)

for(var a=0a<slidertabli.lengtha++) {

slidertabli[a].className = ""

sliderli[a].style.display = "none"

}

this.className = "sliderclass"

sliderli[this.index].style.display = "block"

inow = this.index

}

}

function autoplay() {

for(var i=0i<sliderli.lengthi++) {

sliderli[i].style.display = 'none'

slidertabli[i].className = ""

}

sliderli[inow].style.display = 'block'

slidertabli[inow].className = "sliderclass"

inow = inow==sliderli.length-1 ? 0 : inow+1

}

timer = setInterval(autoplay, 5000)

}

</script>

</head>

<body>

<div id="sliderbox">

<ul id="slider">

<li><img src="tab1.jpg" /></li>

<li><img src="tab2.jpg" /></li>

<li><img src="tab3.jpg" /></li>

</ul>

<ul id="slidertab">

<li>1</li>

<li>2</li>

<li>3</li>

</ul>

</div>

</body>

</html>