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 相关文章推荐
淘宝网提供的国内NPM镜像简介和使用方法
Apr 17 Javascript
JS、CSS以及img对DOMContentLoaded事件的影响
Aug 12 Javascript
jQuery自定义添加&quot;$&quot;与解决&quot;$&quot;冲突的方法
Jan 19 Javascript
简单了解Backbone.js的Model模型以及View视图的源码
Feb 14 Javascript
AngularJS实现用户登录状态判断的方法(Model添加拦截过滤器,路由增加限制)
Dec 12 Javascript
微信小程序 video详解及简单实例
Jan 16 Javascript
JS实现DIV高度自适应窗口示例
Feb 16 Javascript
VUE多层路由嵌套实现代码
May 15 Javascript
React-Native 组件之 Modal的使用详解
Aug 08 Javascript
jQuery实现菜单栏导航效果
Aug 15 jQuery
js获取form表单中name属性的值
Feb 27 Javascript
JavaScript 扩展运算符用法实例小结【基于ES6】
Jun 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
使ecshop模板中可引用常量的实现方法
2011/06/02 PHP
PHP高自定义性安全验证码代码
2011/11/27 PHP
解析PHP处理换行符的问题 \r\n
2013/06/13 PHP
PHP中spl_autoload_register函数的用法总结
2013/11/07 PHP
php实现读取超大文件的方法
2014/07/28 PHP
php隐藏实际地址的文件下载方法
2015/04/18 PHP
PHP文件及文件夹操作之创建、删除、移动、复制
2016/07/13 PHP
PHP unlink与rmdir删除目录及目录下所有文件实例代码
2018/02/07 PHP
phpcmsv9.0任意文件上传漏洞解析
2020/10/20 PHP
window.parent调用父框架时 ie跟火狐不兼容问题
2009/07/30 Javascript
基于jquery的大众点评,分类导航实现代码
2011/08/23 Javascript
node.js中Socket.IO的进阶使用技巧
2014/11/04 Javascript
使用ajax+jqtransform实现动态加载select
2014/12/01 Javascript
javascript正则表达式中的replace方法详解
2015/04/20 Javascript
PHP结合jQuery实现红蓝投票功能特效
2015/07/22 Javascript
AngularJS实现动态添加Option的方法
2017/05/17 Javascript
浅谈Angular 中何时取消订阅
2017/11/22 Javascript
Angular中的ng-template及angular 使用ngTemplateOutlet 指令的方法
2018/08/08 Javascript
浅析vue-router中params和query的区别
2019/12/24 Javascript
vue下canvas裁剪图片实例讲解
2020/04/16 Javascript
浅谈vue项目利用Hbuilder打包成APP流程,以及遇到的坑
2020/09/12 Javascript
利用H5api实现时钟的绘制(javascript)
2020/09/13 Javascript
Python selenium 父子、兄弟、相邻节点定位方式详解
2016/09/15 Python
python实现上传下载文件功能
2020/11/19 Python
python使用循环打印所有三位数水仙花数的实例
2018/11/13 Python
带你认识Django
2019/01/15 Python
使用python搭建服务器并实现Android端与之通信的方法
2019/06/28 Python
解决python多行注释引发缩进错误的问题
2019/08/23 Python
华润集团网上药店:健一网
2016/09/19 全球购物
自荐信怎么写呢?
2013/12/09 职场文书
四年的大学生生活自我评价
2013/12/09 职场文书
协议书的格式
2014/04/23 职场文书
毕业生银行实习自我鉴定
2014/10/14 职场文书
党支部工作总结2015
2015/04/01 职场文书
2015年青年志愿者协会工作总结
2015/04/27 职场文书
Python代码实现双链表
2022/05/25 Python