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中各字符串出现次数的工具
May 03 Javascript
JavaScript 32位整型无符号操作示例
Dec 08 Javascript
js中substr,substring,indexOf,lastIndexOf的用法小结
Dec 27 Javascript
JavaScript实现大数的运算
Nov 24 Javascript
javascript实现随时变化着的背景颜色
Apr 02 Javascript
jquery实现带缩略图的全屏图片画廊效果实例
Jun 25 Javascript
Javascript使用post方法提交数据实例
Aug 03 Javascript
JavaScript常用函数工具集:lao-utils
Mar 01 Javascript
详解jQuery UI库中文本输入自动补全功能的用法
Apr 23 Javascript
BootStrap Table前台和后台分页对JSON格式的要求
Jun 28 Javascript
vueScroll实现移动端下拉刷新、上拉加载
Mar 22 Javascript
eslint 的三大通用规则详解
May 16 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正确解析UTF-8字符串技巧应用
2012/11/07 PHP
简单的php文件上传(实例)
2013/10/27 PHP
PHP+MySQL删除操作实例
2015/01/21 PHP
Laravel相关的一些故障解决
2020/08/19 PHP
很多人都是用下面的js刷新站IP和PV
2008/09/05 Javascript
Javascript 颜色渐变效果的实现代码
2013/10/01 Javascript
jquery和css3实现的炫酷时尚的菜单导航
2014/09/01 Javascript
JavaScript常用小技巧小结
2014/12/29 Javascript
javascript委托(Delegate)blur和focus用法实例分析
2015/05/26 Javascript
jquery实现滑屏大图定时收缩为小banner图片的广告代码
2015/09/02 Javascript
jQuery Chart图表制作组件Highcharts用法详解
2016/06/01 Javascript
Jquery ajax请求导出Excel表格的实现代码
2016/06/08 Javascript
jQuery购物网页经典制作案例
2016/08/19 Javascript
简单实现AngularJS轮播图效果
2020/04/10 Javascript
浅谈Angular2 ng-content 指令在组件中嵌入内容
2017/08/18 Javascript
Node.js Express安装与使用教程
2018/05/11 Javascript
js实现淘宝浏览商品放大镜功能
2020/10/28 Javascript
vuex页面刷新导致数据丢失的解决方案
2020/12/10 Vue.js
vue中activated的用法
2021/01/03 Vue.js
[01:51]开启你的城市传奇 完美世界城市挑战赛开始报名
2018/10/09 DOTA
python Pygame的具体使用讲解
2017/11/03 Python
Python中浅拷贝copy与深拷贝deepcopy的简单理解
2018/10/26 Python
在Python中使用MySQL--PyMySQL的基本使用方法
2019/11/19 Python
详解在Python中使用Torchmoji将文本转换为表情符号
2020/07/27 Python
python中os.remove()用法及注意事项
2021/01/31 Python
matplotlib grid()设置网格线外观的实现
2021/02/22 Python
CSS3教程(2):网页边框半径和网页圆角
2009/04/02 HTML / CSS
美国电力供应商店/电气批发商:USESI
2018/10/12 全球购物
阿迪达斯希腊官方网上商店:adidas希腊
2019/04/06 全球购物
Oracle的内存结构(Memory structures)
2015/06/10 面试题
上海雨人软件技术开发有限公司测试题
2015/07/14 面试题
高中生物教学反思
2014/02/05 职场文书
书香家庭事迹材料
2014/05/09 职场文书
访谈节目策划方案
2014/05/15 职场文书
管辖权异议上诉状
2015/05/23 职场文书
jquery插件实现代码雨特效
2021/04/24 jQuery