仅转换一次单个 div



我想做一个像 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 类。我不确定在这种情况下过渡是否会完成,所以我会添加一个超时以确保在过渡发生之前不会删除该类。

最新更新