zoukankan      html  css  js  c++  java
  • 解决 display 和 transition 冲突的问题

    问题:

      既需要“显示、隐藏”’效果,也需要动画效果。此时使用了xxx.style.display = "none / block" 之后,我们发现 transition 动画效果就没有了。

    解决办法一:用定时器(这种方法并不好)

    btn2.onclick = function(){
        xxx.style.display = "block";
        setTimeout(function(){
            xxx.style.opacity="1";
        },0);
    };

    解决办法二:用 visibility 属性代替 display 

      style 属性的 display 被隐藏的控件不再占用显示时占用的位置

      visibility 隐藏的控件仅仅是将控件设置成不可见了,控件仍然占俱原来的位置。
    btn2.onclick = function(){
        let t = document.documentElement.scrollTop;
        if(t>1){     
            side.style.visibility="visible";//可见
            side.style.opacity = "1";       
        };
        if(t<=1){
            side.style.opacity = "0";
            side.style.visibility="hidden";//不可见
        }
    };
  • 相关阅读:
    浅谈prufer编码
    数据结构训练之三
    博弈论训练之一
    动态规划训练之十三
    杂题训练之七
    奇技淫巧训练之八
    浅谈博弈论
    浅谈卡特兰数
    奇技淫巧训练之七
    浅谈概率期望的一些例题
  • 原文地址:https://www.cnblogs.com/MrZhujl/p/10355649.html
Copyright © 2011-2022 走看看