一个常用的效果,点击div让下面的小三角移动到对应的div

用css写一个常用的效果  点击div让下面移动到对应div下

js主要是让点击div下面移动距离

<script>
        
        var box1 = document.getElementById("box1"); //获取点击按钮
        var box2 = document.getElementById("box2"); //获取点击按钮
        var box3 = document.getElementById("box3"); //获取点击按钮
        var cll = document.getElementById("cll");//获取要移动的div
        box1.onclick = function() {
            cll.style.left = "752px"
        }
        box2.onclick = function() {
            cll.style.left = "952px"
        }
        box3.onclick = function() {
            cll.style.left = "1152px"
        }
    </script>

HTML也附上

<div id="box">
        <div id="box1">公司</div>
        <div id="box2">家</div>
        <div id="box3">夏日酒店</div>
    </div>
    <div id="solid">
        <div id="cll"></div>
    </div>

css的div就不写 自己随便设置一下(不过想要让#cll居中 要和你设置div的宽度调整点击移动的位置)还有就是这个要使用定位

#solid {
        
        margin-top: -195px;
        background-color: #fff;
        position: relative;
        border-top: 2px solid lightblue;
    }
    #cll {
        position: absolute;
        height: 20px;
        width: 20px;
        left: 552px;
        top: -12px;
        background: #fff;
        border-top: 2px solid lightblue;
        border-left: 2px solid lightblue;
        transform: rotate(45deg);
        transition: all .3s linear 0s;
    }

 

要实现点击按钮时,一个 `<div>` 元素从按钮处移动到原来位置的动效果,你可以使用 CSS 的 `transform` 属性和动画关键帧。以下是一个示例: HTML 代码: ```html <button id="btn">点击按钮</button> <div id="box"></div> ``` CSS 代码: ```css #btn { padding: 10px 20px; background-color: #f0f0f0; border: none; cursor: pointer; } #box { width: 100px; height: 100px; background-color: #ccc; transition: transform 0.3s; /* 添加过渡效果 */ } @keyframes anim { 0% { transform: translateX(0); /* 初始状态,不移动 */ } 100% { transform: translateX(200px); /* 结束状态,移动到原来位置的偏移量 */ } } ``` JavaScript 代码: ```javascript const button = document.getElementById("btn"); const box = document.getElementById("box"); button.addEventListener("click", () => { box.style.animation = "anim 1s ease-in-out"; // 添加动画效果 }); ``` 在上述代码中,我们首先定义了一个 `<button>` 元素和一个 `<div>` 元素,并分别为它们设置了相应的样式。通过设置 `transition` 属性,我们为 `<div>` 元素添加了一个 `0.3s` 的过渡效果,使其在改变 `transform` 属性时产生平滑的动画过渡效果。 然后,我们使用 `@keyframes` 来定义动画的关键帧。在 `0%` 的关键帧中,我们将 `<div>` 元素的 `transform` 属性设置为 `translateX(0)`,即不移动。在 `100%` 的关键帧中,我们将 `transform` 属性设置为 `translateX(200px)`,使 `<div>` 元素沿 X 轴正方向移动一个偏移量。 最后,我们使用 JavaScript 代码为按钮添加了一个点击事件监听器。当按钮被点击时,我们通过为 `<div>` 元素添加 `animation` 属性并设置动画名称、持续时间和动画速度曲线,触发动画效果。 你可以根据需要调整样式和动画的属性值来实现你想要的移动动画效果。如果想要在其他方向上移动,可以调整 `translateX()` 或 `translateY()` 的参数值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值