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 相关文章推荐
跨浏览器通用、可重用的选项卡tab切换js代码
Sep 20 Javascript
扩展Jquery插件处理mouseover时内部有子元素时发生样式闪烁
Dec 08 Javascript
原生javascript图片自动或手动切换示例附演示源码
Sep 04 Javascript
在百度知道团队中快速审批新成员的js脚本
Feb 02 Javascript
jquery实现个人中心导航菜单效果和美观都非常不错
Sep 02 Javascript
js简单的点击返回顶部效果实现方法
Apr 10 Javascript
jQuery实现延迟跳转的方法
Jun 05 Javascript
js插件Jcrop自定义截取图片功能
Oct 14 Javascript
jquery的父、子、兄弟节点查找,节点的子节点循环方法
Dec 07 Javascript
Node.js中package.json中库的版本号(~和^)
Apr 02 Javascript
图解javascript作用域链
May 27 Javascript
vue使用map代替Aarry数组循环遍历的方法
Apr 30 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
php5 non-thread-safe和thread-safe这两个版本的区别分析
2010/03/13 PHP
PHP封装的HttpClient类用法实例
2015/06/17 PHP
php实现简单的MVC框架实例
2015/09/23 PHP
php使用ffmpeg向视频中添加文字字幕的实现方法
2016/05/23 PHP
PHP的AES加密算法完整实例
2016/07/20 PHP
jquery 选择器部分整理
2009/10/28 Javascript
Jquery Ajax 学习实例2 向页面发出请求 返回JSon格式数据
2010/03/15 Javascript
js格式化金额可选是否带千分位以及保留精度
2014/01/28 Javascript
JavaScript实现列出数组中最长的连续数
2014/12/29 Javascript
Jquery技巧(必须掌握)
2016/03/16 Javascript
浅谈jQuery中的eq()与DOM中element.[]的区别
2016/10/28 Javascript
JS+Canvas绘制动态时钟效果
2017/11/10 Javascript
详解如何在Vue里建立长按指令
2018/08/20 Javascript
基于Vue插入视频的2种方法小结
2019/04/02 Javascript
利用Angular7开发一个Radio组件的全过程
2019/07/11 Javascript
javascript设计模式 ? 建造者模式原理与应用实例分析
2020/04/10 Javascript
详解Node.js使用token进行认证的简单示例
2020/05/25 Javascript
TypeScript 运行时类型检查补充工具
2020/09/28 Javascript
学习python 之编写简单乘法运算题
2016/02/27 Python
Python数据类型详解(一)字符串
2016/05/08 Python
python负载均衡的简单实现方法
2018/02/04 Python
python 获取当天每个准点时间戳的实例
2018/05/22 Python
python统计字母、空格、数字等字符个数的实例
2018/06/29 Python
Python操作redis实例小结【String、Hash、List、Set等】
2019/05/16 Python
初次部署django+gunicorn+nginx的方法步骤
2019/09/11 Python
Python tkinter和exe打包的方法
2020/02/05 Python
详解Django配置JWT认证方式
2020/05/09 Python
利用HTML5中的Canvas绘制一张笑脸的教程
2015/05/07 HTML / CSS
北美最大的零售退货翻新商:VIP Outlet
2019/11/21 全球购物
请解释流与文件有什么不同
2016/07/29 面试题
音乐专业自荐信
2014/02/07 职场文书
企业领导班子四风对照检查材料
2014/09/27 职场文书
群众路线教育查摆剖析材料
2014/10/10 职场文书
初中生思想道德自我评价
2015/03/09 职场文书
Python音乐爬虫完美绕过反爬
2021/08/30 Python
windows server 2012安装FTP并配置被动模式指定开放端口
2022/06/10 Servers