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:;
right:;
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;
}
}
}
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.9.根据轮播图个数修改小圆点数量 src/js/index.js function Banner() { this.bannerWidth = 798; } Banner.prototype.in ...
- 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,将 ...
随机推荐
- 表单文件上传编码方式(enctype 属性)
enctype 属性规定在发送到服务器之前应该如何对表单数据进行编码. 如下: <form action="upload.php" method="post&quo ...
- wireshark mqtt协议解析
local tcp_dissector_table = DissectorTable.get("tcp.port") local ws_dissector_table = Diss ...
- vue的[__ob__: Observer]
为什么会获取不到里面的值 因为:vue data 里面值都是有这个属性的.这是被vue接管的数据,observer是Vue核心中最重要的一个模块(个人认为),能够实现视图与数据的响应式更新,底层全凭o ...
- print keys %map_function 输出 散列的值: OK_funcsplit_funcpackage_VAR
my %map_function = ( 88 "OK_func" => "open_statement", 89 &qu ...
- [Python3网络爬虫开发实战] 1.9.5-Scrapyrt的安装
Scrapyrt为Scrapy提供了一个调度的HTTP接口,有了它,我们就不需要再执行Scrapy命令而是通过请求一个HTTP接口来调度Scrapy任务了.Scrapyrt比Scrapyd更轻量,如果 ...
- python中的句柄操作
python中的句柄操作 制作人:全心全意 通过窗口标题获取句柄 import win32gui hld = win32gui.FindWindow(None,u"Adobe Acrobat ...
- Android Studio + Genymotion模拟器安装与配置
一.Android studio 下载与安装 https://developer.android.google.cn/studio/index.html 进入谷歌官方链接下载Android studi ...
- 在docker下面安装Nginx PHP mysql let's encrypt
最近自己在弄了个Nginx PHP Mysql Let's encrypt的docker,下面记录一下 1)先装 Let's encrypt docker run --rm -p 80:80 -p 4 ...
- 最近编译POCO 库和 Boost库的笔记
最近在编译POCO库和BOOST库 先讲一下编译POCO库,我编译的是1.9.0,过程相当曲折,要OPENSSL修改版本的,个OPENSSL在这里下载,如果你用一般未修改的OPENSSL 是编译不了, ...
- 国王游戏(codevs 1198)
题目描述 恰逢 H 国国庆,国王邀请 n 位大臣来玩一个有奖游戏.首先,他让每个大臣在左.右手上面分别写下一个整数,国王自己也在左.右手上各写一个整数.然后,让这 n 位大臣排成一排,国王站在队伍的最 ...