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 相关文章推荐
由prototype_1.3.1进入javascript殿堂-类的初探
Nov 06 Javascript
Extjs4 GridPanel的主要配置参数详细介绍
Apr 18 Javascript
js验证IP及子网掩码的合法性有效性示例
Apr 30 Javascript
JavaScript字符串对象replace方法实例(用于字符串替换或正则替换)
Oct 16 Javascript
jQuery中replaceAll()方法用法实例
Jan 16 Javascript
禁止按回车键提交表单的方法
Jun 11 Javascript
JS实现下拉菜单赋值到文本框的方法
Aug 18 Javascript
JavaScript生成验证码并实现验证功能
Sep 24 Javascript
Vue中建立全局引用或者全局命令的方法
Aug 21 Javascript
解析vue中的$mount
Dec 21 Javascript
vue-cli中的babel配置文件.babelrc实例详解
Feb 22 Javascript
微信小程序实现倒计时功能
Nov 19 Javascript
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
php中Smarty模板初体验
2011/08/08 PHP
浅析php header 跳转
2013/06/17 PHP
yii操作cookie实例简介
2014/07/09 PHP
thinkPHP中session()方法用法详解
2016/12/08 PHP
php 后端实现JWT认证方法示例
2018/09/04 PHP
详解阿里云视频直播PHP-SDK接入教程
2020/07/09 PHP
IE iframe的onload方法分析小结
2010/01/07 Javascript
ASP.NET jQuery 实例8 (动态添加内容到DropDownList)
2012/02/03 Javascript
浅析jQuery EasyUI中的tree使用指南
2014/12/18 Javascript
原生js编写autoComplete插件
2016/04/13 Javascript
工作中比较实用的JavaScript验证和数据处理的干货(经典)
2016/08/03 Javascript
json定义及jquery操作json的方法
2016/09/29 Javascript
基于jQuery实现照片墙自动播放特效
2017/01/12 Javascript
ES6新特性七:数组的扩充详解
2017/04/21 Javascript
使用 Node.js 对文本内容分词和关键词抽取
2017/05/27 Javascript
用vuex写了一个购物车H5页面的示例代码
2018/12/04 Javascript
JavaScript Window窗口对象属性和使用方法
2020/01/19 Javascript
[48:41]VP vs VG Supermajor小组赛 B组胜者组决赛 BO3 第二场 6.2
2018/06/03 DOTA
python使用scrapy解析js示例
2014/01/23 Python
python使用matplotlib库生成随机漫步图
2018/08/27 Python
使用Python的toolz库开始函数式编程的方法
2018/11/15 Python
在unittest中使用 logging 模块记录测试数据的方法
2018/11/30 Python
Python实现GIF图倒放
2020/07/16 Python
基于python实现操作redis及消息队列
2020/08/27 Python
Html5在手机端调用相机的方法实现
2020/05/13 HTML / CSS
Hotels.com印度:酒店预订
2019/05/11 全球购物
酒店仓管员岗位职责
2014/04/28 职场文书
2014县政府领导班子三严三实对照检查材料思想汇报
2014/09/26 职场文书
复兴之路观后感
2015/06/02 职场文书
花田少年史观后感
2015/06/16 职场文书
优秀范文:读《红岩》有感3篇
2019/10/14 职场文书
小学三年级作文之写景
2019/11/05 职场文书
评测 | 大屏显示带收音机的高端音箱,JBL TUNE2便携式插卡音箱实测
2021/04/24 无线电
Html5通过数据流方式播放视频的实现
2021/04/27 HTML / CSS
详解Redis在SpringBoot工程中的综合应用
2021/10/16 Redis
Python 数据可视化之Matplotlib详解
2021/11/02 Python