前端小插件之手写js循环滚动特效

    很多前端都离不开滚动的特效,调用插件繁琐,后期更改麻烦,考虑到这些因素,自己写了一套无限循环滚动的小特效。

首先滚动特效很好写,用css就可以完成,下面写一个基础css向上循环滚动特效

html

 <div class="wrap"><div class="content">
<p>第一行数据</p>
<p>第二行数据</p></div></div>

css

 .wrap{height:30px;overflow: hidden;position: absolute;top:30;left: 100;width: 100%}p{margin:0;height: 30px;width: 100%}.content p{position: absolute;}@-webkit-keyframes anim1{0% {top: 30px;opacity: 1}50% {top: -30px;opacity: 1}75% {top: -30px ;opacity: 0}100%{top:30px;opacity: 0}}@-webkit-keyframes anim2{0% {top: -30px;opacity: 0}25% {top: 30px;opacity: 0}50% {top: 30px;opacity: 1}100%{top: -30px;opacity: 1}}.content p:nth-child(1){background-color: red;}.content p:nth-child(2){background-color: yellow;}.content p:nth-child(1){-webkit-animation: anim1 3s linear infinite;}.content p:nth-child(2){-webkit-animation: anim2 3s linear infinite;}

 

 上面html+css就可以实现滚动了,不过我们要是想左右滚动,滚动图片,并且想循环滚动就需要通过js来完成了,这个功能的重点在于循环滚动,那如何让滚动过得图片在从末尾出来呢,对此我想到了一个解决方案,就是同样的图片出现两组,让两组图片头尾相连,当地二组图片头部滚动到第一组头部的位置时,就让两组图片的位置还原,这样就悄无声息的交换了位置,速度之快用肉眼是看不出来的,废话不多说,下面挂代码

html

<div class="xiangshang"><div class="box1" id="box1"><div class="xiangxiao" style="background: url(__STATIC__/web/img/xiangmu1.png)no-repeat;">中建三局西安奥体中心</div><div class="xiangxiao" style="background: url(__STATIC__/web/img/xiangmu2.png)no-repeat;">中建八局西安国际会议中心</div><div class="xiangxiao" style="background: url(__STATIC__/web/img/xiangmu3.png)no-repeat;">北京城建北京大兴国际机场</div><div class="xiangxiao" style="background: url(__STATIC__/web/img/xiangmu4.png)no-repeat;">中建八局山东科技馆新馆</div><div class="xiangxiao" style="background: url(__STATIC__/web/img/xiangmu5.png)no-repeat;">中建一局阿里云谷园区</div><div class="xiangxiao" style="background: url(__STATIC__/web/img/xiangmu6.png)no-repeat;">中建八局广西分公司昆明恒隆广场</div><div class="xiangxiao" style="background: url(__STATIC__/web/img/xiangmu7.png)no-repeat;">中建一局、三局深圳国际会展中心</div><div class="xiangxiao" style="background: url(__STATIC__/web/img/xiangmu8.png)no-repeat;">中建八局西安丝路国际会览中心</div><div class="xiangxiao" style="background: url(__STATIC__/web/img/xiangmu9.png)no-repeat;">中建一局城市副中心</div><div class="xiangxiao" style="background: url(__STATIC__/web/img/xiangmu10.png)no-repeat;">中建三局宁波国华金融大厦项目</div></div><div class="box2" id="box2"><div class="xiangxiao" style="background: url(__STATIC__/web/img/xiangmu1.png)no-repeat;">中建三局西安奥体中心</div><div class="xiangxiao" style="background: url(__STATIC__/web/img/xiangmu2.png)no-repeat;">中建八局西安国际会议中心</div><div class="xiangxiao" style="background: url(__STATIC__/web/img/xiangmu3.png)no-repeat;">北京城建北京大兴国际机场</div><div class="xiangxiao" style="background: url(__STATIC__/web/img/xiangmu4.png)no-repeat;">中建八局山东科技馆新馆</div><div class="xiangxiao" style="background: url(__STATIC__/web/img/xiangmu5.png)no-repeat;">中建一局阿里云谷园区</div><div class="xiangxiao" style="background: url(__STATIC__/web/img/xiangmu6.png)no-repeat;">中建八局广西分公司昆明恒隆广场</div><div class="xiangxiao" style="background: url(__STATIC__/web/img/xiangmu7.png)no-repeat;">中建一局、三局深圳国际会展中心</div><div class="xiangxiao" style="background: url(__STATIC__/web/img/xiangmu8.png)no-repeat;">中建八局西安丝路国际会览中心</div><div class="xiangxiao" style="background: url(__STATIC__/web/img/xiangmu9.png)no-repeat;">中建一局城市副中心</div><div class="xiangxiao" style="background: url(__STATIC__/web/img/xiangmu10.png)no-repeat;">中建三局宁波国华金融大厦项目</div></div></div>

 css

.xiangshang {height: 48%;width: 100%;overflow: hidden;position: relative;
}
.box1,
.box2{width: 3530px;height: 100%;position: absolute;
}.box2{left: 3530px;
}

 js

// 项目滚动特效var _box1 = document.getElementById("box1");var _box2 = document.getElementById("box2");var _box3 = document.getElementById("box3");var _box4 = document.getElementById("box4");var x = 0;var y = 0;var fun = function() {_box1.style.left = x + 'px';_box2.style.left = (x + 3530) + 'px';_box3.style.right = y + 'px';_box4.style.right = (y + 3530) + 'px';x--;y--;if ((x + 3530) == 0) {x = 0;}if ((y + 3530) == 0) {y = 0;}}$(".xiangxiao").mouseover(function() {$(this).css("background-size", "120% 120%");});$(".xiangxiao").mouseout(function() {$(this).css("background-size", "100% 100%");});setInterval(fun, 10);

这里box1和box2就是上面所说的两组图片了,可以看到他们中的内容是一模一样的,通过js我们可以看出他的计算和移动过程,那么这个box3和box4就是反方向的移动计算,在html和css里并没有表现出来,同时为了展现鼠标悬停的效果,在鼠标经过时加上了背景图片放大的特效。这样滚动样式的特效就做好了。

转载于:https://www.cnblogs.com/qihongbao/p/11071983.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/462262.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

敏捷开发一千零一问系列之七:怎样对待有看法的徒弟?

这是敏捷开发一千零一问系列的第七篇。&#xff08;之一&#xff0c;之二&#xff0c;之三&#xff0c;问题总目录&#xff09;问题松结对编程中&#xff0c;师傅对徒弟安排任务时&#xff0c;对于有想法的徒弟提出的意见怎样解决&#xff1f;方案步骤0&#xff1a;正心&#x…

SSH远程登录失败,提示“Password authentication failed”

使用SecureCRT登陆&#xff0c;提示“Password authentication failed” 使用linux下ssh登陆&#xff0c;提示“Permission denied, please try again.” 网上收集的相关资料&#xff1a; 方法一&#xff1a; 1. vi服务器端的/etc/ssh/sshd_config 2. 把PasswordAuthentication…

触摸传感器

void setup() {pinMode(A5,INPUT); //设置引脚 A5 为输出模式 Serial.begin(9600); //设置波特率为9600 } void loop() { // put your main code here, to run repeatedly: Serial.println(analogRead(A5)); //串口输出 A5读取到的值 delay(200); //延时200毫秒 } 转…

ORACLE查询表最近更改的数据

&#xff0c;今天开发人员问我如何快速并方便的查出一张表最近被更改的记录&#xff0c;这个需求很简单&#xff0c;由于是查最近被更改的数据&#xff0c;查回滚段就可以&#xff0c;下面是我做的小实验。 SQL> create table test(id number,name varchar2(10),gender varc…

学滑冰

为什么80%的码农都做不了架构师&#xff1f;>>> http://www.cnr.cn/wcm/zhuanti/harb/bxyd/t20041230_163420.html 学滑冰&#xff08;一&#xff09; 到冰场上穿冰刀奔驰豪情一番&#xff0c;真是今人激情万千&#xff0c;你会滑冰吗&#xff1f;如果你还不会滑冰…

锡安赞歌 mp3下载

《锡安赞歌》mp3下载地址:http://pan.baidu.com/s/1i3nJLml

Java-Redis 热部署问题

项目请求时报错&#xff1a;java.lang.ClassCastException: cn.xingaohbd.seckil.model.User cannot be cast to cn.xingaohbd.seckil.model.User at cn.xingaohbd.seckil.service.impl.UserServiceImpl.getUser(UserServiceImpl.java:33) ~[classes/:na] at cn.xingaohbd.seck…

dp之二维背包poj1837(天平问题 推荐)

题意&#xff1a;给你c&#xff08;2<c<20&#xff09;个挂钩&#xff0c;g&#xff08;2<g<20&#xff09;个砝码&#xff0c;求在将所有砝码&#xff08;砝码重1~~25&#xff09;挂到天平(天平长 -15~~15)上&#xff0c;并使得天平平衡的方法数....... 思路&…

Gridview SummaryItem 格式化数字

DisplayFomrat{0:#.##}转载于:https://www.cnblogs.com/gaoshoubuduo/archive/2012/02/01/2334533.html

js注释

介绍 作用 合作分享&#xff1a;方便他人阅读&#xff0c;便于分享 沉淀总结&#xff1a;容易忘记代码&#xff0c;自己总结沉淀 形式 1.// 双斜杠 2&#xff0e;/**/斜杠星号 常用标签 标签 描述 module 标明当前文件模块&#xff0c;在这个文件中的所有成员将被默认为属于…

谁获得了最高奖学金

谁获得了最高奖学金http://acm.nyist.net/JudgeOnline/problem.php?pid60 时间限制&#xff1a;1000 ms | 内存限制&#xff1a;65535 KB难度&#xff1a;2描述某校的惯例是在每学期的期末考试之后发放奖学金。发放的奖学金共有五种&#xff0c;获取的条件各自不同&#xff…

vs2013编译boost1.55.0 32/64位

在使用vs2013编译boost-1.55.0之前&#xff0c;先要给boost做下修改&#xff1a; boost_1_55_0\boost\intrusive\detail\has_member_function_callable_with.hpp line:222 template<class U> static BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION…

简评知乎的优点与不足

首先说知乎好在什么地方&#xff1f; 1、我认为知道好在知乎的真实性。 因为真实&#xff0c;大家在问问题和回答问题的时候就比较负责。这一点很关键。如果没有了这一点&#xff0c;那就成了类似百度知道的东西&#xff0c;也就没必要存在了。 2、页面简洁友好。 没有广告&…

ICE简单介绍及使用示例

1、ICE是什么&#xff1f; ICE是ZEROC的开源通信协议产品&#xff0c;它的全称是&#xff1a;The Internet Communications Engine&#xff0c;翻译为中文是互联网通信引擎&#xff0c;是一个面向对象的中间件&#xff0c;使我们能够以最小的代价构建分布式应用程序。ICE使我们…

AtCoder Grand Contest 017

AtCoder Grand Contest 017 A - Biscuits 有\(n\)个数&#xff0c;问有多少个集合的数的和模\(2\)余\(P\)。 随便\(dp\)一下就好了。 #include<iostream> #include<cstdio> using namespace std; #define ll long long inline int read() {int x0;bool tfalse;char…

PowerDesigner 把Comment写到name中 和把name写到Comment中 pd7以后版本可用

在使用PowerDesigner对数据库进行概念模型和物理模型设计时&#xff0c;一般在NAME或Comment中写中文&#xff0c;在Code中写英文。Name用来显 示&#xff0c;Code在代码中使用&#xff0c;但Comment中的文字会保存到数据库Table或Column的Comment中&#xff0c;当Name已经存在…

CentOS 6.2 安装教程

一、CentOS简介 CentOS是Linux的发行版之一&#xff0c;它安全、稳定、高效&#xff0c;是我最喜欢的Linux发行版之一。CentOS根据Red Hat Enterprise Linux开放源代码编译而成&#xff0c;与RedHat Linux并没有什么本质上的差别。但Red Hat Enterprise Linux是商业软件&#x…

python-day2

7.字符串操作 capitalize&#xff1a;首字母大写 upper&#xff1a;全大写 lower&#xff1a;全小写 swapcase&#xff1a;大小写翻转 center&#xff1a;居中&#xff0c;空白填充 8.列表的操作 增删改查 增&#xff1a;append\extend 删&#xff1a;pop默认删除最后一位&…

浅入ICE组件编程

转载网页&#xff1a;http://blog.csdn.net/liuxuezong/article/details/26745041 一、ICE介绍 ICE是ZeroC公司开发的一款高效的开源中间件平台&#xff0c;全称是Internet Communications Engine。 它的主要设计目标是&#xff1a; • 提供适用于异种环境的面向对象中间件平台…

好久没有写了,今天就谈谈微信吧!

微信&#xff0c;也算是13年内比较火的东西了&#xff0c;就功能性而言&#xff0c;它的确是一个颠覆性的产品&#xff0c;大家可以想想看&#xff0c;如果你把微信一直运行在手机后台&#xff0c;有人给你语音留言&#xff0c;收到后是一段提醒铃声&#xff0c;这个不是带打电…