短短的十多行代码就实现了一个酷炫的图片翻滚代码,要实现这个效果并不难,只要思路对了,一切都好办,不多说了,直接上代码看效果!
html结构:
<ul class=\"list\">
<li><img src=\"images/10.jpg\" alt=\"\" /><a href=\"#\"><span>1</span></a></li>
<li><img src=\"images/11.jpg\" alt=\"\" /><a href=\"#\"><span>2</span></a></li>
<li><img src=\"images/12.jpg\" alt=\"\" /><a href=\"#\"><span>3</span></a></li>
<li><img src=\"images/13.jpg\" alt=\"\" /><a href=\"#\"><span>4</span></a></li>
<li><img src=\"images/10.jpg\" alt=\"\" /><a href=\"#\"><span>5</span></a></li>
<li><img src=\"images/11.jpg\" alt=\"\" /><a href=\"#\"><span>6</span></a></li>
<li><img src=\"images/12.jpg\" alt=\"\" /><a href=\"#\"><span>7</span></a></li>
<li><img src=\"images/13.jpg\" alt=\"\" /><a href=\"#\"><span>8</span></a></li>
</ul>
css代码:
*{ margin:0; padding:0;}
.list{ width:640px; margin:100px auto; border:1px solid #ddd; overflow:hidden;}
.list li{ float:left; width:150px; height:80px; overflow:hidden; list-style:none; margin:5px; display:inline; position:relative;}
.list li img{ float:left; width:150px; height:80px; border:none;}
.list li a{ position:absolute; left:0; top:0; width:150px; height:0; background:#999; margin-top:40px; display:inline; text-align:center; line-height:80px; overflow:hidden; color:#fff; text-decoration:none;}
jq代码(注意要引入jq库):
$(function () {
$(\'.list li\').hover(function () {
$(this).children(\'a,img\').stop();
$(this).children(\'img\').stop().animate({ \'marginTop\': 40, \'height\': 0 }, 200, function () {
$(this).siblings(\'a\').stop().animate({ \'height\': 80, \'marginTop\': 0 }, 200);
});
}, function () {
$(this).children(\'a,img\').stop();
$(this).children(\'a\').stop().animate({ \'height\': 0, \'marginTop\': 40 }, 200, function () {
$(this).siblings(\'img\').stop().animate({ \'marginTop\': 0, \'height\': 80 }, 200);
});
});
});
是不是很简单的几句jq代码?亲,不妨copy下来看下效果呗!