我试图将块元素从0px设置为自动。但是,首次点击它只是立即显示在其自动高度。第一次点击后,它可以平滑地显示为可见和不可见。
CSS:
.item .comments {
display: none;
overflow: hidden;
background: #f7f8fb;
padding: 0 10px;
margin: 0;
}
JS:
$(document).on('click', '.btn-comment', function(){
var comments = $(this).closest('.item').find('.comments');
if (!comments.is(':visible')) {
comments.show().velocity({
height: comments.get(0).scrollHeight
}, 250, function(){
$(this).height('auto');
}, 'ease');
} else {
comments.velocity({
height: 0
}, 250, function(){
$(this).hide();
}, 'ease');
}
});
答案 0 :(得分:0)
尝试使用slideToggle()
,如下所示:
$(this).closest('.item').find('.comments').slideToggle();
答案 1 :(得分:0)
您似乎只是忘记输入
class AdjacencyList <V, E, VC: Collection, EC: Collection
where VC.Iterator.Element == Vertex<V>, EC.Iterator.Element == Edge<E>> {
var vertices: VC
var edges: EC
init(vertices: VC, edges: EC) {
self.vertices = vertices
self.edges = edges
}
}
let arrayList = AdjacencyList<String, Int, Array<Vertex<String>>, Array<Edge<Int>>>(vertices: [], edges: [])
arrayList.vertices // [Vertex<String>]
arrayList.edges // [Edge<Int>]
// as long as Vertex and Edge are Hashable
let setList = AdjacencyList<String, Int, Set<Vertex<String>>, Set<Edge<Int>>>(vertices: [], edges: [])
setList.vertices // Set<Vertex<String>>
setList.edges // Set<Edge<Int>>
CSS中的。这使它在开始时设置为自动。
答案 2 :(得分:0)
我认为在jQuery中不是这样的功能你可以切换点击所以我为你做了一个,https://jsfiddle.net/moongod101/zobbvm79/我是JS的新手,我认为动画你可以把它给css,{{ 1}}和addClass
是此操作的要点