js实现无缝滚动特效


Posted in Javascript onDecember 20, 2015

本文实例为大家介绍了js实现无缝滚动特效需要做到的功能,以及关键性js代码,分享给大家供大家参考,具体内容如下

运行效果图:

js实现无缝滚动特效

结合下学了的知识,做个模拟的综合性扩展练习~~  大致功能如下:

  • 1、点开html后,图片自动移动展示
  • 2、点击左右方向,可以改变 图片移动的方向(改变left的值,正负)
  • 3、鼠标移入移出图片后,图片暂停移动(setInterval,clearInterval)
  • 4、鼠标移到图片上,高亮(a:hover)
  • 5、点击小图, 下面的大图会改变
  • 6、文字区域随着图片的变化而变化(未成功,有待提高)

 具体代码:

window.onload = function(){

//声明部分( 现在的习惯是要写什么声明什么, 一起写容易搞忘了。。也不知道好不好这样)


var oDiv = document.getElementById('box');


var oUl = oDiv.getElementsByTagName('ul');


var oLi = oUl.getElementsByTagName('li');


var speed = 2;


var timer = null;


 


//让ul的内容增一倍,从而实现无缝滚动


oUl.innerHTML = oUl.innerHTML + oUl.innerHTML;


oUl.style.width = oLi[1].offsetWidth * oLi.length + 'px';


//move函数


function move(){


oUl.style.left = oUl.offsetLeft + speed + 'px';


//控制左


if(oUl.offsetLeft < -oUl.offsetWidth/2){


oUl.style.left = 0;


}



//控制右


if(oUl.offsetLeft > 0){


oUl.style.left = -oUl.offsetWidth/2 + 'px';


}


}



//图标点击~ 控制移动方向



var oLeft = document.getElementById('jt_left');


var oRight= document.getElementById('jt_right');



oLeft.onclick = function(){


speed = -2;


}



oRight.onclick = function(){


speed = 2;


}



//鼠标移入移出效果



oDiv.onmouseover = function(){



clearInterval(timer);


}



oDiv.onmouseout = function(){



timer = setInterval(move,20);


}


timer = setInterval(move,20); 



//点击获取大图







var aA = oDiv.getElementsByTagName('a');


for(var i=0;i<aA.length;i++){



aA[i].onclick = function(){




showPic(this);




return false;



}


}





function showPic(whichpic){



var source = whichpic.href;



var placeholder = document.getElementById('placeholder');



placeholder.src = source;


}

}

最后文字的替换效果 ,本想用图片的方式,让文本框对应的数字跟着变~~ 结果未能成功,不知原因,这方面还需待提高,希望大家能提供一些好的建议,不过js实现无缝滚动还是正常实现了,希望对大家也能有所帮助。

Javascript 相关文章推荐
IE下写xml文件的两种方式(fso/saveAs)
Aug 05 Javascript
jquery1.9 下检测浏览器类型和版本的方法
Dec 26 Javascript
原生js实现类似弹窗抖动效果
Apr 02 Javascript
jQuery插件slick实现响应式移动端幻灯片图片切换特效
Apr 12 Javascript
JavaScript forEach()遍历函数使用及介绍
Jul 08 Javascript
javascript日期验证之输入日期大于等于当前日期
Dec 13 Javascript
JS中创建函数的三种方式及区别
Mar 13 Javascript
JS中的forEach、$.each、map方法推荐
Apr 05 Javascript
JavaScript 是什么意思
Sep 22 Javascript
详解vue 计算属性与方法跟侦听器区别(面试考点)
Apr 23 Javascript
js实现div色块拖动录制
Jan 16 Javascript
javascript操作向表格中动态加载数据
Aug 27 Javascript
基于JavaScript实现动态创建表格和增加表格行数
Dec 20 #Javascript
原生js页面滚动延迟加载图片
Dec 20 #Javascript
javascript实现的网站访问量统计代码
Dec 20 #Javascript
js实现n秒倒计时后才可以点击的效果
Dec 20 #Javascript
图解js图片轮播效果
Dec 20 #Javascript
谈谈我对JavaScript原型和闭包系列理解(随手笔记6)
Dec 20 #Javascript
基于jquery实现页面滚动到底自动加载数据的功能
Dec 19 #Javascript
You might like
打造计数器DIY三步曲(下)
2006/10/09 PHP
PHP中date()日期函数有关参数整理
2011/07/19 PHP
PHP实现的贪婪算法实例
2017/10/17 PHP
JQuery.ajax传递中文参数的解决方法 推荐
2011/03/28 Javascript
jQuery使用$.ajax提交表单完整实例
2015/12/11 Javascript
TypeScript学习之强制类型的转换
2016/12/27 Javascript
JS正则表达式修饰符中multiline(/m)用法分析
2016/12/27 Javascript
jQuery EasyUI Draggable拖动组件
2017/03/01 Javascript
详解VUE 定义全局变量的几种实现方式
2017/06/01 Javascript
OkHttp踩坑随笔为何 response.body().string() 只能调用一次
2018/01/08 Javascript
AngularJS监听ng-repeat渲染完成的两种方法
2018/01/16 Javascript
详解Angular Forms中自定义ngModel绑定值的方式
2018/12/10 Javascript
jQuery实现的隔行变色功能【案例】
2019/02/18 jQuery
vue.js实现二级菜单效果
2019/10/19 Javascript
浅谈Vue2.4.0 $attrs与inheritAttrs的具体使用
2020/03/08 Javascript
Python中方法链的使用方法
2016/02/23 Python
Python 网页解析HTMLParse的实例详解
2017/08/10 Python
windows下cx_Freeze生成Python可执行程序的详细步骤
2018/10/09 Python
python解释器spython使用及原理解析
2019/08/24 Python
python 生成器和迭代器的原理解析
2019/10/12 Python
python 画函数曲线示例
2019/12/04 Python
CSS3 毛玻璃效果
2019/08/14 HTML / CSS
资生堂美国官网:Shiseido美国
2016/09/02 全球购物
印度服装购物网站:Limeroad
2018/09/26 全球购物
GAZMAN官网:澳大利亚领先的男装品牌
2019/12/19 全球购物
大学生水文观测实习自我鉴定
2013/09/29 职场文书
生产管理的三大手法
2013/11/11 职场文书
医学专业五年以上个人求职信
2013/12/03 职场文书
新学期决心书
2014/03/11 职场文书
出生证明公证书
2014/04/09 职场文书
《白鹅》教学反思
2014/04/13 职场文书
泰坦尼克号观后感
2015/06/04 职场文书
2015年街道办事处团委工作总结
2015/10/14 职场文书
Nginx反爬虫策略,防止UA抓取网站
2021/03/31 Servers
Golang: 内建容器的用法
2021/05/05 Golang
MySQL修改默认引擎和字符集详情
2021/09/25 MySQL