前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Django打造大型企业官网(六)

Django打造大型企业官网(六)

作者头像
zhang_derek
发布2019-06-24 09:46:21
7490
发布2019-06-24 09:46:21
举报
文章被收录于专栏:有趣的django有趣的django

4.9.根据轮播图个数修改小圆点数量

src/js/index.js

代码语言:javascript
复制
function Banner() {
    this.bannerWidth = 798;
}

Banner.prototype.initBanner = function () {
    var self = this;
    this.bannerUL.css({
        "width":self.bannerWidth*self.bannerCount
    })
};

Banner.prototype.initPageControl = function () {
  var self = this;
  var pageControl = $(".page-control");
  for (var i=0;i<self.bannerCount;i++){
      var circle = $("<li></li>");
      pageControl.append(circle);
      if (i === 0){
          circle.addClass("active");
      }
  }
  pageControl.css({"width":self.bannerCount*12+8*2+16*(self.bannerCount-1)});
};

Banner.prototype.run = function () {
    this.initBanner();
    this.initPageControl();
    this.loop();
    this.listenArrowClick();
};

4.10.小圆点点击事件和自动更新当前选中的小圆点

src/js/index.js

代码语言:javascript
复制
function Banner() {
        this.pageControl = $(".page-control");
};

Banner.prototype.animate = function () {
    var self = this;
    self.bannerUL.animate({"left":-798*self.index},500);
    // 通过index获取到当前的li标签,添加active样式,兄弟li标签移除active样式
    self.pageControl.children('li').eq(self.index).addClass("active").siblings().removeClass("active");
};

Banner.prototype.listenPageControl = function () {
    var self = this;
    self.pageControl.children("li").each(function (index,obj) {
        $(obj).click(function () {
            self.index = index;
            self.animate();
        });
    });
};

Banner.prototype.run = function () {
    this.listenBannerHover();
};

src/css/scss.css

代码语言:javascript
复制
.header{
     z-index: 100;



.banner-group{

    overflow:hidden;
    z-index: 0;

4.11.实现自动循环无限轮播

src/js/index.js

代码语言:javascript
复制
function Banner() {
    this.index = 1;
};

Banner.prototype.initBanner = function () {
    var self = this;
    //实现无限轮播,原理:123-->>31231,在首尾克隆一张
    var firstBanner = self.liList.eq(0).clone();
    var lastBanner = self.liList.eq(self.bannerCount-1).clone();
    self.bannerUL.append(firstBanner);
    self.bannerUL.prepend(lastBanner);
    self.bannerUL.css({
        "width":self.bannerWidth*(self.bannerCount+2),
        "left":-self.bannerWidth,
    });
};

Banner.prototype.animate = function () {
    var self = this;
    self.bannerUL.animate({"left":-798*self.index},500);
    //小圆点的active
    var index = self.index;
    if(index === 0){
        index = self.bannerCount-1;
    }else if(index === self.bannerCount+1){
        index = 0;
    }else{
        index = self.index - 1;
    }
    // 通过index获取到当前的li标签,添加active样式,兄弟li标签移除active样式
    self.pageControl.children('li').eq(index).addClass("active").siblings().removeClass("active");
};

Banner.prototype.loop = function(){
    var self = this;
    this.timer = setInterval(function () {
        if(self.index >= self.bannerCount+1){
            self.bannerUL.css({
                "left":-self.bannerWidth,
            });
            self.index = 2;
        }else{
            self.index++;
        }
        self.animate();
    },2000);
};

4.12.左右牵头切换实现循环轮播

src/js/index.js

代码语言:javascript
复制
Banner.prototype.listenArrowClick = function () {
    var self = this;
    self.leftArrow.click(function () {
       if(self.index === 0){
           self.bannerUL.css({
              "left":-self.bannerCount*self.bannerWidth,
           });
           self.index = self.bannerCount - 1;
       }else{
           self.index --;
       }
       self.animate();
    });

    self.rightArrow.click(function () {
       if(self.index === self.bannerCount + 1){
           self.bannerUL.css({
              "left":-self.bannerWidth,
           });
           self.index = 2;
       }else{
           self.index ++;
       }
       self.animate();
    });
};
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-06-22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 4.9.根据轮播图个数修改小圆点数量
  • 4.10.小圆点点击事件和自动更新当前选中的小圆点
  • 4.11.实现自动循环无限轮播
  • 4.12.左右牵头切换实现循环轮播
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档