js写一个将图片向上淡出第二张图片从下往上淡入

JavaScript08

js写一个将图片向上淡出第二张图片从下往上淡入,第1张

这种通常用class切换状态比较好,一下是两张图片淡入淡出demo。通过js控制一个dom元素的class状态,可以产生想要的过渡动画

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8" />

<title></title>

<style type="text/css">

body{

background: #ccc

}

.content{

position: absolute

top: 30%

}

#box1{

position: absolute

border: 1px solid red

transition: all 1s/*过渡时间*/

}

#box2{

position: absolute

border: 1px solid red

transition: all 1s/*过渡时间*/

}

.up{

/*图片向上状态*/

-webkit-transform: translateY(-100%)

transform: translateY(-100%)

opacity: 0

}

.down{

/*图片向下状态*/

-webkit-transform: translateY(100%)

transform: translateY(100%)

opacity: 0

}

</style>

</head>

<body>

<button onclick="fadeInOut()">淡入淡出</button>

<div class="content">

<!--图片1-->

<div id="box1" class=""><img src="https://www.baidu.com/img/superlogo_c4d7df0a003d3db9b65e9ef0fe6da1ec.png"/></div>

<!--图片2-->

<div id="box2" class="down"><img src="https://ss0.baidu.com/94o3dSag_xI4khGko9WTAnF6hhy/image/w%3D500/sign=c27d4835de3f8794d3ff482ee21a0ead/024f78f0f736afc3290994e8b919ebc4b7451231.jpg"/></div>

</div>

<script>

function fadeInOut(){

console.log(1)

document.getElementById("box1").className="up"

document.getElementById("box2").className=""

}

</script>

</body>

</html>

如下代码可以实现,不过你要首先下载一个JS插件:Jquery,我用的是jquery-1.9.1.min.js,你下载下来后放到网页同级目录就可以了,如入代码适用于2张或多张图片。

<div id="imgbox">

<img src="11.jpg" /><img src="22.jpg" />

</div>

<script src="jquery-1.9.1.min.js"></script>

<script>

$(document).ready(function(){

$("#imgbox img").fadeOut(0).eq(0).fadeIn(0)

var i = 0

setInterval(function(){

if($("#imgbox img").length > (i+1)){

$("#imgbox img").eq(i).fadeOut(0).next("img").fadeIn(1000)

i++

}

else{

$("#imgbox img").eq(i).fadeOut(0).siblings("img").eq(0).fadeIn(1000)

i = 0

}

},2000)

})

</script>

1.toggle():

toggle()方法除了模拟鼠标连续单击事件之外,同时会动态的隐藏改变当前元素的高度,宽度和不透明度,最终切换当前元素的可见状态。如果元素可见,则切换隐藏状态,如元素隐藏,切换可见状态

2.fadeln()与fadeOut()

这两个方法,实现了淡入和淡出的一个动画效果,fadeln()渐显效果,fadeout()渐隐效果,两者结合使用,可把元素隐藏在按钮中,在通过点击事件显示,两方法只改变元素的透明度,不修改其他属性

3.fadeToggle()

此方法会动态的改变当前元素的透明度,最终却换当前元素的可见状态。如果元素是可见的,则通过淡出效果切换隐藏;如果元素是隐藏的,则通过淡入效果切换可见状态,不设置参数时,默认0.4秒内发生淡入与淡出的动画效果

4.fadeTo()

fadeln()与fadeOut()方法都是渐隐渐显,透明度从1到0,从0到1实现一个渐隐渐显效果,而fadeToggle()方法则是可以控制1-0的透明度,为更好展示透明度的效果,可在页面中创造一个下拉框,用于保存透明度值,操作下拉框去控制图片透明度值

5.slideDown()与 slideUp()

slideDown()可改变元素高度,呈现一个滑动效果,由上往下滑动,直到显示最终的当前元素,slideUp()相反,由下往上滑动,直到隐藏最终的当前元素

6.slideToggle()

slideToggle()方法跟slideDown()与 slideUp() 两个方法有异曲同工之妙,同样可改变元素的高度,不同于slideDown()与 slideUp() 的效果, 这个方法是通过点击事情控制元素的隐藏和显示

7.animate()

这个方法是自定义动画效果的方法,高度,宽度,透明度,运行速度都是可通过自定义给属性,这个方法只能改变可以取数字值的css属性,如:大小,边框,内外边距,定位,字体,文本,背景,透明度。

8.stop()

停止动画,stop()方法能结束当前的动画,并立即进入到下一个动画。