js图片向右一张张滚动效果实例代码


Posted in Javascript onNovember 23, 2013

先来张效果图

js图片向右一张张滚动效果实例代码

样式

        #div_left{float:left;width:60px;height:86px;}
        #starScroll{width:843px;height:188px;margin-left:15px;margin-right:15px;padding-top:9px;overflow:hidden;border:1px solid red;float:left;}
        #starScroll #contentScroll{width:500%}
        #starScroll #ScrollOne{float:left;}
        #starScroll #ScrollOne a{float:left;width:204px;height:188px;margin-right:9px;float:left;display:inline;}
        #starScroll #ScrollOne img{width:204px;height:188px;border:0px;}
        #starScroll #ScrollTwo{float:left;}
        #starScroll #ScrollTwo a{float:left;width:204px;height:188px;margin-right:9px;float:left;display:inline;}
        #starScroll #ScrollTwo img{width:204px;height:188px;border:0px;}
        #div_right{float:left;width:60px;height:86px;}
        .arrow{background:url(images/arrow.png) no-repeat;cursor:pointer;height:86px;width:60px;cursor:pointer;display:block;margin-top:50px;}
        .prev{background-position:left top;}
        .prev:hover{background-position:left bottom;}
        .next{background-position:right top;}
        .next:hover{background-position:right bottom;}

html代码

<div>
    <div id="div_left">
        <span id="btn_left" class="arrow prev"></span>
    </div>
    <div id="starScroll">
        <div id="contentScroll">
            <div id="ScrollOne">
                <a href="#" title="1"><img src="images/1.jpg" /></a>
                <a href="#" title="2"><img src="images/2.jpg" /></a>
                <a href="#" title="3"><img src="images/3.jpg" /></a>
                <a href="#" title="4"><img src="images/4.jpg" /></a>
                <a href="#" title="5"><img src="images/5.jpg" /></a>
                <a href="#" title="6"><img src="images/6.jpg" /></a>
                <a href="#" title="7"><img src="images/7.jpg" /></a>
                <a href="#" title="8"><img src="images/8.jpg" /></a>
            </div>
            <div id="ScrollTwo"></div>
        </div>
    </div>
    <div id="div_right">
        <span id="btn_right" class="arrow next"></span>
    </div>
</div>

JS代码

    <script type="text/javascript">
var Scroll=(function(){
    return function(){
        var starScroll = document.getElementById("starScroll"),
            ScrollOne = document.getElementById("ScrollOne"),
            aCollection = ScrollOne.getElementsByTagName("a"),
            aLength = aCollection.length,
            ScrollTwo = document.getElementById("ScrollTwo"),
            btn_left = document.getElementById("btn_left"),
            btn_right = document.getElementById("btn_right");
        var Width = 204,Current = 1,Rate = 7,TimeTimeout=1000,TimeInterval=10,MarginRight=9;
        var SInterval=null,STimeout=null;
        var flag=true;
        function ScrollLeft(){
            var CountWidth = Current*Width+Current*MarginRight,
                SLeftPara=starScroll.scrollLeft;
            if(ScrollTwo.offsetWidth-SLeftPara==0){
                starScroll.scrollLeft=0;
                Current=0;
            }
            if(CountWidth-SLeftPara==0){
                Forward();
            }
            else{
                var v = Math.round((CountWidth-SLeftPara)/Rate);
                v = v<1 ? 1 : v;
                SetScrollLeft(SLeftPara+v);
            }
        }
        function SetScrollLeft(scrollleft){
            starScroll.scrollLeft=scrollleft;
        }
        function Init(){
            flag=false;
            SInterval=setInterval(ScrollLeft,TimeInterval);
        }
        function Forward(){
            clearInterval(SInterval);
            Current++;
            flag=true;
            STimeout = setTimeout(Init,TimeTimeout);
        }
        btn_right.onclick=function(){
            if(flag){
                clearTimeout(STimeout);
                Init();
            }
        }
        function ScrollRight(){
            var CountWidth = Current*Width+Current*MarginRight,
                SLeftPara = starScroll.scrollLeft;
            if(CountWidth-SLeftPara==0){
                Forward();
            }
            else{
                var v = Math.round((CountWidth-SLeftPara)/Rate);
                v = v>-1?-1:v;
                SetScrollLeft(SLeftPara+v);
            }
        }
        btn_left.onclick=function(){
            if(!flag){
                return;
            }
            flag=false;
            clearTimeout(STimeout);
            if(Current==1){
                SetScrollLeft(ScrollTwo.offsetWidth);
                Current=aLength+1;
            }
            Current-=2;
            SInterval = setInterval(ScrollRight,TimeInterval);
        }
        if(aLength>0){
            starScroll.scrollLeft=0;
            ScrollTwo.innerHTML = ScrollOne.innerHTML;
            STimeout = setTimeout(Init,TimeTimeout);
        }
    }
})();
Scroll();
    </script>
Javascript 相关文章推荐
jquery 得到当前页面高度和宽度的两个函数
Feb 21 Javascript
自动最大化窗口的Javascript代码
May 22 Javascript
jquery(hide方法)隐藏指定元素实例
Nov 11 Javascript
理解javascript异步编程
Jan 27 Javascript
JS模仿腾讯图片站的图片翻页按钮效果完整实例
Jun 21 Javascript
老生常谈JavaScript 正则表达式语法
Aug 20 Javascript
微信小程序前端源码逻辑和工作流
Sep 25 Javascript
实现点击下箭头变上箭头来回切换的两种方法【推荐】
Dec 14 Javascript
Angular5升级RxJS到5.5.3报错:EmptyError: no elements in sequence的解决方法
Apr 09 Javascript
vue 动态绑定背景图片的方法
Aug 10 Javascript
判断“命令按钮”是否被鼠标单击详解
Jul 31 Javascript
jQuery插件simplePagination的使用方法示例
Apr 28 jQuery
JavaScript实现简单的时钟实例代码
Nov 23 #Javascript
JS控制日期显示的小例子
Nov 23 #Javascript
Jquery 动态循环输出表格具体方法
Nov 23 #Javascript
基于jquery异步传输json数据格式实例代码
Nov 23 #Javascript
JavaScript Ajax Json实现上下级下拉框联动效果实例代码
Nov 23 #Javascript
javascript阻止浏览器后退事件防止误操作清空表单
Nov 22 #Javascript
js获取电脑分辨率的思路及操作
Nov 22 #Javascript
You might like
win7系统配置php+Apache+mysql环境的方法
2015/08/21 PHP
最新制作ThinkPHP3.2.3完全开发手册
2015/11/23 PHP
php使用number_format函数截取小数的方法分析
2016/05/27 PHP
PHP防止图片盗用(盗链)的方法小结
2016/11/11 PHP
jquery事件机制扩展插件 jquery鼠标右键事件
2011/12/21 Javascript
用JQUERY增删元素的代码
2012/02/14 Javascript
jquery分页插件AmSetPager(自写)
2013/04/15 Javascript
javascript截取字符串(通过substring实现并支持中英文混合)
2013/06/24 Javascript
jquery默认校验规则整理
2014/03/24 Javascript
使用jquery选择器如何获取父级元素、同级元素、子元素
2014/05/14 Javascript
jquery移动节点实例
2015/01/14 Javascript
浅析Nodejs npm常用命令
2016/06/14 NodeJs
ES6新数据结构Set与WeakSet用法分析
2017/03/31 Javascript
vuejs 单文件组件.vue 文件的使用
2017/07/28 Javascript
vue项目关闭eslint校验
2018/03/21 Javascript
深入理解Vue nextTick 机制
2018/04/28 Javascript
vue-router+nginx 非根路径配置方法
2018/06/30 Javascript
使用angularjs.foreach时return的问题解决
2018/09/30 Javascript
微信小程序开发之map地图组件定位并手动修改位置偏差
2019/08/17 Javascript
vue实现简单的登录弹出框
2020/10/26 Javascript
python 正则式 概述及常用字符
2009/05/07 Python
python连接sql server乱码的解决方法
2013/01/28 Python
Python编程中实现迭代器的一些技巧小结
2016/06/21 Python
Django使用中间件解决前后端同源策略问题
2019/09/02 Python
python如何编写类似nmap的扫描工具
2020/11/06 Python
python生成word合同的实例方法
2021/01/12 Python
西班牙高科技产品购物网站:MejorDeseo
2019/09/08 全球购物
Farah官方网站:男士服装及配件
2019/11/01 全球购物
罗技英国官方网站:Logitech UK
2020/11/03 全球购物
美国床垫连锁店:Mattress Firm
2021/02/13 全球购物
建议书怎么写
2014/03/12 职场文书
2014年度培训工作总结
2014/11/27 职场文书
求职简历自荐信怎么写
2015/03/26 职场文书
搞笑婚庆主持词
2015/06/29 职场文书
同学会感言
2015/07/30 职场文书
MySQL数据库安装方法与图形化管理工具介绍
2022/05/30 MySQL