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 相关文章推荐
jquery tab插件制作实现代码
Jun 22 Javascript
JQuery+JS实现仿百度搜索结果中关键字变色效果
Aug 02 Javascript
javascript作用域容易记错的两个地方分析
Jun 22 Javascript
利用js实现遮罩以及弹出可移动登录窗口
Jul 08 Javascript
封装的jquery翻页滚动(示例代码)
Nov 18 Javascript
jquery简单倒计时实现方法
Dec 18 Javascript
JavaScript字符集编码与解码详谈
Feb 02 Javascript
详解AngularJS1.6版本中ui-router路由中/#!/的解决方法
May 22 Javascript
微信小程序下拉刷新PullDownRefresh的使用方法
Nov 29 Javascript
Vue实现table上下移动功能示例
Feb 21 Javascript
小程序如何在不同设备上自适应生成海报的实现方法
Aug 20 Javascript
JavaScript实现字符串与HTML格式相互转换
Mar 17 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
如何在Ubuntu下启动Apache的Rewrite功能
2013/07/05 PHP
推荐一款PHP+jQuery制作的列表分页的功能模块
2014/10/14 PHP
PHP模板引擎Smarty之配置文件在模板变量中的使用方法示例
2016/04/11 PHP
header与缓冲区之间的深层次分析
2016/07/30 PHP
phpStudy 2016 使用教程详解(支持PHP7)
2017/10/18 PHP
Smarty缓存机制实例详解【三种缓存方式】
2019/07/20 PHP
JavaScript验证图片类型(扩展名)的函数分享
2014/05/05 Javascript
详解AngularJS中的表格使用
2015/06/16 Javascript
jQuery 常用代码集锦(必看篇)
2016/05/16 Javascript
js实现图片缓慢放大缩小效果
2016/08/02 Javascript
bootstrap table分页模板和获取表中的ID方法
2017/01/10 Javascript
JS中如何实现点击a标签返回页面顶部的问题
2017/01/19 Javascript
jQuery插件FusionCharts实现的MSBar3D图效果示例【附demo源码】
2017/03/23 jQuery
bootstrap警告框示例代码分享
2017/05/17 Javascript
vue点击input弹出带搜索键盘并监听该元素的方法
2018/08/25 Javascript
探秘vue-rx 2.0(推荐)
2018/09/21 Javascript
深入理解Angularjs 脏值检测
2018/10/12 Javascript
发布Angular应用至生产环境的方法
2018/12/10 Javascript
浅谈小程序 setData学问多
2019/02/20 Javascript
Python实现从URL地址提取文件名的方法
2015/05/15 Python
对于Python装饰器使用的一些建议
2015/06/03 Python
Python入门教程之运算符与控制流
2016/08/17 Python
Python中装饰器学习总结
2018/02/10 Python
python取余运算符知识点详解
2019/06/27 Python
使用虚拟环境打包python为exe 文件的方法
2019/08/29 Python
python3 pathlib库Path类方法总结
2019/12/26 Python
根据tensor的名字获取变量的值方式
2020/01/04 Python
使用SimpleITK读取和保存NIfTI/DICOM文件实例
2020/07/01 Python
详解python datetime模块
2020/08/17 Python
HTML5中外部浏览器唤起微信分享功能的代码
2020/09/15 HTML / CSS
开发中都用到了那些设计模式?用在什么场合?
2014/08/21 面试题
银行自荐信范文
2013/10/07 职场文书
幼儿园毕业教师感言
2014/02/21 职场文书
病人写给医生的感谢信
2015/01/23 职场文书
秦兵马俑导游词
2015/02/02 职场文书
医院感染管理制度
2015/08/05 职场文书