收藏此站 联系我们 网站
当前位置:首页» 网络推广 » 【建站服务】舞钢小程序制作【舞钢企业邮箱】舞钢网站外包、舞钢微信商城开发、舞钢网店美工、舞钢淘宝设计-域名申请

【建站服务】舞钢小程序制作【舞钢企业邮箱】舞钢网站外包、舞钢微信商城开发、舞钢网店美工、舞钢淘宝设计-域名申请

作者: 风兰 . 阅读量: 2 . 发表时间:2022-09-20 15:34:20

网站建设
​

上往建站提供服务器空间服务商,百度快照排名,网站托管,百度推广运营,致力于设计外包服务与源代码定制开发,360推广,搜狗推广,增加网站的能见度及访问量提升网络营销的效果,主营:网站公司,百度推广公司电话,官网搭建服务,网站服务企业排名,服务器空间,英文域名等业务,专业团队服务,效果好。


舞钢小程序制作【舞钢企业邮箱】舞钢网站外包、舞钢微信商城开发、舞钢网店美工、舞钢淘宝设计


舞钢市位于河南省中部, [1]  地处伏牛山东部余脉与黄淮平原交接地带。总面积645.67平方公里,人口31.9万,隶属于平顶山市。

舞钢市铁矿石储量达8亿吨,境内景点有九头崖、灯台架、二郎山、祥龙谷、五峰山、九龙山景区、石漫滩水库、田岗水库等。2018年11月,荣登“2018中国幸福百县榜”。 [2]  2018年重新确认国家卫生城市(区)。 [3]  第二批节水型社会建设达标县(区)。 [4] 

2018年 ,全年完成地区生产总值137.5亿元,增长8.5%;规模以上工业增加值增长15.1%;固定资产投资增长10.5%;社会消费品零售总额55.5亿元,增长9.9%;一般公共预算收入10.2亿元,增长24.7%,城镇居民人均可支配收入30532元,增长9.2%;农村居民人均可支配收入14498元,增长8.8%。 [5]  2020年11月,入选水利部第一批深化小型水库管理体制改革样板县(市、区)名单。


背景

传统的swiper太重了,里面封装了很多我们不需要的功能,而一个简单的滚动功能没必要那么重的文件。于是就想着自己如何实现,如何才能用最少的代码最优雅的实现呢?是否可以推翻传统的实现,使用纯css的某些特效实现呢?

肯定可以的呀,我就实现了一个基于scroll-snap-type属性做的滚动

实现思路

scroll-snap-type:网页容器滚动停止的时候,自动平滑定位到指定元素的指定位置,有点像当子元素滚动到某一个点的时候会被父元素吸附过去,它的目的是让你的页面滚动停留在你希望用户关注的重点区域,利用这个css属性,就可以自动判断用户是要滚到哪

那么问题又来了,这个临界点我们怎么设置呢?css 属性都是相辅相成的,我们可以使用scroll-snap-align:发生滚动的时候,在一屏内对齐方式,scroll-snap-type 会根据 scroll-snap-align的设置的临界点进行滚动,如果不设置它没有任何效果

图片

scroll-snap-align有几个参数,start,center,end,分别感受一下他们之间的区别

scroll-snap-align:start

scroll-snap-align:center

scroll-snap-align:end·

平滑定位到指定元素的指定位置的效果实现了;滚动最关键最重要的一步,就是如何让元素平滑缓慢的滚动呢?这时候scroll-behavior派上用场了,它的目的是滚动的时候自带动效一点都不生硬,作为用户的我体验极好

没有用的时候

使用了之后

对比效果还是很明显的

把上面提到的三个属性放在一起就实现了平稳缓慢的滚动,再借助js移动位置我们的自动轮播滚动就完美的实现了。

// css .swiper-box {   scroll-behavior: smooth;   scroll-snap-type: x mandatory; } .swiper-image {   scroll-snap-align: start; } // js setInterval(function () {    var clientWidth = ele.clientWidth;    var index = Math.floor(ele.scrollLeft / clientWidth) + 1;    if (index > imageList.length - 1) {      index = 0;    }    eleSwiperBox.scrollLeft = clientWidth * index + _ele.offsetLeft * index; }, 3000) 复制代码

就是这么简单,几行代码就实现了滚动自动轮播。如上面所说用最少的代码最优雅 就这样高高兴兴的结束了么?别急,投入项目使用要再看看浏览器的兼容性的,如果兼容性不好的话,很有可能就没法投入到项目中去

图片

Safari浏览器都不支持,完了完了,不支持就相当于没有,可以是又想用,那就只能写一个 polyfill

我们想想scroll-behavior: smooth; 实现的效果是怎么样的?

图片

是滚动的过程中缓慢的滚,有条不紊,按照一定的步长再动,好像在做移动匀速的直线运动

知道了原理就好办了在属性不支持的情况下我们就写一个递归函数,ele.scrollLeft不是一步到位,而是慢慢的每次只滚动一点点,一直到结束。

  if (!CSS.supports("scroll-behavior: smooth")) {      var step = function () {        var numScrolDistance = scrollLeft - ele.scrollLeft;        if (Math.abs(numScrolDistance) <= 3) {          ele.scrollLeft = scrollLeft;        } else {         ele.scrollLeft += numScrolDistance / 4;          requestAnimationFrame(step);        }      };      step();    } else {      ele.scrollLeft = scrollLeft;    } 复制代码

用js写了一个ployfill,我们的兼容性问题就解决了。组合css的几个属性我们的自动轮播滚动效果就实现了,代码很简单,主要是可以使用尝试新的用不一样css解决方案。

不仅仅只有轮播滚动

如果我们不做轮播滚动,做点击缓慢滚动也是很方便很好使用的属性。

像这种情况也是很好使用的。之前在项目中就遇见过这种需求,实现了效果比较生硬,代码也不优雅,后来有了css大佬坐镇指点,用的css属性结合递归的实现,特别有意思

代码封装一下

把上面的代码稍微封装一下,写成一个组件,在我们的在项目中就可以随意使用了,一次封装终身享用。都是原生的实现,没有框架的限制,有兼容性的处理。 还附带了图片懒加载和异常处理

代码封装

  1. 可以npm安装使用

npm i snap-swiper

import "snap-swiper/snap-swiper.css"; const snapSwiper = require("snap-swiper"); snapSwiper({     imageList:[],     el,  }); 复制代码

微信图片_20210425092605.jpg

舞钢小程序制作【舞钢企业邮箱】舞钢网站外包、舞钢微信商城开发、舞钢网店美工、舞钢淘宝设计


上往建站提供搭建网站,域名注册,官网备案服务,网店详情页设计,企业网店,专业网络店铺管理运营全托管公司咨询电话,服务器空间,微信公众号托管,网页美工排版,致力于域名申请,竞价托管,软文推广,全网营销,提供标准级专业技术保障,了却后顾之忧,主营:虚拟主机,网站推广,百度竞价托管,网站建设,上网建站推广服务,网络公司有哪些等业务,专业团队服务,效果好。

服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)


关键词:网站建设,企业网站,网站制作,网页设计,高端网站建设,企业网站制作,网页制作,制作网站,网站设计,高端网页设计,高端网站设计,做网站,自适应网站

全国服务热线
18114747181
二维码
手机端二维码
上往建站
地址:全国各地都有驻点商务 |  网站建设:上往建站
在线咨询QQ:1120768800
 
QQ在线咨询
售前咨询热线
18114747181
营销顾问
营销顾问
售后服务热线
400-000-1116
售后服务
售后服务