[英]How to reproduce this sliding effect?
我正在学习jQuery,我一直试图重现这种效果: http : //www.frenchtouchseduction.com/test-2.html
**编辑:(为了清楚起见:滑动的东西是我感兴趣的,不要介意“悬停在图片上的悬停圈”东西)
我甚至不确定我应该如何描述它:我的第一个猜测是“推拉门”,但显然,这是另一回事。
这是我到目前为止所做的:
$(document).ready(function() { $("ul li .img").hover(function() { $(".active").removeClass("active"); $(this).addClass("active"); }); })
* { margin: 0; padding: 0; } .wrapper { width: 700px; margin: 20px auto; } ul { width: 100%; overflow: hidden; font-size: 0; } ul li { display: inline-block; width: 100px; height: 100px; font-size: 10px; background: #F5F5F5; color: #000; font-size: 0; } .img { width: 100px; height: 100px; display: inline-block; } .texte { width: 100px; height: 100px; display: none; background: #F06; font-size: 18px; color: #000; vertical-align: top; } .active { width: 200px; } .active .texte { display: inline-block; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="wrapper"> <ul> <li class="active"> <div class="img"><img src="http://placehold.it/100x100"/></div> <div class="texte">1</div> </li> <li> <div class="img"><img src="http://placehold.it/100x100"/></div> <div class="texte">2</div> </li> <li> <div class="img"><img src="http://placehold.it/100x100"/></div> <div class="texte">3</div> </li> </ul> </div>
这是我尝试的结果: http : //jsfiddle.net/77Lrm/
不知何故,我无法弄清楚如何获得这种滑出/滑入行为。
我错过了什么? 是否有任何特定的库我应该包括不重新发明轮子,还是我可以轻松编码的东西?
您的代码中有几个问题:
您需要在事件的$(this).parent()
上设置活动,而不是直接在$(this)
,因为它是.img获取事件
如果要为该元素设置动画,则不能使用display:none
。
您可以让LI自动增长,只需更改要显示的文本的宽度即可
我已经更新了你的小提琴:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.