视觉差缓动效果的轮播--React版

这篇具有很好参考价值的文章主要介绍了视觉差缓动效果的轮播--React版。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

React实现视觉差效果缓动轮播

效果如下(图片帧率低看起来有点卡顿,看个大概就行):
视觉差缓动效果的轮播--React版
分享一下思路:
1.正常引入一个轮播组件(站在巨人肩膀省时省力),去除指示点、引导箭头等不需要的元素,有些组件支持配置,不支持就手动覆盖CSS样式了
2.找到组件中用于显示展示当前图片的类名
3.添加transform效果和transition属性,通过不同选择器优先级控制展示

实操:
1.配置轮播组件,因为项目使用的ant design,所以这里直接使用Carousel组件
(Carousel组件也是封装自React Slickhttps://react-slick.neostack.com/,也可以直接使用这个)

import {Carousel} from 'antd';
import style from './index.less';
import loginBgOne from "@/assets/images/login_bg_one.jpg";//背景图
import loginBgTwo from "@/assets/images/login_bg_two.png";

const TestPage= () => {
  const carouselSetting = {
    effect: 'fade', //动画效果:渐显
    autoplay: true,
    autoplaySpeed: 5000, //自动播放速度(每张图的展示时间)
    dots: false,
    draggable:false,
    speed: 1500, //切换动画速度
  };

  return (
    <div className={style.pageBox}>
      <Carousel {...carouselSetting}>
        <div className={style.imgBox}>
          <img src={loginBgOne} />
        </div>
        <div className={style.imgBox}>
          <img src={loginBgTwo} />
        </div>
      </Carousel>
     {/*随便搞点字,效果更明显*/}
      <div className={style.systemName}>ZYJ's BOLG</div>
      <div className={style.desBox}>
        <p className={style.titleOne}>跨越山海·不舍自由与爱</p>
        <p className={style.titleTwo}>天行健 君子以自强不息</p>
      </div>
    </div>
  );
};
export default TestPage;

2.打开控制台,找到组件展示当前图片的类名,添加样式,carousel中是.slick-current

//添加缩放属性,并配置过渡。加500ms延迟看起来不那么生硬
:global {
  .ant-carousel .slick-list .slick-slide.slick-current img {
    transform: scale(1.15, 1.15);
    transition: 5.5s ease-in 500ms;
  }
}

至此,其实已经实现效果了。但是在图片切换的动画期间,放大的图片会由于丢失样式瞬间回到一倍大小,感官上有顿挫感。虽然可以加快切换动画的速度,但就显得不丝滑。(毕竟咱们是追求优雅的人,233)
解决办法还是transition属性,通过给不活跃的图片设置一个一倍缩放,再加一个延迟。在切换动画期间就看不到缩小了文章来源地址https://www.toymoban.com/news/detail-746860.html

.imgBox {
  width: 100%;
  img {
    width: 100%;
    height: 100vh;
    object-fit: cover;
    pointer-events: none;
    //关键
    transform: scale(1, 1);
    transition: 1s ease-in 1000ms;
  }
}

到了这里,关于视觉差缓动效果的轮播--React版的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 优化大屏组件DataV的轮播表

    1、前提: 当我们开发大屏的时候,为了快速开发,我们选用了一些组件。例如DataV。例如选用了轮播表组件 2、优化: 但是它的数据格式却是这样的(如下图),非常不符合我们平时的开发格式,因此我在此优化了一下 首先优化了: 1、header的格式 原本的: 优化的: 2、对

    2024年02月15日
    浏览(44)
  • Android:快速上手好看简约的轮播图

    创作不易,点个赞再走吧,谢谢! 目录 前言 一、如何引入 二、使用步骤 1、我们首先在xml文件中引入布局,设置我们喜欢的样式,大小,下面我给出示例: 2、然后我们需要在actvity或者fragment中设置banner的图片资源,样式等。 总结 本期介绍Android的一项比较好用的轮播图,

    2024年02月12日
    浏览(42)
  • Unity3D 基础——使用 Vector3.Lerp 实现缓动效果

     让一个物体从当前位置移动到另一个位置   Vector3-Lerp - Unity 脚本 API https://docs.unity.cn/cn/current/ScriptReference/Vector3.Lerp.html 1.在场景中新建两个 Cube 立方体,在 Scene 视图中将两个 Cude的位置错开。  2.新建 C# 脚本 MoveToTarget.cs(写完记得保存) 3.将脚本绑定到 Cude 上,然后将其

    2024年02月06日
    浏览(50)
  • 实现swiper 3d 轮播效果

    先上个效果图,代码可以直接拿~ 因为项目用的是nuxt2,所以考虑到swiper的兼容问题,选择的是\\\"swiper\\\": “^5.2.0” 首先是安装swiper和vue-awesome-swiper,并指定版本 然后引入,在nuxt.config.js中引入 在plugins下新建一个vue-swiper.js 在components下新建一个VueSwiper.vue 在plugins下引入 然后是使

    2024年04月17日
    浏览(42)
  • vue实现轮播图效果

    1,实现轮左右按键轮播效果,采用数组下标指定轮播图片,定义一个dindex与index下标相比较。 2,创建轮播的图片的数组 3,实现下方圆点点击轮播图片,采用动态绑定和数组的动态样式实现未点击的白色和点击的黑色 dindex与index相比较两值相不一致就是白色反之为黑色 4,实现

    2024年02月11日
    浏览(46)
  • js实现左右切换轮播图效果

    实现效果: 自动向右循环播放 鼠标悬停,移出继续播放 点击向右按钮,跳到下一张 点击向左按钮,跳到上一张 保证图片的过渡效果完整呈现后,才能跳到下一张 底部圆点随图片位置切换激活状态 实现思路: 把第一张图片复制到最后一张 当播放到最后一张时,无缝切换到

    2024年01月20日
    浏览(57)
  • 使用JS来实现轮播图的效果

    最好今天分享一个使用JS制作的轮播图效果 个人名片:  😊 作者简介:一名大一在校生,web前端开发专业  🤡  个人主页:几何小超  🐼 座右铭:懒惰受到的惩罚不仅仅是自己的失败,还有别人的成功。  🎅**学习目标:  坚持每一次的学习打卡 ,学好前端 首先是HTML部分

    2024年01月20日
    浏览(49)
  • uniapp使用swiper组件实现3D轮播效果

    使用uniapp 中的 swiper组件实现一个3D轮播图 关键属性: 1. circular: 采用衔接滑动 2.previous-margin: 前边距,用于露出前一项的一小部分 3.next-margin: 后边距,用于露出后一项的一小部分 效果图:     实现代码:(vue3)

    2024年02月15日
    浏览(55)
  • Android Jetpack Compose实现轮播图效果

    在最近思索如何使用Compose方式改进我的开源TMDB电影列表应用程序的主屏幕时,一个激动人心的概念浮现在我的脑海中——为什么不整合一个吸引人的轮播图来展示即将上映的电影呢?在本文中,我将分享我的开发和实现自定义轮播图的经历,提供涉及不同步骤的见解。 首先

    2024年02月08日
    浏览(106)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包