网站滑到指定的位置给div添加动画效果

<!DOCTYPE html>
<html>
<head>
<style> 
.anim-show
{
width:100px;
height:100px;
background:red;
position:relative;
animation-name:mymove;
animation-duration:5s;/* 5s表示执行动画的时间,0或不写则无动画效果 */

/* 兼容调试如果animation-name执行,那么-wekit-animation-name则不执行 */
-webkit-animation-name:mymove;
-webkit-animation-duration:2s;/* 5s表示执行动画的时间,0或不写则无动画效果 */
}

@keyframes mymove /* 对应animation-name,里面为执行的动画*/
{
from {top:200px;}/*执行动画的初始位置*/
to {top:0px;}/*动画结束位置*/
0% {
opacity: 0.1; /*初始状态 透明度为10%*/
}
50% {
opacity: 0.5; /*中间状态 透明度为50%*/
}
100% {
opacity: 1; /*结尾状态 不透明*/
}
}

@-webkit-keyframes mymove/* 对应-webkit-animation-name,里面为执行的动画*/
{
from {left:200px;}/*执行动画的初始位置*/
to {left:0px;}/*动画结束位置*/
}
</style>
</head>
<body>
    <div style="height: 2000px;">

    </div>

    <div class="anim">
        11111
    </div>
    
    <div style="height: 2000px;">

    </div>

    <div class="anim">
        11111
    </div>


    
    <script src="http://www.jq22.com/jquery/2.1.1/jquery.min.js"></script>
    <script>
        //滚动监控添加动画

        var anim = $(".anim");//触发遍历所用的类

        setTimeout(function(){

            $(window).scroll(function() {

                roll();

            })

            $(window).resize(function() {

                roll();

            })

            roll();

        },6)

        function roll() {

            var oHeight = $(window).height();

            var ScrVal = $(window).scrollTop();

            anim.each(function(i) {

                if (ScrVal + oHeight > anim.eq(i).offset().top - 50 ){

                    anim.eq(i).addClass("anim-show");

                }

            })

        }
    </script>
</body>
</html>

 

转载于:https://www.cnblogs.com/junyi-bk/p/11327386.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现滑到指定位置时,饼图开始加载到指定数值,可以使用JavaScript的事件处理机制和CSS的动画效果。 首先,我们需要给滑动条添加一个事件监听器,监听滑动事件。当滑动到指定位置时,我们就可以触发饼图的加载动画。 下面是一个示例代码,可以根据需要进行调整: ```html <div class="slider-container"> <input type="range" min="0" max="100" value="0" class="slider" id="slider"> <div class="pie-chart"> <div class="pie-chart-inner"></div> <div class="pie-chart-label">0%</div> </div> </div> ``` ```css .pie-chart { position: relative; width: 200px; height: 200px; border-radius: 50%; background-color: #eee; overflow: hidden; } .pie-chart-inner { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border-radius: 50%; clip: rect(0, 100px, 200px, 0); background-color: #f00; transform-origin: center center; transform: rotate(0deg); transition: transform 1s ease-out; } .pie-chart-label { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 24px; font-weight: bold; color: #000; } .slider-container { width: 200px; margin: 50px auto; } .slider { width: 100%; } ``` ```javascript const slider = document.getElementById("slider"); const pieChart = document.querySelector(".pie-chart"); const pieChartInner = document.querySelector(".pie-chart-inner"); const pieChartLabel = document.querySelector(".pie-chart-label"); slider.addEventListener("input", () => { const value = slider.value; const angle = (value / 100) * 360; pieChartInner.style.transform = `rotate(${angle}deg)`; pieChartLabel.textContent = `${value}%`; }); ``` 解释一下代码: 首先,我们创建了一个包含滑动条和饼图的容器div,它的class为slider-container。滑动条使用了HTML5中的<input type="range">元素,它的min属性设置最小值,max属性设置最大值,value属性设置默认值,class属性设置样式。 饼图使用了两个div元素,一个用来表示饼图的外框,另一个用来表示饼图的填充部分。外框的class为pie-chart,它的position属性设置为relative,宽度和高度设置为200px,border-radius属性设置为50%,background-color属性设置为灰色,overflow属性设置为hidden。填充部分的class为pie-chart-inner,它的position属性设置为absolute,top和left属性设置为0,宽度和高度设置为100%,border-radius属性设置为50%,clip属性设置为rect(0, 100px, 200px, 0),这样它只显示了右半边的饼图。background-color属性设置为红色,transform-origin属性设置为中心点,transform属性设置为rotate(0deg),transition属性设置为transform 1s ease-out,这样它就会在1秒内平滑地转动到指定角度。label部分的class为pie-chart-label,它的position属性设置为absolute,top和left属性设置为50%,transform属性设置为translate(-50%, -50%),这样它就可以居中显示。font-size属性设置为24px,font-weight属性设置为bold,color属性设置为黑色。 在JavaScript中,我们使用document.getElementById()方法获取到滑动条元素和饼图元素。然后,我们使用addEventListener()方法给滑动条添加一个input事件监听器,当滑动条的值变化时,就会触发这个事件。在事件处理函数中,我们首先获取滑动条的值,然后根据值计算出饼图需要转动的角度,最后使用style.transform属性将饼图内部元素的角度设置为计算出的角度,同时更新饼图标签的内容。这样,我们就可以实现滑动到指定位置时,饼图开始加载到指定数值的效果

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值