Javascript 扩展UL的过渡效应
如何在此扩展列表中添加过渡效果Javascript 扩展UL的过渡效应,javascript,html,css,transition,Javascript,Html,Css,Transition,如何在此扩展列表中添加过渡效果 <div class="container"> <div class="outerBG"> <div class="innerBG"> <h2 class="info">➤ Show text</h2> <ul id="infoContent" style="display:none">
<div class="container">
<div class="outerBG">
<div class="innerBG">
<h2 class="info">➤ Show text</h2>
<ul id="infoContent" style="display:none">
<li>TEST 1 TEST 1 TEST 1 TEST 1</li>
<li>TEST 2 TEST 2 TEST 2 TEST 2</li>
</ul>
</div>
</div>
</div>
有可能从中产生过渡效果吗
jsiddle:您想要添加一个过渡到
最大高度的转换,并切换该转换,而不是显示。原因是display
不是序数值,因此无法设置动画,因为无法插值过渡值<代码>最大高度
是顺序的,因此可以转换
记住这一点,重要的是要注意,max height
的“show”值应足以容纳内容,否则过渡将拉长。它也比在高度上设置动画要好,因为不需要已知值,高度只会增长到所需的高度
var infoContent=document.getElementById(“infoContent”);
var info=document.querySelector(“.info”);
函数expand(){//在maxHeight上执行此操作不显示
infoContent.style.maxHeight=infoContent.style.maxHeight?0:'100px';
}
info.addEventListener(“单击”,展开,false)代码>
.innerBG{
宽度:260px;
边距:0自动0自动;
溢出:自动;
}
奥特伯格先生{
宽度:260px;
背景色:#4f322a;
保证金:15px自动25px自动;
边界半径:15px;
溢出:自动;
}
.集装箱{
宽度:100%;
背景色:#70463a;
溢出:自动;
}
.innerBG h2{
字体大小:20px;
字体系列:lato;
颜色:#ffffff;
字号:100;
}
#信息内容李{
字体大小:20px;
字体系列:lato;
颜色:#ffffff;
字号:100;
}
#信息内容{
最大高度:0;/*默认情况下折叠*/
溢出:隐藏;/*您希望添加到最大高度的转换,并切换该转换,而不是显示
。原因是显示
不是序数值,因此无法设置动画,因为无法内插转换值。最大高度
是序数,因此可以转换
记住这一点,重要的是要注意,max height
的“show”值应该足以容纳内容,否则过渡会拉长。这也比在height
上设置动画要好,因为不需要已知值,高度只会增长到所需的高度
var infoContent=document.getElementById(“infoContent”);
var info=document.querySelector(“.info”);
函数expand(){//在maxHeight上执行此操作不显示
infoContent.style.maxHeight=infoContent.style.maxHeight?0:'100px';
}
info.addEventListener(“单击”,展开,错误);
.innerBG{
宽度:260px;
边距:0自动0自动;
溢出:自动;
}
奥特伯格先生{
宽度:260px;
背景色:#4f322a;
保证金:15px自动25px自动;
边界半径:15px;
溢出:自动;
}
.集装箱{
宽度:100%;
背景色:#70463a;
溢出:自动;
}
.innerBG h2{
字体大小:20px;
字体系列:lato;
颜色:#ffffff;
字号:100;
}
#信息内容李{
字体大小:20px;
字体系列:lato;
颜色:#ffffff;
字号:100;
}
#信息内容{
最大高度:0;/*默认情况下折叠*/
溢出:隐藏;/*您希望添加到最大高度的转换,并切换该转换,而不是显示
。原因是显示
不是序数值,因此无法设置动画,因为无法内插转换值。最大高度
是序数,因此可以转换
记住这一点,重要的是要注意,max height
的“show”值应该足以容纳内容,否则过渡会拉长。这也比在height
上设置动画要好,因为不需要已知值,高度只会增长到所需的高度
var infoContent=document.getElementById(“infoContent”);
var info=document.querySelector(“.info”);
函数expand(){//在maxHeight上执行此操作不显示
infoContent.style.maxHeight=infoContent.style.maxHeight?0:'100px';
}
info.addEventListener(“单击”,展开,错误);
.innerBG{
宽度:260px;
边距:0自动0自动;
溢出:自动;
}
奥特伯格先生{
宽度:260px;
背景色:#4f322a;
保证金:15px自动25px自动;
边界半径:15px;
溢出:自动;
}
.集装箱{
宽度:100%;
背景色:#70463a;
溢出:自动;
}
.innerBG h2{
字体大小:20px;
字体系列:lato;
颜色:#ffffff;
字号:100;
}
#信息内容李{
字体大小:20px;
字体系列:lato;
颜色:#ffffff;
字号:100;
}
#信息内容{
最大高度:0;/*默认情况下折叠*/
溢出:隐藏;/*您希望添加到最大高度的转换,并切换该转换,而不是显示
。原因是显示
不是序数值,因此无法设置动画,因为无法内插转换值。最大高度
是序数,因此可以转换
记住这一点,重要的是要注意,max height
的“show”值应该足以容纳内容,否则过渡会拉长。这也比在height
上设置动画要好,因为不需要已知值,高度只会增长到所需的高度
var infoContent=document.getElementById(“infoContent”);
var info=document.querySelector(“.info”);
函数expand(){//在maxHeight上执行此操作不显示
infoContent.style.maxHeight=infoContent.style.maxHeight?0:'100px';
}
info.addEventListener(“单击”,展开,错误);
.innerBG{
宽度:260px;
边距:0自动0自动;
溢出:自动;
}
奥特伯格先生{
宽度:260px;
背景色:#4f322a;
保证金:15px自动25px自动;
边界半径:15px;
溢出:自动;
}
.集装箱{
宽度:100%;
背景色:#70463a;
溢出:自动;
}
.innerBG h2{
字体大小:20px;
字体系列:lato;
颜色:#ffffff;
字号:100;
}
#信息内容李{
字体大小:20px;
字体系列:lato;
颜色:#ffffff;
字体我们
function expand () {
infoContent.style.display = infoContent.style.display === 'none' ? '' : 'none';
}
function expand () {
infoContent.className = infoContent.className === 'open' ? 'close' : 'open';
}
#infoContent {
margin: 0; // Remove the margins
overflow: hidden;
}
#infoContent.close {
max-height: 0; // Set max height to zero
transition: max-height 0.3s ease;
}
#infoContent.open {
max-height: 300px; /* Set max height as big as you think it will ever go */
transition: max-height 0.3s ease;
}