无间隙滚动

/**滚动效果实现原理:*1.滚动元素动画改变元素高度直至为0;*2.将动画完毕的元素,添加到容器元素底部,并设置初始高度;*3.动画循环进行,从而实现无间隙的滚动效果*/
//初始化,进行调用window.onload = function () {    var dl = new seamlessRolling();    //初始化动画,并配置所需参数    dl.init({        eleID:‘#right-order-content‘,        animationClass:"right-row",        moveClass:"right-move",        speed:1000,        delay:2000,        eleHeight:35    });};

//构造函数function seamlessRolling() {    this.settings ={        eleID:"",//动画容器元素        animationClass:"",//动画类        moveClass:"",//移除类        speed:1000,//动画速度        delay:2000,//动画间隔时间        eleHeight:35//动画高度-------最好和动画元素高度一致    }}

//初始化seamlessRolling.prototype.init = function (opt) {    var _this = this;    extend(this.settings,opt);//复制配置参数    this.animationEle();//初始化动画};

//执行动画seamlessRolling.prototype.animationEle = function () {    var _this = this;    // console.log("start");    //循环执行动画实现无间隙动画效果    setInterval(function () {        _this.setAnimatedEleHeight()    },_this.settings.delay);};

//设置动画高度seamlessRolling.prototype.setAnimatedEleHeight = function () {    var _this =this;    // this.setHeight();    //单个元素动画

$(this.settings.eleID+" "+"."+this.settings.animationClass).eq(0).animate({height:"0px"},this.settings.speed,function () {        //动画完毕,添加移除类 并将元素添加到容器元素尾部,以进行无间隙动画        _this.setMoveClass();//设置move class        _this.appendToEnd();//添加到容器元素尾部        _this.setEleHeight();//重置元素高度        _this.delateMoveClass();//删除move class    });

};

seamlessRolling.prototype.setEleHeight = function () {    $(this.settings.eleID+" "+"."+this.settings.moveClass).eq(0).css("height",this.settings.eleHeight+"px");};//动画结束后,添加到容器尾部seamlessRolling.prototype.appendToEnd = function () {    $(this.settings.eleID+" "+"."+this.settings.moveClass).eq(0).appendTo($(this.settings.eleID));

};

//添加 移除类 move  classseamlessRolling.prototype.setMoveClass = function () {    $(this.settings.eleID+" "+"."+this.settings.animationClass).eq(0).addClass(this.settings.moveClass);

};

//移除 move classseamlessRolling.prototype.delateMoveClass = function () {    $(this.settings.eleID+" "+"."+this.settings.moveClass).eq(0).removeClass(this.settings.moveClass);    // console.log(this.settings.moveClass);

};

//实现复制function extend(obj1,obj2) {    for(var attr in obj2){        obj1[attr] = obj2[attr];    }}

效果图如下:



原文地址:https://www.cnblogs.com/chenjianbao/p/9880958.html

时间: 2024-10-16 10:50:54

无间隙滚动的相关文章

无间隙滚动制作

1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta content="tex

关于jquery无间隙水平滚动的两种方法

1.利用scrollLeft方法 1 <!doctype html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <meta name="Generator" content="EditPlus®"> 6 <meta name="Author" content="&q

javascript-图片横向无缝隙滚动(可在服务器运行)

前两次弄'图片横向滚动'javascript,在本地上运行得很美,可是一上到我们学校后台的服务器,就有很多问题,这个算是行的了. css代码: 1 <style type="text/css"> 2 .scroll_div { 3 width: 1000px; 4 height: 250px; 5 margin: 0 auto; 6 overflow: hidden; 7 white-space: nowrap; 8 background: #ffffff; 9 } 10

无缝隙滚动跑马灯组件

做前端,遇到个有意思的需求. 无间隙.多列.可控.自定义事件的跑马灯效果. 最终找到了jcarousellite组件. http://www.gmarwaha.com/jquery/jcarousellite/index.php 似乎同事推荐的slick也不错,下次再试试: http://kenwheeler.github.io/slick/

javascript -- (无间断滚动图片)

无间断滚动图片 --原理(定时器 每隔.1秒调用一次滚动的函数) /***body**/ <div id="wrap"> <div id="box"> <img src="img/1.jpg" /> <img src="img/2.jpg" /> <img src="img/3.jpg" /> <img src="img/4.jpg

JS图片无间断滚动代码合集

JavaScript图片滚动代码合集,向上下左右四个方向的无缝滚动代码,前端设计开发时所能用的一个图片特效,你可只用其中的一种滚动.前端框架分享 .代码   <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1

JavaScript js无间断滚动效果 scrollLeft方法 使用模板

<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"/> <title> 无间断滚动scrollLeft套用模板 </title> <meta name="Keywords" content=""> <meta name="Description" content=""

IOS实现文字水平无间断滚动

IOS实现文字水平无间断滚动 IOS跑马灯效果,实现文字水平无间断滚动,示例代码如下: ViewController.h #import <UIKit/UIKit.h> @interface ViewController : UIViewController{ NSTimer *timer; UIScrollView *scrollViewText; } @property (nonatomic ,strong) NSArray *arrData; @end ViewController.m

无间断滚动的新闻文章列表

<!--Quirks Mode--> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv=&