zoukankan      html  css  js  c++  java
  • 自制taobao首页的slider

    由于时间久了图片失效了我就不负责了。。

    ps:用position:relative做实在是太恶心了。。我以为用js修改dom结构……

    css:

            #slider {
                position: relative;
                 470px;
            }
    
            img {
                 440px;
                height: 135px;
            }
    
            .slider-content {
                 440px;
                height: 135px;
                overflow: hidden;
                position: relative;
                margin-left: 15px;
            }
    
            .mall-prev, .mall-next {
                border: 1px solid #D5D5D5;
                 13px;
                height: 133px;
                display: block;
                position: absolute;
                cursor: pointer;
                outline: 0 none;
            }
    
            .mall-prev {
                left: 0;
            }
    
            .mall-next {
                right: 0;
            }
    
            .mall-prev span, .mall-next span {
                 5px;
                height: 9px;
                background: url("http://img08.taobaocdn.com/tps/i8/T1xPJCXeVkXXXXXXXX-170-394.png") no-repeat scroll -999em 0 transparent;
                display: block;
                position: absolute;
                top: 44%;
                left: 40%;
                overflow: hidden;
            }
    
            .mall-prev span {
                background-position: -125px -109px;
            }
    
            .mall-next span {
                background-position: -130px -109px;
            }
    
            .slider-content ul {
                list-style-type: none;
                margin: 0;
                padding: 0;
                 1500px;
                position: absolute;
                left: -440px;
            }
    
            .slider-content ul li {
                float: left;
            }
    
            .clearfix:after {
                display: block;
                height: 0;
                content: '\0020';
                clear: both;
            }
    
            .clearfix {
                zoom: 1;
            }
    
            .mall_rev_last {
                position: relative;
                left: 1320px;
            }
            .mall_next_first{
                position: relative;
                left: -1320px;
            }
    

    html:

    <div id="slider">
        <a title="上一页" target="_self" href="#" hidefocus="true" class="mall-prev" id="J_MallPrev"><span></span></a>
        <a title="下一页" target="_self" href="#" hidefocus="true" class="mall-next" id="J_MallNext"><span></span></a>
    
        <div class="slider-content" id="J_sliderContent">
            <ul>
                <li class="clearfix"><img src="http://img06.taobaocdn.com/tps/i6/T15j0CXg0dXXXXXXXX-470-150.gif" alt="">
                </li>
                <li class="clearfix"><img src="http://img.alimama.cn/bcrm/adboard/picture/2010-05-26/100526105954811.jpg"
                                          alt=""></li>
                <li class="clearfix"><img src="http://img.alimama.cn/bcrm/adboard/picture/2010-06-07/100607113317129.jpg"
                                          alt=""></li>
            </ul>
        </div>
    </div>
    

    js(jquery):

    $(function() {
            $("#J_MallPrev").click(function() {
                var l = $(".slider-content ul").css("left");
                l = parseInt(l.slice(0, -2));
                if (l == -440) {
                    $(".slider-content ul li:first-child").addClass("mall_rev_last");
                }
                if (l <= -1320) {
                    l = 0;
                    $(".slider-content ul").css("left", "0");
                    $(".slider-content ul li:first-child").removeClass("mall_rev_last");
                }
                $(".slider-content ul").animate({left: (l - 440) + "px"}, { queue: true, duration: 300 });
            });
            $("#J_MallNext").click(function() {
                var l = $(".slider-content ul").css("left");
                l = parseInt(l.slice(0, -2));
                if (l == -440) {
                    $(".slider-content ul li:last-child").addClass("mall_next_first");
                }
                if (l >= 440) {
                    l = -880;
                    $(".slider-content ul").css("left", "-880px");
                    $(".slider-content ul li:last-child").removeClass("mall_next_first");
                }
                $(".slider-content ul").animate({left: (l + 440) + "px"}, { queue: true, duration: 300 });
            });
        });
    

    demo地址:http://xiziyin.appspot.com/demo/slider-2.html 

    原理:http://bbs.blueidea.com/thread-2981254-1-9.html

  • 相关阅读:
    MinGW 介绍
    Android Gallery组件实现循环显示图像
    白话经典算法系列之六 高速排序 高速搞定
    background-position 使用方法具体介绍
    小程序:目录
    SLC-测试-Postman:Postman 工具
    云-腾讯云:视频解决方案-un
    云-腾讯云:实时音视频
    Tool:XMind
    小程序:微信公众平台:小程序
  • 原文地址:https://www.cnblogs.com/xiziyin/p/1755573.html
Copyright © 2011-2022 走看看