• Django打造大型企业官网(五)


    4.6.切换轮播图的箭头样式以及显示和隐藏

    templates/news/index.html

    <span class="arrow left-arrow"></span>
    <span class="arrow right-arrow"></span>

    src/css/index.scss

                    .arrow{
                      font-family: Helvetica Neue,Helvetica,Arial,sans-serif;
                      font-size: 70px;
                      color: #fff;
                      top: 50%;
                      margin-top: -45px;
                      cursor: pointer;
                      position: absolute;
                      display: none;
                    }
    
                    .left-arrow{
                      left: 20px;
                    }
    
                    .right-arrow{
                      right: 20px;
                    }

    src/js/index.js

    //初始化
    function Banner() {
        this.bannerGroup = $("#banner-group");
        this.index = 0;
        this.leftArrow = $('.left-arrow');
        this.rightArrow = $('.right-arrow');
        this.listenBannerHover();
    };
    
    Banner.prototype.toggleArrow = function (isShow) {
        if(isShow) {
            var self = this;
            self.leftArrow.show();
            self.rightArrow.show();
        }else{
            self.leftArrow.hide();
            self.rightArrow.hide();
        }
    };
    
    Banner.prototype.listenBannerHover = function (){
      var self = this;
      this.bannerGroup.hover(function () {
          //鼠标移动到上面
          clearInterval(self.timer);
          self.toggleArrow(true);
      },function () {
          //鼠标离开
          self.loop();
          self.toggleArrow(false);
      });
    };

    4.7.轮播图上下切换

    gulpfile.js

    var util = require("gulp-util");
    var sourcemaps = require("gulp-sourcemaps");
    
    
    //js任务
    gulp.task("js",done =>{
        gulp.src("./src/js/*.js")
        .pipe(sourcemaps.init())
        .pipe(uglify().on('error',util.log))
        .pipe(rename({"suffix":".min"}))
        .pipe(sourcemaps.write())
        .pipe(gulp.dest('./dist/js/'))
        .pipe(bs.reload({
            stream: true
        }));
        done();
    });

    src/js/index.js

    //初始化
    function Banner() {
        this.bannerGroup = $("#banner-group");
        this.index = 0;
        this.leftArrow = $('.left-arrow');
        this.rightArrow = $('.right-arrow');
        //获取li标签的数量,去控制点轮播图的箭头,下一张上一张图片
        this.bannerUL = $("#banner-ul");
        this.liList = this.bannerUL.children("li");
        this.bannerCount = this.liList.length;
        this.listenBannerHover();
    };
    
    Banner.prototype.animate = function () {
        var self = this;
        self.bannerUL.animate({"left":-798*self.index},500);
    };
    
    
    Banner.prototype.listenArrowClick = function () {
        var self = this;
        self.leftArrow.click(function () {
           if(self.index === 0){
               self.index = self.bannerCount - 1;
           }else{
               self.index --;
           }
           self.animate();
        });
    
        self.rightArrow.click(function () {
           if(self.index === self.bannerCount - 1){
               self.index = 0;
           }else{
               self.index ++;
           }
           self.animate();
        });
    };
    
    //添加一个run方法
    Banner.prototype.run = function () {
        this.loop();
        this.listenArrowClick();
    };

    4.8.小圆点结果和样式

    templates/news/index.html

                       <div class="page-control-group">
                            <ul class="page-control">
                                <li class="active" ></li>
                                <li ></li>
                                <li></li>
                                <li></li>
                            </ul>
                        </div>            

    src/css/index.scss

                 .page-control-group{
                        position: absolute;
                        left: 0;
                        right: 0;
                        bottom: 20px;
    
                        .page-control{
                            margin: 0 auto;
                            overflow: hidden;
                            width: 12*4px+8*2px+16*3px;
    
                            li{
                                width: 12px;
                                height: 12px;
                                border: 1px solid #fff;
                                border-radius: 50%;
                                float: left;
                                margin: 0 8px;
                                box-sizing: border-box;
                                cursor: pointer;
                                &.active{
                                    background: #ffffff;
                                }
                            }
                        }
     
     
     
  • 相关阅读:
    Spark SQL (一)
    hdu 3729 最大匹配
    1350 Taxi Cab Scheme DAG最小路径覆盖
    hdu 2768 Cat vs. Dog 最大独立集 巧妙的建图
    hdu 2444 The Accomodation of Students 判断是否构成二分图 + 最大匹配
    hdu1507 最大匹配
    二分图的最大独立集 最大匹配解题 Hopcroft-Karp算法
    有向无环图的最小路径覆盖 二分图模型解题
    二分图最小点覆盖
    hdu3488 / hdu3435 / hdu1853 最小费用最大流 圈 拆点
  • 原文地址:https://www.cnblogs.com/gaidy/p/12107005.html
Copyright © 2020-2023  润新知