zoukankan      html  css  js  c++  java
  • jquery.focus.js

    ;(function($){
    
        $.fn.myfocus = function(options){
    
            var obj = $.extend({}, $.fn.myfocus.defaults, options || {});
    
            return $(this).each(function(){
    
                // methods.init();
                var $_this = $(this),
                     sWidth = $_this.width(),
                    len = $_this.find('ul li').length,
                    index = 0,
                    picTimer;
    
                $_this.find('ul').width(sWidth*len);
    
                var btn = "<div class='btnBg'></div><div class='btn'>";
                for(var i=0; i < len; i++) {
                    btn += "<span></span>";
                }
                btn += "</div><div class='preNext pre'></div><div class='preNext next'></div>";
                $_this.append(btn);
    
                $_this.find('.btn span').css("opacity",0.4).click(function() {
                    index = $_this.find('.btn span').index(this);
                    showPics(index);
                }).eq(0).trigger("click");
    
                $_this.hover(function(){
                    clearInterval(picTimer);
                },function(){
                     picTimer = setInterval(function(){
                         showPics(index);
                         index++;
                         if(index == len) {index = 0}
                     },4000);
                });
    
                $_this.find('.pre').click(function() {
                    index -= 1;
                    if(index == -1) {index = len - 1;}
                    showPics(index);
                });
    
                $_this.find('.next').click(function() {
                    index += 1;
                    if(index == len) {index = 0;}
                    showPics(index);
                });
    
                function showPics(index) {         //普通切换
                    var nowLeft = -index*sWidth; //根据index值计算ul元素的left值
                    $_this.find('ul').stop(true,false).animate({"left":nowLeft},300); //通过animate()调整ul元素滚动到计算出的position
                    //$(".focus .btn span").removeClass("on").eq(index).addClass("on"); //为当前的按钮切换到选中的效果
                    $_this.find('.btn span').stop(true,false).animate({"opacity":"0.4"},300).eq(index).stop(true,false).animate({"opacity":"1"},300); //为当前的按钮切换到选中的效果
                }
                            
            });
        };
    
        $.fn.myfocus.defaults = {
            nextTarget : 10
        };
    
    
    })(jQuery);
    $('#focus').myfocus();
    <div class="focus" id="focus">
            <ul>
                <li><a href="#" target="_blank"><img src="img/1.jpg" alt="" /></a></li>
                <li><a href="#" target="_blank"><img src="img/2.jpg" alt="" /></a></li>
                <li><a href="#" target="_blank"><img src="img/3.jpg" alt="" /></a></li>
            </ul>
    </div>
    <style type="text/css">
    
    * {margin:0; padding:0;}
    body {font-size:12px; color:#222; font-family:Verdana,Arial,Helvetica,sans-serif; background:#f0f0f0;}
    .clearfix:after {content: "."; display: block; height: 0; clear: both; visibility: hidden;}
    .clearfix {zoom:1;}
    ul,li {list-style:none;}
    img {border:0;}
    
    .wrapper {width:800px; margin:0 auto; padding-bottom:50px;}
    
    h1 {height:50px; line-height:50px; font-size:22px; font-weight:normal; font-family:"Microsoft YaHei",SimHei;}
    
    .shuoming {margin-top:20px; border:1px solid #ccc; padding-bottom:10px;}
    .shuoming dt {height:30px; line-height:30px; font-weight:bold; text-indent:10px;}
    .shuoming dd {line-height:20px; padding:5px 20px;}
    
    /* qqshop focus */
    .focus {width:800px; height:450px; overflow:hidden; position:relative;}
    .focus ul {height:450px; position:absolute;}
    .focus ul li {float:left; width:800px; height:450px; overflow:hidden; position:relative;}
    .focus ul li div {position:absolute; overflow:hidden;}
    .focus .btnBg {position:absolute; width:800px; height:20px; left:0; bottom:0; background:#000;}
    .focus .btn {position:absolute; width:780px; height:10px; padding:5px 10px; right:0; bottom:0; text-align:right;}
    .focus .btn span {display:inline-block; _display:inline; _zoom:1; width:25px; height:10px; _font-size:0; margin-left:5px; cursor:pointer; background:#fff;}
    .focus .btn span.on {background:#fff;}
    .focus .preNext {width:45px; height:100px; position:absolute; top:90px; background:url(img/sprite.png) no-repeat 0 0; cursor:pointer;}
    .focus .pre {left:0;}
    .focus .next {right:0; background-position:right top;}
    </style>
  • 相关阅读:
    Map 中的EntrySet() ,Map的遍历
    Struts2拦截器原理
    基于 <tx> 和 <aop> 命名空间的声明式事务管理
    Spring AOP Example 文件下载:
    Struts2拦截器
    好多开发文档——官网打不开的福音
    threejs样例
    bootCDN,用了都说好
    react拷贝index.html很恶心之解决办法
    网络爬虫好
  • 原文地址:https://www.cnblogs.com/oceanden/p/4197285.html
Copyright © 2011-2022 走看看