JS、JQ实现焦点图轮播效果详解编程语言

  JS实现焦点图轮播效果

   效果图:

 JS、JQ实现焦点图轮播效果详解编程语言

 

代码如下,复制即可使用:

 (不过里面的图片路径需要自己改成自己的图片路径,否则是没有图片显示的哦)

<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="UTF-8"> 
    <title>JS实现焦点图轮播效果</title> 
    <style type="text/css"> 
        *{ margin: 0; padding: 0; text-decoration: none;} 
        body { padding: 20px;} 
        #container { width: 600px; height: 400px; border: 3px solid #333; overflow: hidden; position: relative;} 
        #list { width: 4200px; height: 400px; position: absolute; z-index: 1;} 
        #list img { float: left;} 
        #buttons { position: absolute; height: 10px; width: 100px; z-index: 2; bottom: 20px; left: 250px;} 
        #buttons span { cursor: pointer; float: left; border: 1px solid #fff; width: 10px; height: 10px; border-radius: 50%; background: #333; margin-right: 5px;} 
        #buttons .on {  background: orangered;} 
        .arrow { cursor: pointer; display: none; line-height: 39px; text-align: center; font-size: 36px; font-weight: bold; width: 40px; height: 40px;  position: absolute; z-index: 2; top: 180px; background-color: RGBA(0,0,0,.3); color: #fff;} 
        .arrow:hover { background-color: RGBA(0,0,0,.7);} 
        #container:hover .arrow { display: block;} 
        #prev { left: 20px;} 
        #next { right: 20px;} 
    </style> 
    <script type="text/javascript"> 
 
        window.onload = function () { 
            var container = document.getElementById('container'); 
            var list = document.getElementById('list'); 
            var buttons = document.getElementById('buttons').getElementsByTagName('span'); 
            var prev = document.getElementById('prev'); 
            var next = document.getElementById('next'); 
            var index = 1; 
            var len = 5; 
            var animated = false; 
            var interval = 3000; 
            var timer; 
 
 
            function animate (offset) { 
                if (offset == 0) { 
                    return; 
                } 
                animated = true; 
                var time = 300; 
                var inteval = 10; 
                var speed = offset/(time/inteval); 
                var left = parseInt(list.style.left) + offset; 
 
                var go = function (){ 
                    if ( (speed > 0 && parseInt(list.style.left) < left) || (speed < 0 && parseInt(list.style.left) > left)) { 
                        list.style.left = parseInt(list.style.left) + speed + 'px'; 
                        setTimeout(go, inteval); 
                    } 
                    else { 
                        list.style.left = left + 'px'; 
                        if(left>-200){ 
                            list.style.left = -600 * len + 'px'; 
                        } 
                        if(left<(-600 * len)) { 
                            list.style.left = '-600px'; 
                        } 
                        animated = false; 
                    } 
                } 
                go(); 
            } 
 
            function showButton() { 
                for (var i = 0; i < buttons.length ; i++) { 
                    if( buttons[i].className == 'on'){ 
                        buttons[i].className = ''; 
                        break; 
                    } 
                } 
                buttons[index - 1].className = 'on'; 
            } 
 
            function play() { 
                timer = setTimeout(function () { 
                    next.onclick(); 
                    play(); 
                }, interval); 
            } 
            function stop() { 
                clearTimeout(timer); 
            } 
 
            next.onclick = function () { 
                if (animated) { 
                    return; 
                } 
                if (index == 5) { 
                    index = 1; 
                } 
                else { 
                    index += 1; 
                } 
                animate(-600); 
                showButton(); 
            } 
            prev.onclick = function () { 
                if (animated) { 
                    return; 
                } 
                if (index == 1) { 
                    index = 5; 
                } 
                else { 
                    index -= 1; 
                } 
                animate(600); 
                showButton(); 
            } 
 
            for (var i = 0; i < buttons.length; i++) { 
                buttons[i].onclick = function () { 
                    if (animated) { 
                        return; 
                    } 
                    if(this.className == 'on') { 
                        return; 
                    } 
                    var myIndex = parseInt(this.getAttribute('index')); 
                    var offset = -600 * (myIndex - index); 
 
                    animate(offset); 
                    index = myIndex; 
                    showButton(); 
                } 
            } 
 
            container.onmouseover = stop; 
            container.onmouseout = play; 
 
            play(); 
 
        } 
    </script> 
</head> 
<body> 
 
<div id="container"> 
    <div id="list" style="left: -600px;">
     <!-- 放最后的一张图片 -图片需要改为自己的图片路径 --> <img src="img/5.jpg" alt="1"/> <img src="img/1.jpg" alt="1"/> <img src="img/2.jpg" alt="2"/> <img src="img/3.jpg" alt="3"/> <img src="img/4.jpg" alt="4"/> <img src="img/5.jpg" alt="5"/>
     <!-- 放第一张的图片 -->
     <img src="img/1.jpg" alt="5"/> </div> <div id="buttons"> <span index="1" class="on"></span> <span index="2"></span> <span index="3"></span> <span index="4"></span> <span index="5"></span> </div> <a href="javascript:;" id="prev" class="arrow">&lt;</a> <a href="javascript:;" id="next" class="arrow">&gt;</a> </div> </body> </html>

 

 JQ实现焦点图轮播效果(一)

   效果图:

 JS、JQ实现焦点图轮播效果详解编程语言

  图片素材 :

JS、JQ实现焦点图轮播效果详解编程语言

 JS、JQ实现焦点图轮播效果详解编程语言

 JS、JQ实现焦点图轮播效果详解编程语言

JS、JQ实现焦点图轮播效果详解编程语言

JS、JQ实现焦点图轮播效果详解编程语言

 

代码如下,复制即可使用:

 (不过里面的JQ路径和图片路径需要自己改成自己的JQ路径和图片路径,否则是没有效果显示的哦)

<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="UTF-8"> 
    <title>JQ实现焦点图轮播效果(一)</title> 
    <style type="text/css"> 
        *{ margin: 0; padding: 0; text-decoration: none;} 
        body { padding: 20px;} 
        #container { width: 600px; height: 400px; border: 3px solid #333; overflow: hidden; position: relative;} 
        #list { width: 4200px; height: 400px; position: absolute; z-index: 1;} 
        #list img { float: left;} 
        #buttons { position: absolute; height: 10px; width: 100px; z-index: 2; bottom: 20px; left: 250px;} 
        #buttons span { cursor: pointer; float: left; border: 1px solid #fff; width: 10px; height: 10px; border-radius: 50%; background: #333; margin-right: 5px;} 
        #buttons .on {  background: orangered;} 
        .arrow { cursor: pointer; display: none; line-height: 39px; text-align: center; font-size: 36px; font-weight: bold; width: 40px; height: 40px;  position: absolute; z-index: 2; top: 180px; background-color: RGBA(0,0,0,.3); color: #fff;} 
        .arrow:hover { background-color: RGBA(0,0,0,.7);} 
        #container:hover .arrow { display: block;} 
        #prev { left: 20px;} 
        #next { right: 20px;} 
    </style>
   <!-- 此处需要改为自己的JQ路径 -->
    <script type="text/javascript" src="js/jquery.min.js"></script> 
    <script type="text/javascript"> 
 
        $(function () { 
            var container = $('#container'); 
            var list = $('#list'); 
            var buttons = $('#buttons span'); 
            var prev = $('#prev'); 
            var next = $('#next'); 
            var index = 1; 
            var len = 5; 
            var interval = 3000; 
            var timer; 
 
 
            function animate (offset) { 
                var left = parseInt(list.css('left')) + offset; 
                if (offset>0) { 
                    offset = '+=' + offset; 
                } 
                else { 
                    offset = '-=' + Math.abs(offset); 
                } 
                list.animate({'left': offset}, 300, function () { 
                    if(left > -200){ 
                        list.css('left', -600 * len); 
                    } 
                    if(left < (-600 * len)) { 
                        list.css('left', -600); 
                    } 
                }); 
            } 
 
            function showButton() { 
                buttons.eq(index-1).addClass('on').siblings().removeClass('on'); 
            } 
 
            function play() { 
                timer = setTimeout(function () { 
                    next.trigger('click'); 
                    play(); 
                }, interval); 
            } 
            function stop() { 
                clearTimeout(timer); 
            } 
 
            next.bind('click', function () { 
                if (list.is(':animated')) { 
                    return; 
                } 
                if (index == 5) { 
                    index = 1; 
                } 
                else { 
                    index += 1; 
                } 
                animate(-600); 
                showButton(); 
            }); 
 
            prev.bind('click', function () { 
                if (list.is(':animated')) { 
                    return; 
                } 
                if (index == 1) { 
                    index = 5; 
                } 
                else { 
                    index -= 1; 
                } 
                animate(600); 
                showButton(); 
            }); 
 
            buttons.each(function () { 
                 $(this).bind('click', function () { 
                     if (list.is(':animated') || $(this).attr('class')=='on') { 
                         return; 
                     } 
                     var myIndex = parseInt($(this).attr('index')); 
                     var offset = -600 * (myIndex - index); 
 
                     animate(offset); 
                     index = myIndex; 
                     showButton(); 
                 }) 
            }); 
 
            container.hover(stop, play); 
 
            play(); 
 
        }); 
    </script> 
</head> 
<body> 
 
<div id="container"> 
    <div id="list" style="left: -600px;"> 
        <!-- 放最后的一张图片 -此处需要改为自己的图片路径 --> 
        <img src="img/5.jpg" alt="1"/> 
        <img src="img/1.jpg" alt="1"/> 
        <img src="img/2.jpg" alt="2"/> 
        <img src="img/3.jpg" alt="3"/> 
        <img src="img/4.jpg" alt="4"/> 
        <img src="img/5.jpg" alt="5"/> 
         <!-- 放第一张的图片 --> 
        <img src="img/1.jpg" alt="5"/> 
    </div> 
    <div id="buttons"> 
        <span index="1" class="on"></span> 
        <span index="2"></span> 
        <span index="3"></span> 
        <span index="4"></span> 
        <span index="5"></span> 
    </div> 
    <a href="javascript:;" id="prev" class="arrow">&lt;</a> 
    <a href="javascript:;" id="next" class="arrow">&gt;</a> 
</div> 
 
</body> 
</html>

 

 JQ实现焦点图轮播效果(二)

   效果图:

JS、JQ实现焦点图轮播效果详解编程语言

  图片素材 :

JS、JQ实现焦点图轮播效果详解编程语言  、JS、JQ实现焦点图轮播效果详解编程语言 、JS、JQ实现焦点图轮播效果详解编程语言 、JS、JQ实现焦点图轮播效果详解编程语言

 左右按钮素材  :JS、JQ实现焦点图轮播效果详解编程语言 , 左右按钮 IE6版本素材  : JS、JQ实现焦点图轮播效果详解编程语言 

代码如下,复制即可使用:

  (不过里面的JQ路径和图片路径需要自己改成自己的JQ路径和图片路径,否则是没有效果显示的哦)

  (适用浏览器:IE8、360、FireFox、Chrome、Safari、Opera、傲游、搜狗、世界之窗.)

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <title>JQ实现焦点图轮播效果(二)</title>

  <!--
此处需要改为自己的JQ路径 -->
    <script type="text/javascript" src="js/jquery.min.js"></script> 
    <style> 
        /* CSS Document */ 
        body,ul,li{ padding:0; margin:0;} 
        ul,li{ list-style:none;} 
        img{ border:none;} 
        a{ color:#6cf;} 
        a:hover{ color:#84B263;} 
        .box{ width:980px; margin:0 auto; position:relative; overflow:hidden; _height:100%;} 
        .picbox{ width:980px; height:115px; overflow:hidden; position:relative;} 
        .piclist{ height:115px;position:absolute; left:0px; top:0px} 
        .piclist li{ background:#eee; margin-right:20px; padding:5px; float:left;} 
        .swaplist{ position:absolute; left:-3000px; top:0px}

     /*这里需要改成自己的图片路径*/
        .og_prev,.og_next{ width:30px; height:50px; background:url(../images/icon.png) no-repeat; background:url(../images/icon_ie6.png) no-repeat/9; position:absolute; top:33px; z-index:99; cursor:pointer;filter:alpha(opacity=70); opacity:0.7;} 
        .og_prev{ background-position:0 -60px; left:4px;} 
        .og_next{ background-position:0 0; right:4px;} 
 
    </style> 
</head> 
<body> 
<div class="box" style="margin-top:50px;"> 
    <div class="picbox"> 
        <ul class="piclist mainlist">

        <!-- 此处需要改为自己的图片路径 -->
            <li><a href="#" target="_blank"><img src="images/1.jpg" width="220" height="105" /></a></li> 
            <li><a href="#" target="_blank"><img src="images/2.jpg" /></a></li> 
            <li><a href="#" target="_blank"><img src="images/3.jpg" /></a></li> 
            <li><a href="#" target="_blank"><img src="images/4.jpg" /></a></li> 
            <li><a href="#" target="_blank"><img src="images/1.jpg" /></a></li> 
            <li><a href="#" target="_blank"><img src="images/2.jpg" /></a></li> 
            <li><a href="#" target="_blank"><img src="images/3.jpg" /></a></li> 
            <li><a href="#" target="_blank"><img src="images/4.jpg" /></a></li> 
        </ul> 
        <ul class="piclist swaplist"></ul> 
    </div> 
    <div class="og_prev"></div> 
    <div class="og_next"></div> 
</div> 
<script> 
// JavaScript Document 
$(document).ready(function(e) { 
    /***不需要自动滚动,去掉即可***/ 
    time = window.setInterval(function(){ 
        $('.og_next').click();     
    },5000); 
    /***不需要自动滚动,去掉即可***/ 
    linum = $('.mainlist li').length;//图片数量 
    w = linum * 250;//ul宽度 
    $('.piclist').css('width', w + 'px');//ul宽度 
    $('.swaplist').html($('.mainlist').html());//复制内容 
     
    $('.og_next').click(function(){ 
         
        if($('.swaplist,.mainlist').is(':animated')){ 
            $('.swaplist,.mainlist').stop(true,true); 
        } 
         
        if($('.mainlist li').length>4){//多于4张图片 
            ml = parseInt($('.mainlist').css('left'));//默认图片ul位置 
            sl = parseInt($('.swaplist').css('left'));//交换图片ul位置 
            if(ml<=0 && ml>w*-1){//默认图片显示时 
                $('.swaplist').css({left: '1000px'});//交换图片放在显示区域右侧 
                $('.mainlist').animate({left: ml - 1000 + 'px'},'slow');//默认图片滚动                 
                if(ml==(w-1000)*-1){//默认图片最后一屏时 
                    $('.swaplist').animate({left: '0px'},'slow');//交换图片滚动 
                } 
            }else{//交换图片显示时 
                $('.mainlist').css({left: '1000px'})//默认图片放在显示区域右 
                $('.swaplist').animate({left: sl - 1000 + 'px'},'slow');//交换图片滚动 
                if(sl==(w-1000)*-1){//交换图片最后一屏时 
                    $('.mainlist').animate({left: '0px'},'slow');//默认图片滚动 
                } 
            } 
        } 
    }) 
    $('.og_prev').click(function(){ 
         
        if($('.swaplist,.mainlist').is(':animated')){ 
            $('.swaplist,.mainlist').stop(true,true); 
        } 
         
        if($('.mainlist li').length>4){ 
            ml = parseInt($('.mainlist').css('left')); 
            sl = parseInt($('.swaplist').css('left')); 
            if(ml<=0 && ml>w*-1){ 
                $('.swaplist').css({left: w * -1 + 'px'}); 
                $('.mainlist').animate({left: ml + 1000 + 'px'},'slow');                 
                if(ml==0){ 
                    $('.swaplist').animate({left: (w - 1000) * -1 + 'px'},'slow'); 
                } 
            }else{ 
                $('.mainlist').css({left: (w - 1000) * -1 + 'px'}); 
                $('.swaplist').animate({left: sl + 1000 + 'px'},'slow'); 
                if(sl==0){ 
                    $('.mainlist').animate({left: '0px'},'slow'); 
                } 
            } 
        } 
    })     
}); 
 
$(document).ready(function(){ 
    $('.og_prev,.og_next').hover(function(){ 
            $(this).fadeTo('fast',1); 
        },function(){ 
            $(this).fadeTo('fast',0.7); 
    }) 
 
}) 
 
 
</script> 
</body> 
</html>

  如有错误,欢迎联系我改正,非常感谢!!!

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/12319.html

(0)
上一篇 2021年7月19日 14:33
下一篇 2021年7月19日 14:33

相关推荐

发表回复

登录后才能评论