我正在用jQuery添加一个类,当用户点击一个缩略图给予margin-top属性的动画效果,但它似乎没有工作,我不知道为什么这样我想知道有人可以向我解释。下面的代码:CSS转换不起作用
CSS:
.content {
position: relative;
width: 60%;
height: auto;
transition: all 200ms ease-in-out; }
.content img {
margin-top: -150px;
width: 100%;
height: auto;
transition: all 900ms ease-in-out; }
.content img.img-is-showing {
margin-top: 0; }
JS:
$(document).ready(function(){
$('.lightbox-trigger').on('click', function(){
var image_href = $(this).attr('href');
$('.lightbox').addClass('is-showing');
$('.content img').addClass('img-is-showing');
$('.lightbox-image').attr('src', image_href);
$('.lightbox').show();
$('.lightbox').on('click', function(){
$(this).removeClass('is-showing');
});
});
});
我已经使用上了“.lightbox”类的不透明度属性做了同样类型的动画,它的工作很好,但我我不确定为什么边缘顶部动画不起作用。
用于该网站的URL是Here
谢谢科尔!完美地工作,我已经知道问题出在哪里,并且你提出了未来的改进,对我的问题提出了完美的答案,我非常感谢!我想实现你所建议的调整,但我真的对jquery/JS不熟悉,所以不明白你的意思是“绑定重复的.lightbox点击事件”和“考虑缓存更常用的选择器” - 你能解释一下吗?这些对我来说更进一步。再次感谢! – ironmike
@ironmike当然 - 对于缓存,我只是将输出保存在一个范围内的变量(即在$(document).ready'回调中),所以你不必不必要地搜索DOM,你可以参考到那个变量。请参阅[这里](http://stackoverflow.com/a/24053931/2267428)以获取快速解释和一些陷阱。对于不绑定重复事件,请参阅['.one()'](http://api.jquery.com/one/),它旨在解决这类问题。用'.on()'堆栈绑定的事件。 :) –