我想做一个像 https://www.amazon.in 这样的垂直类别。我已经制作了垂直菜单,它正在过渡。但问题是,我只想在单击类别时进行一次转换。然后,该类别的所有元素都将打开,没有任何过渡。
#header .header_section .header_content .header_right_part .search_bar_part .category_part .category_main_box .category_info_part {
/* width: 75%; */
position: absolute;
top: 0;
right: 0;
height: 100%;
background-color: rgba(246, 212, 160, .9);
/* transform: translateX(-100%); */
/* opacity: 0; */
visibility: hidden;
transition: all 0.5s;
transition-duration: 0.5s;
z-index: -1;
left: 25%;
overflow: hidden;
width: 0;
}
#header .header_section .header_content .header_right_part .search_bar_part .category_part .category_main_box .category_left_list > ul > li:hover .category_info_part{
display: block;
/* transform: translateX(0%); */
/* opacity: 1; */
visibility: visible;
overflow: hidden;
width: 863px;
}
过渡正在处理菜单的所有元素。但我只想第一次做过渡,然后就不会有过渡了。怎么可能?提前谢谢。
如果你使用的是JavaScript,你可以使用它来添加和删除某些元素中的类(说明在这里和这里(。
我要做的是将转换信息放在特定的类中:
.transitionOn {
/* include everything that should only be there when you want the transition */
}
这样,您可以添加一个 onclick 事件,以从您不再需要的转换中删除 transitionOn 类。我不确定在这种情况下过渡是否会完成,所以我会添加一个超时以确保在过渡发生之前不会删除该类。