Django打造大型企业官网(六)
4.9.根据轮播图个数修改小圆点数量
src/js/index.js
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
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
.header{
z-index:; .banner-group{ overflow:hidden;
z-index:;
4.11.实现自动循环无限轮播
src/js/index.js
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
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();
});
};
Django打造大型企业官网(六)的更多相关文章
- 超细讲解Django打造大型企业官网
本文为知了课堂黄勇老师讲的<超细讲解Django打造大型企业官网>的笔记. 第一章 Django预热 1.创建virtualenv虚拟环境 2.URL组成部分详解 3.Django介绍 4 ...
- Django打造大型企业官网
第1章 Django预热 1-为什么需要虚拟环境 2-virtualenv创建虚拟环境 3-virtualenvwrapper使用 4-URL组成部分讲解 5-课程准备工作 6-Django介绍 第2 ...
- Django打造大型企业官网(二)
三.项目环境搭建 3.1.创建项目环境和安装包 创建django项目 mkvirtualenv DjangoProject workon DjangoProject pip install -i ht ...
- Django打造大型企业官网(八)
4.16.侧边栏标题和广告位布局完成 templates/news/index.html <div class="sidebar-wrapper"> <div c ...
- Django打造大型企业官网(七)
4.13.新闻列表tab栏布局完成 templates/news/index.html <div class="list-outer-group"> <ul cl ...
- Django打造大型企业官网(五)
4.6.切换轮播图的箭头样式以及显示和隐藏 templates/news/index.html <span class="arrow left-arrow">‹< ...
- Django打造大型企业官网(四)
4.3.轮播图布局和样式 templates/news/index.html <div class="news-wrapper"> <div class=&quo ...
- Django打造大型企业官网(三)
四.前端首页 4.1.导航条实现 (1)templates/new/index.html <!DOCTYPE html> <html lang="en"> ...
- Django打造大型企业官网(一)
一.nvm的安装 (1)下载:nvm1.16 (2)安装完成后添加环境变量 C:\Users\Administrator\AppData\Roaming\nvm (3)修改settings.txt,将 ...
随机推荐
- KMP中next数组的理解与应用
理解 1.next数组一直往前走 next数组一直往前走,得到的所有前缀也是当前主串的后缀,当然了,也是当前主串的前缀. 2.周期性字符串 1.周期性字符串$\Leftrightarrow n \,\ ...
- bzip2 一种块排序文件压缩软件
总览 bzip2 [ -cdfkqstvzVL123456789 ] [ filenames ... ] bunzip2 [ -fkvsVL ] [ filenames ... ] bzcat [ - ...
- PHP 中 include() 与 require() 的区别说明
引用文件的方法有两种:require 及 include.两种方式提供不同的使用弹性. require 的使用方法如 require("MyRequireFile.php"); . ...
- js 判断访问终端类型
// 判断访问终端类型 var browser = { versions: function() { var u = navigator.userAgent, app = navigator.appV ...
- Vue 点击事件怎么传递 this ?
Part.1 问题 如何使上面的三个按钮单个点击后实现第一个按钮现在的样式呢? Part.2 思路 为当前点击的按钮添加一个 单独的类名,我的做法: .active { background: #3C ...
- zabbix4.2学习笔记--zabbix安装
环境 系统信息 发行版 版本 ip 关系 主机名 centos 7.5 192.168.181.135 服务端 server centos 7.5 192.168.181.136 客户端 client ...
- Linux C动态链接库实现一个插件例子
实现一个简单的计算动态链接库:升级动态链接库后,在不重新编译主程序的情况下,直接生效. lib库: #cat math.c #include <stdio.h> int add(int x ...
- 解决 python No migrations to apply 无法生成表
第一步: 删除该app名字下的migrations文件. 第二步: 进入数据库,找到django_migrations的表,删除该app名字的所有记录. delete from django_migr ...
- 图解C/C++多级指针与多维数组
声明:本文转自 chenyang_yao ,欢迎阅读原文. 指针与数组是C/C++编程中非常重要的元素,同时也是较难以理解的.其中,多级指针与“多维”数组更是让很多人云里雾里,其实,只要掌握一定的方法 ...
- 装饰器(python)
一,装饰器定义:本质就是函数,功能是为其他函数添加新功能原则:1.不修改被装饰函数的源代码(开放封闭原则)2.为被装饰函数添加新功能后,不修改被修饰函数的调用方式3.装饰器=高阶函数+函数嵌套+闭包高 ...