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

  • 相关阅读:
    poj2082单调栈
    Javascript权威指南——第二章词法结构,第三章类型、值和变量,第四章表达式和运算符,第五章语句
    Javascript权威指南——第一章Javascript概述
    前端工程师理解
    easyui tree获取直接子节点而不获取孙子节点方法
    centos linux安装telnet 过程及问题(源于内部tomcat网站,外部无法访问)
    AspectJ基础学习之三HelloWorld(转载)
    AspectJ基础学习之二搭建环境(转载)
    AspectJ基础学习之一简介(转载)
    js数组特定位置元素置空,非null和undefined,实现echarts现状图效果;谷歌格式化压缩js代码
  • 原文地址:https://www.cnblogs.com/xiziyin/p/1755573.html
Copyright © 2011-2022 走看看