插件1:鼠标移入图片切换
重点:
1个父容器内有左右2列,分别有上下2行,每个小图片容器内有2个img上下排列
设置单个图片容器的尺寸,其他行容器和列容器大小自动被撑开;
每个div使用
overflow:hidden
,一方面用于隐藏单个图片容器内的第2张图片,另一方面此案例中清除父容器浮动影响;需要严格计算每个图片容器的尺寸,才能达到效果,是否有更简单的方法?后台如何输出图片数据?
动画使用jQuery的
hover
方法,注意stop()
写在animate
前面,才能停止正在执行的动画,关键代码
$(".pic").hover(function(){
$(this).find("img").eq(0).stop().animate({"margin-top":-$(this).find("img").eq(0).height()},500);
},function(){
$(this).find("img").eq(0).stop().animate({"margin-top":0},500)
})
插件2:鼠标移入图片切换+文字跳动
重点:
1个父容器内置ul列表,鼠标移动到不同的li上,父容器显示不同的背景图片
ul相对于父容器绝对定位,
overflow:hidden
,鼠标移动到li上时,改变当前li的
height
后,再用回调函数改变文字h2的margin值,才能有文字跳动的效果要显示对应的背景,需要知道当前的li是第几个,需要用到
index()
方法显示图片用另一种方法是用自定义属性注意
$(this).attr('src')
括号和引号,代码如下:
<p>背景图片的第二种设置方法</p>
<div class="wrap" style="height:300px;width:500px;color:#fff">
<ul>
<li src="img1">山东</li>
<li src="img2">宁夏</li>
<li src="img3">哈尔滨</li>
</ul>
</div>
<script type="text/javascript" src="jquery-1.11.3.js"></script>
<script type="text/javascript">
$(function(){
$("li").hover(function(){
$(".wrap").css("background-image","url('img/"+$(this).attr('src')+".jpg')");
},function(){
})
})
</script>