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 相关文章推荐
JavaScript学习点滴 call、apply的区别
Oct 22 Javascript
防止浏览器记住用户名及密码的简单实用方法
Apr 22 Javascript
基于jquery实现下拉框美化特效
Feb 02 Javascript
jQuery图片轮播实现并封装(一)
Dec 03 Javascript
Angular.js中数组操作的方法教程
Jul 31 Javascript
jQuery EasyUI window窗口使用实例代码
Dec 25 jQuery
写一个移动端惯性滑动&amp;回弹Vue导航栏组件 ly-tab
Mar 06 Javascript
jQuery实现的电子时钟效果完整示例
Apr 28 jQuery
React组件重构之嵌套+继承及高阶组件详解
Jul 19 Javascript
总结javascript三元运算符知识点
Sep 28 Javascript
小程序简单两栏瀑布流效果的实现
Dec 18 Javascript
Antd中单个DatePicker限定时间输入范围操作
Oct 29 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
全国FM电台频率大全 - 17 湖北省
2020/03/11 无线电
15种PHP Encoder的比较
2007/04/17 PHP
10个可以简化php开发过程的MySQL工具
2010/04/11 PHP
php抓取页面与代码解析 推荐
2010/07/23 PHP
PHP通用检测函数集合
2011/02/08 PHP
PHP设计模式 注册表模式(多个类的注册)
2012/02/05 PHP
PHP中substr_count()函数获取子字符串出现次数的方法
2016/01/07 PHP
解决PHPstudy Apache无法启动的问题【亲测有效】
2020/10/30 PHP
ECMAScript5中的对象存取器属性:getter和setter介绍
2014/12/08 Javascript
如何编写高质量JS代码(续)
2015/02/25 Javascript
jQuery实现在列表的首行添加数据
2015/05/19 Javascript
js实现简单折叠、展开菜单的方法
2015/08/28 Javascript
jQuery时间插件jquery.clock.js用法实例(5个示例)
2016/01/14 Javascript
js实现的鼠标滚轮滚动切换页面效果(类似360默认页面滚动切换效果)
2016/01/27 Javascript
微信小程序中使元素占满整个屏幕高度实现方法
2016/12/14 Javascript
基于bootstrap的选择框插件icheck
2016/12/23 Javascript
Three.js获取鼠标点击的三维坐标示例代码
2017/03/24 Javascript
JS异步处理的进化史深入讲解
2019/08/25 Javascript
JS实现瀑布流效果
2020/03/07 Javascript
[42:06]2019国际邀请赛全明星赛 8.23
2019/09/05 DOTA
python动态参数用法实例分析
2015/05/25 Python
Python中使用多进程来实现并行处理的方法小结
2017/08/09 Python
python实现决策树
2017/12/21 Python
python将文本分每两行一组并保存到文件
2018/03/19 Python
python爬虫之快速对js内容进行破解
2019/07/09 Python
K最近邻算法(KNN)---sklearn+python实现方式
2020/02/24 Python
150行python代码实现贪吃蛇游戏
2020/04/24 Python
Python Selenium操作Cookie的实例方法
2021/02/28 Python
thinkphp5 路由分发原理
2021/03/18 PHP
详解CSS3伸缩布局盒模型Flex布局
2018/08/20 HTML / CSS
一款CSS3实现多功能下拉菜单(带分享按)的教程
2014/11/05 HTML / CSS
美国最好的葡萄酒网上商店:Wine Library
2019/11/02 全球购物
物业经理求职自我评价
2013/09/22 职场文书
保护环境的标语
2014/06/09 职场文书
工会工作先进事迹
2014/08/18 职场文书
学校党支部公开承诺书
2015/04/30 职场文书