`

基于jQuery的控制左右滚动图片效果_自动滚动版本

 
阅读更多

<!DOCTYPE HTML>
<html>
<head>
<title>基于jQuery的控制左右滚动效果_自动滚动版本</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<style>

body{font-size:0.8em;letter-spacing:1px;font-family:"微软雅黑"; line-height:1.8em}
div,ul,li,ol,img{margin:0;padding:0}
h1{font-size:1em; font-weight:normal;}
h1 a{background:#CFF; padding:2px 3px; text-decoration:none;}
h1 a:hover{background:#eee; text-decoration:underline}
h2,h3{font-size:1em; font-weight:normal; color:#a40000; margin:1em auto; position:relative}
h3{color:#888; font-weight:bold}
ul,li,ol{list-style:none}

.ibox{width:850px; height:210px; background:#ddd; margin:1em auto; border:1em solid #ddd; position:relative; overflow:hidden}
.ibox .showbox{position:absolute;left:0;width:2550px; height:170px; background:#fff}
.ibox .showbox ul li{float:left;margin:7px}
.ibox .showbox ul li img{width:150px; height:150px; border:3px solid #a40000}
.ibox span{position:absolute;padding:2px 5px; background:#fff; cursor:pointer;}
.ibox span.pre{left:10px; bottom:0}
.ibox span.next{right:10px; bottom:0}
.ibox span.num{right:45%; bottom:0; background:#ddd;line-height:18px;}
.ibox span.num li{display:inline;margin:0 5px; padding:1px 5px; line-height:18px}
.ibox span.num .numcur{background:#a40000; color:#fff}
</style>
<script>
$(function(){
    //@Mr.Think***变量
    var $cur = 1;//初始化显示的版面
    var $i = 5;//每版显示数
    var $len = $('.showbox>ul>li').length;//计算列表总长度(个数)
    var $pages = Math.ceil($len / $i);//计算展示版面数量
    var $w = $('.ibox').width();//取得展示区外围宽度
    var $showbox = $('.showbox');
    var $num = $('span.num li')
    var $pre = $('span.pre')
    var $next = $('span.next');
    var $autoFun;
    //@Mr.Think***调用自动滚动
    autoSlide();
    //@Mr.Think***向前滚动
    $pre.click(function(){
        if (!$showbox.is(':animated')) {  //判断展示区是否动画
            if ($cur == 1) {   //在第一个版面时,再向前滚动到最后一个版面
                $showbox.animate({
                    left: '-=' + $w * ($pages - 1)
                }, 500); //改变left值,切换显示版面,500(ms)为滚动时间,下同
                $cur = $pages; //初始化版面为最后一个版面
            }
            else {
                $showbox.animate({
                    left: '+=' + $w
                }, 500); //改变left值,切换显示版面
                $cur--; //版面累减
            }
            $num.eq($cur - 1).addClass('numcur').siblings().removeClass('numcur'); //为对应的版面数字加上高亮样式,并移除同级元素的高亮样式
        }
    });
    //@Mr.Think***向后滚动
    $next.click(function(){
        if (!$showbox.is(':animated')) { //判断展示区是否动画
            if ($cur == $pages) {  //在最后一个版面时,再向后滚动到第一个版面
                $showbox.animate({
                    left: 0
                }, 500); //改变left值,切换显示版面,500(ms)为滚动时间,下同
                $cur = 1; //初始化版面为第一个版面
            }
            else {
                $showbox.animate({
                    left: '-=' + $w
                }, 500);//改变left值,切换显示版面
                $cur++; //版面数累加
            }
            $num.eq($cur - 1).addClass('numcur').siblings().removeClass('numcur'); //为对应的版面数字加上高亮样式,并移除同级元素的高亮样式
        }
    });
    //@Mr.Think***数字点击事件
    $num.click(function(){
        if (!$showbox.is(':animated')) { //判断展示区是否动画
            var $index = $num.index(this); //索引出当前点击在列表中的位置值
            $showbox.animate({
                left: '-' + ($w * $index)
            }, 500); //改变left值,切换显示版面,500(ms)为滚动时间
            $cur = $index + 1; //初始化版面值,这一句可避免当滚动到第三版时,点击向后按钮,出面空白版.index()取值是从0开始的,故加1
            $(this).addClass('numcur').siblings().removeClass('numcur'); //为当前点击加上高亮样式,并移除同级元素的高亮样式
        }
    });
    //@Mr.Think***停止滚动
    clearFun($showbox);
    clearFun($pre);
    clearFun($next);
    clearFun($num);
    //@Mr.Think***事件划入时停止自动滚动
    function clearFun(elem){
        elem.hover(function(){
            clearAuto();
        }, function(){
            autoSlide();
        });
    }
    //@Mr.Think***自动滚动
    function autoSlide(){
        $next.trigger('click');
        $autoFun = setTimeout(autoSlide, 3000);//此处不可使用setInterval,setInterval是重复执行传入函数,这会引起第二次划入时停止失效
    }
    //@Mr.Think***清除自动滚动
    function clearAuto(){
        clearTimeout($autoFun);
    }
});
</script>
</head>


<body>
<div class="ibox">
    <div class="showbox">
        <ul>
            <li><img src="http://files.jb51.net/demoimg/201007/f8a9dd53720bf31b5917915e8222c27370a3681c_m.jpg" alt="demo" title="demo" /></li>
            <li><img src="http://files.jb51.net/demoimg/201007/15a1d7982c49b0e638ae3340cf86dc4469f955cc_m.jpg" alt="demo" title="demo" /></li>
            <li><img src="http://files.jb51.net/demoimg/201007/68e9a7a8476e26a1022fa5e39ccdda669a5d4f08_m.jpg" alt="demo" title="demo" /></li>
            <li><img src="http://files.jb51.net/demoimg/201007/56d1b9aaff5b424f1cdb08b80544d5150839b4de_m.jpg" alt="demo" title="demo" /></li>
            <li><img src="http://files.jb51.net/demoimg/201007/56d1b9aaff5b424f1cdb08b80544d5150839b4de_m.jpg" alt="demo" title="demo" /></li>
            <li><img src="http://files.jb51.net/demoimg/201007/20417dfc945bae6c720a660625e9652a154c2c94_m.jpg" alt="demo" title="demo" /></li>
            <li><img src="http://files.jb51.net/demoimg/201007/f4a9f29299f3dba6e7af0ac3c5aff93e01f874d3_m.jpg" alt="demo" title="demo" /></li>
            <li><img src="http://files.jb51.net/demoimg/201007/ca6f0c9ac0c6e3bfce827cd92833e1db620b6377_m.jpg" alt="demo" title="demo" /></li>
            <li><img src="http://files.jb51.net/demoimg/201007/809fcfbb8a1f58d1d47a760fd4283556cce201ef_m.jpg" alt="demo" title="demo" /></li>
            <li><img src="http://files.jb51.net/demoimg/201007/15a1d7982c49b0e638ae3340cf86dc4469f955cc_m.jpg" alt="demo" title="demo" /></li>
            <li><img src="http://files.jb51.net/demoimg/201007/56d1b9aaff5b424f1cdb08b80544d5150839b4de_m.jpg" alt="demo" title="demo" /></li>
            <li><img src="http://files.jb51.net/demoimg/201007/15a1d7982c49b0e638ae3340cf86dc4469f955cc_m.jpg" alt="demo" title="demo" /></li>
            <li><img src="http://files.jb51.net/demoimg/201007/49d6ae8901500f473a2e3e58e5b5ddc0e788bc9d_m.jpg" alt="demo" title="demo" /></li>
        </ul>
    </div>
        <span class="pre">&laquo;向左滚动</span>
    <span class="next">向右滚动&raquo;</span>
    <span class="num">
        <ol>
            <li class="numcur">1</li>
            <li>2</li>
            <li>3</li>
        </ol>
    </span>
</div>
</body>
</html>

分享到:
评论

相关推荐

    jQuery图片左右滚动效果代码.zip

    在本文中,我们将深入探讨如何实现一个基于jQuery的图片左右滚动效果,这通常用于网站的轮播图或幻灯片展示。这个效果包含了左右箭头,可以手动切换,同时具备自动轮播的功能,大大增强了用户体验。 首先,我们需要...

    基于jQuery的控制左右滚动及自动滚动效果

    文件`基于jQuery的控制左右滚动及自动滚动效果(自动滚动)@Mr.Think@www.MrThink.net.htm`和`基于jQuery的控制左右滚动及自动滚动效果@Mr.Think@www.MrThink.net.htm`可能包含了具体的示例代码和演示,你可以参考这些...

    基于Jquery图片点击上下滚动效果

    总的来说,"基于Jquery图片点击上下滚动效果"是网页动态效果的一个基础示例,它结合了HTML布局、jQuery选择器、事件处理和动画效果,展示了如何通过JavaScript和jQuery来增强网页的交互性。通过不断学习和实践,...

    非常好用的基于jquery的滚动条插件jscroll_files

    总之,`jscroll_files`是一个强大且灵活的jQuery滚动条插件,它使得开发者能够在不影响网站性能的情况下,轻松打造出符合品牌形象、提升用户体验的滚动条设计。无论你是网页设计师还是前端开发者,这个工具都将是你...

    jquery图片放大滚动

    图片左右滚动是通过用户点击左右箭头或自动滚动来实现图片的水平移动。jQuery的`.animate()`方法可以用于平滑移动元素,配合计算当前图片的位置和目标位置,实现平滑的左右滚动效果。 **6. 按钮焦点与事件绑定** 在...

    jQuery图片左右滚动效果代码

    "jQuery图片左右滚动效果代码"是一个基于jQuery实现的动态图片展示方案,旨在为用户提供一个具有左右箭头控制和鼠标悬停功能的自动轮播图片的功能。这种效果能够使网站或应用更具吸引力,提升用户体验。 首先,我们...

    超炫的jquery图片上下滚动效果

    以上代码将每3秒自动滚动一次图片,图片从底部向上移出视区,然后移到队列末尾重新出现,形成连续滚动的效果。 四、优化与扩展 - 增加控制按钮:你可以添加上一张和下一张的控制按钮,通过修改`index`值来手动切换...

    JavaScript_JQuery_CSS_CSS_DIV漂亮的实例123个

    101. 打包基于jQuery对图片边框修饰插件示例下载(支持图片阴影效果、顶部banner效果、邮票边框、毛边相框、云朵包围效果) 102. 推荐jquery仿Flash大banner图片切换播放特效,非常完美 103. 推荐jQuery仿新浪QQ绝...

    Jquery图片轮播幻灯片效果实现左右滚动图片切换代码

    在网页设计中,jQuery 图片轮播幻灯片效果是一种常见的功能,用于展示一组图片或内容,通过动态的左右滚动来吸引用户注意力并提供良好的用户体验。这个效果的实现基于 jQuery JavaScript 库,它简化了 DOM 操作、...

    基于jQuery实现滚动切换效果

    基于jQuery实现滚动切换效果的知识点主要包括了以下几个方面: 1. jQuery的基本概念:jQuery是一个快速、简洁的JavaScript库,它通过简化HTML文档遍历和事件处理、动画和Ajax交互,极大地简化了JavaScript编程。在...

    jQuery图文左右滚动代码.zip

    "jQuery图文左右滚动代码.zip" 是一个基于jQuery和Owl Carousel插件的实现,用于创建类似百度百科首页焦点图的滚动效果。这个功能丰富的代码包可以帮助开发者轻松地在网站上实现图文信息的平滑左右滚动,同时支持...

    基于jQuery的图片左右无缝滚动插件

    "基于jQuery的图片左右无缝滚动插件"就是用于实现这种效果的工具,它允许图片在水平方向上连续、平滑地滚动,营造出类似轮播图的效果,但更注重连续性和无中断感。 jQuery,全名JavaScript库jQuery,是由John Resig...

    jd.rar_jquery_js jd消息滚动_很好用_懒人焦点图

    标题中的“jd.rar_jquery_js jd消息滚动_很好用_懒人焦点图”表明这是一个关于JavaScript(js)和jQuery(jquery)实现的消息滚动效果的代码示例,特别适合那些寻求简单易用的懒人解决方案。这个例子可能是一个针对...

    myslideLeftRight 基于jQuery图片左右无缝滚动插件.zip

    【myslideLeftRight基于jQuery图片左右无缝滚动插件】是一个常用的前端开发工具,它通过结合JavaScript库jQuery实现图片的平滑、连续且无间隙的左右滚动效果,为网站的展示和用户体验提供了极大的便利。该插件广泛...

    基于jquery实现点击左右按钮图片横向滚动

    总结一下,这个基于jQuery的图片横向滚动实现主要依赖于以下几个关键点: 1. 使用jQuery选择器和DOM操作来获取和修改元素。 2. 利用CSS定位和动画效果来实现平滑的图片滚动。 3. 通过事件监听器处理用户交互,触发...

    Jquery实现图片左右自动滚动示例

    基于jQuery的控制左右滚动效果_自动滚动版本&lt;/title&gt; [removed][removed] &lt;style&gt; body{font-size:0.8em;letter-spacing:1px;font-family:”微软雅黑”; line-height:1.8em} div,ul,li,ol,img{margin:0;...

    jquery图片横向滚动

    综上所述,这个"jquery图片横向滚动"插件是基于jQuery的图片展示解决方案,它具有横向滚动效果,并且提供左右按钮供用户手动切换。通过优化代码和添加详细注释,提高了用户体验和可维护性。对于前端开发者来说,学习...

    jquery 图片滚动效果

    一、基于JQuery的横向Banner大图滚动切换效果 这种效果通常用于网站头部的大图轮播,提供一种吸引用户的视觉体验。jQuery的`fadeOut()`和`fadeIn()`函数是实现这一效果的关键。通过定时器设置间隔时间,使图片在淡出...

    基于jQuery的可以控制左右滚动及自动滚动效果的代码

    标题中的“基于jQuery的可以控制左右滚动及自动滚动效果的代码”是指利用jQuery库来实现一个功能,允许用户控制内容的左右滚动,并且具备自动滚动的功能。这种效果常见于展示多份内容的场景,比如幻灯片或者产品展示...

Global site tag (gtag.js) - Google Analytics