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 相关文章推荐
简单的JavaScript互斥锁分享
Feb 02 Javascript
网站繁简切换的JS遇到页面卡死的解决方法
Mar 12 Javascript
node.js中的http.request.end方法使用说明
Dec 10 Javascript
常用的JavaScript模板引擎介绍
Feb 28 Javascript
jQuery实现导航高亮的方法【附demo源码下载】
Nov 09 Javascript
JS正则表达式学习之贪婪和非贪婪模式实例总结
Dec 26 Javascript
在vue里面设置全局变量或数据的方法
Mar 09 Javascript
js正则相关知识点专题
May 10 Javascript
垃圾回收器的相关知识点总结
May 13 Javascript
swiper.js插件实现pc端文本上下滑动功能示例
Dec 03 Javascript
微信小程序订阅消息(java后端实现)开发
Jun 01 Javascript
原生js+canvas实现下雪效果
Aug 02 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网站提速三大“软”招
2006/10/09 PHP
php 生成自动创建文件夹并上传文件的示例代码
2014/03/07 PHP
php选择排序法实现数组排序实例分析
2015/02/16 PHP
php微信公众平台开发之微信群发信息
2016/09/13 PHP
PHP+Ajax实现上传文件进度条动态显示进度功能
2018/06/04 PHP
TP - 比RBAC更好的权限认证方式(Auth类认证)
2021/03/09 PHP
javascript针对DOM的应用分析(三)
2012/04/15 Javascript
JS控件ASP.NET的treeview控件全选或者取消(示例代码)
2013/12/16 Javascript
jQuery异步上传文件插件ajaxFileUpload详细介绍
2015/05/19 Javascript
javascript实现3D变换的立体圆圈实例
2015/08/06 Javascript
Bootstrap精简教程中秋大放送
2016/09/15 Javascript
JS+CSS3制作炫酷的弹窗效果
2016/11/08 Javascript
bootstrap 模态框(modal)实现水平垂直居中显示
2017/01/23 Javascript
JavaScript实现定时页面跳转功能示例
2017/02/14 Javascript
JS失效 提示HTML1114: (UNICODE 字节顺序标记)的代码页 utf-8 覆盖(META 标记)的冲突的代码页 utf-8
2017/06/23 Javascript
微信小程序基于picker实现级联菜单
2019/02/15 Javascript
vuex vue简单使用知识点总结
2019/08/29 Javascript
Nodejs封装类似express框架的路由实例详解
2020/01/05 NodeJs
vue如何在项目中调用腾讯云的滑动验证码
2020/07/15 Javascript
Python bsddb模块操作Berkeley DB数据库介绍
2015/04/08 Python
Python实现的线性回归算法示例【附csv文件下载】
2018/12/29 Python
python 处理telnet返回的More,以及get想要的那个参数方法
2019/02/14 Python
Python魔术方法专题
2020/06/19 Python
用python进行视频剪辑
2020/11/02 Python
Python 实现一个简单的web服务器
2021/01/03 Python
python制作抽奖程序代码详解
2021/01/15 Python
HTML5 Canvas绘制五星红旗
2016/05/04 HTML / CSS
Too Faced官网:美国知名彩妆品牌
2017/03/07 全球购物
Ibood荷兰:互联网每日最佳在线优惠
2019/02/28 全球购物
机械设计毕业生自荐信
2014/02/02 职场文书
函授本科自我鉴定
2014/02/04 职场文书
遗产继承公证书
2014/04/09 职场文书
《北大荒的秋天》教学反思
2014/04/14 职场文书
大学专科求职信
2014/07/02 职场文书
纪念九一八事变演讲稿:牢记九一八,屈辱怎能忘
2014/09/14 职场文书
民事起诉书范本
2015/05/19 职场文书