js焦点文字滚动效果代码分享


Posted in Javascript onAugust 25, 2015

本文实例讲述了js焦点文字滚动效果。分享给大家供大家参考。具体如下:
效果描述:
今天推荐的这个又是一个原生的js焦点图效果
默认自动切换,也可以手动切换
javascript代码采用函数式对象编程,也就是javascript编程中的Module模式
基本用法很简单,主要特点有三
1、模块化,可重用
2、封装了变量和function,和全局的命名空间不接触,不污染全局变量
3、只暴露可用public方法,其他私有方法全部隐藏,确保js相互之间不会冲突
运行效果图:-------------------查看效果-------------------

js焦点文字滚动效果代码分享

小提示:浏览器中如果不能正常运行,可以尝试切换浏览模式。
为大家分享的jQuery下拉美化搜索表单效果代码如下

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>纯js(不依赖现有框架)焦点文字滚动效果</title>
<style >
*{margin:0;padding:0; list-style:none;}

#slider{overflow:hidden;width:470px;height:150px;position:relative; margin:100px auto;}
#slider .pics{width:470px;height:150px}
#slider .pics li{height:150px;width:470px;float:left}
#slider #nav {position:absolute;bottom:5px;right:5px;}
#slider #nav li.nav{background:#F47500; color:#fff;}
#slider #nav li{border:1px solid #f47500; color:#d94b01; cursor:pointer;background:#fff;font-size:12px; height:15px;width:15px;float:left;margin-left:4px;display:inline;text-align:center}
</style>
</head>
<body>

<!--代码部分begin-->
<div id="slider">
 <ul class="pics">
 <li><img alt="js焦点图效果" src="images/01.jpg" /></li>
 <li><img alt="js焦点图效果" src="images/02.jpg" /></li>
 <li><img alt="js焦点图效果" src="images/03.jpg" /></li>
 <li><img alt="js焦点图效果" src="images/04.jpg" /></li>
 <li><img alt="js焦点图效果" src="images/05.jpg" /></li>
 </ul>
 <ul id="nav">
 <li onmouseover="setTimeout(function(){lanrenzhijia.slider.pos(0)},300)">1</li>
 <li onmouseover="setTimeout(function(){lanrenzhijia.slider.pos(1)},300)">2</li>
 <li onmouseover="setTimeout(function(){lanrenzhijia.slider.pos(2)},300)">3</li>
 <li onmouseover="setTimeout(function(){lanrenzhijia.slider.pos(3)},300)">4</li>
 <li onmouseover="setTimeout(function(){lanrenzhijia.slider.pos(4)},300)">5</li>
 </ul>
</div>
<script>
var lanrenzhijia = {}, H$ = function(id){return document.getElementById(id)}, H$$ = function(c,p){return p.getElementsByTagName(c)}
lanrenzhijia.slider = function(){
 return{
 init:function(id,options){
  var ul = this.u = H$$('ul',H$(id))[0], li = H$$('li',ul); this.l=li.length; this.index = 0;
  if(options.navId&&options.curClass){this.nav = H$$('li',H$(options.navId)), this.c = options.curClass;}
  this.a=options.auto||0; this.v=options.vertical||0;H$(id).style.overflow = 'hidden';H$(id).style.position = 'relative';ul.style.position='absolute';
  if(this.v){ul.style.top=0; this.h=options.height||li[0].offsetHeight; ul.style.height=(this.l*this.h)+'px';}
  else{ul.style.left=0; this.w=options.width||li[0].offsetWidth; ul.style.width=(this.l*this.w)+'px';}
  this.pos(options.index||0,this.a?1:0);
 },
 
 pos:function(pos,a){
  clearInterval(this.u.posAnim); clearInterval(this.u.auto);
  var curPos=this.v?parseInt(this.u.style.top):parseInt(this.u.style.left),
  correctPos=this.v?pos*this.h:pos*this.w, 
  direction = correctPos>Math.abs(curPos)?1:-1;
  correctPos*=-1; 
  this.index = pos;
  if(this.nav){for(var i=0;i<this.l;i++){this.nav[i].className = i==pos?this.c:''}}
  this.u.posAnim = setInterval(function(){lanrenzhijia.slider.anim(correctPos,direction,a)},10);
 },
 
 anim:function(des,dir,a){
  var curPos=this.v?parseInt(this.u.style.top):parseInt(this.u.style.left);
  if(curPos == des){
  clearInterval(this.u.posAnim);
  if(a||this.a){lanrenzhijia.slider.auto()}
  }
  else{
  var v=curPos-Math.ceil(Math.abs(des-curPos)*.07)*dir+'px';
  this.v?this.u.style.top=v:this.u.style.left=v;
  }
 },
 
 auto:function(){
  this.u.auto=setInterval(function(){lanrenzhijia.slider.move(1,1)},this.a*1000)
 },
 
 move:function(n,a){
  var num=this.index+n, i=n==1?num==this.l?0:num:num<0?this.l-1:num; lanrenzhijia.slider.pos(i,a);
 }
 };
}();
</script>
<script>
lanrenzhijia.slider.init('slider',{ 
 auto:3,
 vertical:1,
 navId:'nav',
 curClass:'nav',
 index:0});
</script>
<!--代码部分end-->

</body>
</html>

以上就是为大家分享的js(不依赖现有框架)焦点文字滚动效果代码,希望大家可以喜欢。

Javascript 相关文章推荐
ie6下png图片背景不透明的解决办法使用js实现
Jan 11 Javascript
JS实现定时页面弹出类似QQ新闻的提示框
Nov 07 Javascript
Lua表达式和控制结构学习笔记
Dec 15 Javascript
Bootstrap精简教程
Nov 27 Javascript
利用jQuery设计一个简单的web音乐播放器的实例分享
Mar 08 Javascript
原生JS获取元素集合的子元素宽度实例
Dec 14 Javascript
AngularJS通过ng-Img-Crop实现头像截取的示例
Aug 17 Javascript
Angular中sweetalert弹框的基本使用教程
Jul 22 Javascript
详解Vue中的scoped及穿透方法
Apr 18 Javascript
微信小程序开发常见问题及解决方案
Jul 11 Javascript
js实现抽奖的两种方法
Mar 19 Javascript
微信小程序用户盒子、宫格列表的实现
Jul 01 Javascript
JS实现灵巧的下拉导航效果代码
Aug 25 #Javascript
基于jQuery实现仿百度首页换肤背景图片切换代码
Aug 25 #Javascript
jQuery实现类似标签风格的导航菜单效果代码
Aug 25 #Javascript
jQuery下拉美化搜索表单效果代码分享
Aug 25 #Javascript
jQuery实现下滑菜单导航效果代码
Aug 25 #Javascript
Jquery 分页插件之Jquery Pagination
Aug 25 #Javascript
js实现的tab标签切换效果代码分享
Aug 25 #Javascript
You might like
PHP中动态显示签名和ip原理
2007/03/28 PHP
关于PHP中Object对象的笔记分享
2011/06/28 PHP
浅谈PHP的数据库接口和技术
2016/12/09 PHP
PHP中SQL查询语句的id=%d解释(推荐)
2016/12/10 PHP
使用javascript访问XML数据的实例
2006/12/27 Javascript
JavaScript 类似flash效果的立体图片浏览器
2010/02/08 Javascript
javascript插入样式实现代码
2012/02/22 Javascript
JS localStorage实现本地缓存的方法
2013/06/22 Javascript
javascript向后台传送相同属性的参数即数组参数
2014/02/17 Javascript
nodejs实现黑名单中间件设计
2014/06/17 NodeJs
JS+DIV+CSS实现的经典标签切换效果代码
2015/09/14 Javascript
Node.js项目中调用JavaScript的EJS模板库的方法
2016/03/11 Javascript
d3.js入门教程之数据绑定详解
2017/04/28 Javascript
vue中的计算属性的使用和vue实例的方法示例
2017/12/04 Javascript
React中的refs的使用教程
2018/02/13 Javascript
js自定义input文件上传样式
2018/10/26 Javascript
vue中使用element组件时事件想要传递其他参数的问题
2019/09/18 Javascript
jQuery实现王者荣耀手风琴效果
2020/01/17 jQuery
python实现的一只从百度开始不断搜索的小爬虫
2013/08/13 Python
浅谈Python浅拷贝、深拷贝及引用机制
2016/12/15 Python
详解python中的json和字典dict
2018/06/22 Python
基于python实现简单日历
2018/07/28 Python
python+mysql实现学生信息查询系统
2019/02/21 Python
Python使用pdb调试代码的技巧
2020/05/03 Python
关于matplotlib-legend 位置属性 loc 使用说明
2020/05/16 Python
python 实现控制鼠标键盘
2020/11/27 Python
宝塔面板出现“open_basedir restriction in effect. ”的解决方法
2021/03/14 PHP
草莓网中国:StrawberryNet中国
2020/08/17 全球购物
化工工艺专业求职信
2013/09/22 职场文书
实习生自我鉴定
2013/12/12 职场文书
实习单位接收函模板
2014/01/10 职场文书
党员作风建设自查报告
2014/10/23 职场文书
安全生产工作汇报
2014/10/28 职场文书
2016年寒假见闻
2015/10/10 职场文书
最美劳动诗,致敬所有的劳动者!
2019/07/12 职场文书
MySQL创建高性能索引的全步骤
2021/05/02 MySQL