2.3.5 案例講解-購物車選中商品添加背景
案例效果圖:
思路:
- 選中的商品添加背景,不選中移除背景即可
- 全選按鈕點擊:如果全選是選中的,則所有的商品添加背景,否則移除背景
- 小的複選框點擊: 如果是選中狀態,則當前商品添加背景,否則移除背景
- 這個背景,可以通過類名修改,添加類和刪除類
代碼演示:
html:
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>我的購物車-品優購</title>
<meta name="description" content="品優購JD.COM-專業的綜合網上購物商城,銷售家電、數碼通訊、電腦、家居百貨、服裝服飾、母嬰、圖書、食品等數萬個品牌優質商品.便捷、誠信的服務,爲您提供愉悅的網上購物體驗!" />
<meta name="Keywords" content="網上購物,網上商城,手機,筆記本,電腦,MP3,CD,VCD,DV,相機,數碼,配件,手錶,存儲卡,品優購" />
<!-- 引入facicon.ico網頁圖標 -->
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
<!-- 引入css 初始化的css 文件 -->
<link rel="stylesheet" href="css/base.css">
<!-- 引入公共樣式的css 文件 -->
<link rel="stylesheet" href="css/common.css">
<!-- 引入car css -->
<link rel="stylesheet" href="css/car.css">
<!-- 先引入jquery -->
<script src="http://libs.baidu.com/jquery/1.11.3/jquery.min.js"></script>
<!-- 在引入我們自己的js文件 -->
<script src="js/car.js"></script>
</head>
<body>
<!-- 頂部快捷導航start -->
<div class="shortcut">
<div class="w">
<div class="fl">
<ul>
<li>品優購歡迎您! </li>
<li>
<a href="#">請登錄</a>
<a href="#" class="style-red">免費註冊</a>
</li>
</ul>
</div>
<div class="fr">
<ul>
<li><a href="#">我的訂單</a></li>
<li class="spacer"></li>
<li>
<a href="#">我的品優購</a>
<i class="icomoon"></i>
</li>
<li class="spacer"></li>
<li><a href="#">品優購會員</a></li>
<li class="spacer"></li>
<li><a href="#">企業採購</a></li>
<li class="spacer"></li>
<li><a href="#">關注品優購</a> <i class="icomoon"></i></li>
<li class="spacer"></li>
<li><a href="#">客戶服務</a> <i class="icomoon"></i></li>
<li class="spacer"></li>
<li><a href="#">網站導航</a> <i class="icomoon"></i></li>
</ul>
</div>
</div>
</div>
<!-- 頂部快捷導航end -->
<div class="car-header">
<div class="w">
<div class="car-logo">
<img src="img/logo.png" alt=""> <b>購物車</b>
</div>
</div>
</div>
<div class="c-container">
<div class="w">
<div class="cart-filter-bar">
<em>全部商品</em>
</div>
<!-- 購物車主要核心區域 -->
<div class="cart-warp">
<!-- 頭部全選模塊 -->
<div class="cart-thead">
<div class="t-checkbox">
<input type="checkbox" name="" id="" class="checkall"> 全選
</div>
<div class="t-goods">商品</div>
<div class="t-price">單價</div>
<div class="t-num">數量</div>
<div class="t-sum">小計</div>
<div class="t-action">操作</div>
</div>
<!-- 商品詳細模塊 -->
<div class="cart-item-list">
<div class="cart-item check-cart-item">
<div class="p-checkbox">
<input type="checkbox" name="" id="" checked class="j-checkbox">
</div>
<div class="p-goods">
<div class="p-img">
<img src="upload/p1.jpg" alt="">
</div>
<div class="p-msg">【5本26.8元】經典兒童文學彩圖青少版八十天環遊地球中學生語文教學大綱</div>
</div>
<div class="p-price">¥12.60</div>
<div class="p-num">
<div class="quantity-form">
<a href="javascript:;" class="decrement">-</a>
<input type="text" class="itxt" value="1">
<a href="javascript:;" class="increment">+</a>
</div>
</div>
<div class="p-sum">¥12.60</div>
<div class="p-action"><a href="javascript:;">刪除</a></div>
</div>
<div class="cart-item">
<div class="p-checkbox">
<input type="checkbox" name="" id="" class="j-checkbox">
</div>
<div class="p-goods">
<div class="p-img">
<img src="upload/p2.jpg" alt="">
</div>
<div class="p-msg">【2000張貼紙】貼紙書 3-6歲 貼畫兒童 貼畫書全套12冊 貼畫 貼紙兒童 汽</div>
</div>
<div class="p-price">¥24.80</div>
<div class="p-num">
<div class="quantity-form">
<a href="javascript:;" class="decrement">-</a>
<input type="text" class="itxt" value="1">
<a href="javascript:;" class="increment">+</a>
</div>
</div>
<div class="p-sum">¥24.80</div>
<div class="p-action"><a href="javascript:;">刪除</a></div>
</div>
<div class="cart-item">
<div class="p-checkbox">
<input type="checkbox" name="" id="" class="j-checkbox">
</div>
<div class="p-goods">
<div class="p-img">
<img src="upload/p3.jpg" alt="">
</div>
<div class="p-msg">唐詩三百首+成語故事全2冊 一年級課外書 精裝注音兒童版 小學生二三年級課外閱讀書籍</div>
</div>
<div class="p-price">¥29.80</div>
<div class="p-num">
<div class="quantity-form">
<a href="javascript:;" class="decrement">-</a>
<input type="text" class="itxt" value="1">
<a href="javascript:;" class="increment">+</a>
</div>
</div>
<div class="p-sum">¥29.80</div>
<div class="p-action"><a href="javascript:;">刪除</a></div>
</div>
</div>
<!-- 結算模塊 -->
<div class="cart-floatbar">
<div class="select-all">
<input type="checkbox" name="" id="" class="checkall">全選
</div>
<div class="operation">
<a href="javascript:;" class="remove-batch"> 刪除選中的商品</a>
<a href="javascript:;" class="clear-all">清理購物車</a>
</div>
<div class="toolbar-right">
<div class="amount-sum">已經選<em>1</em>件商品</div>
<div class="price-sum">總價: <em>¥12.60</em></div>
<div class="btn-area">去結算</div>
</div>
</div>
</div>
</div>
</div>
<!-- footer start -->
<div class="footer">
<div class="w">
<!-- mod_service -->
<div class="mod_service">
<ul>
<li>
<i class="mod-service-icon mod_service_zheng"></i>
<div class="mod_service_tit">
<h5>正品保障</h5>
<p>正品保障,提供發票</p>
</div>
</li>
<li>
<i class="mod-service-icon mod_service_kuai"></i>
<div class="mod_service_tit">
<h5>正品保障</h5>
<p>正品保障,提供發票</p>
</div>
</li>
<li>
<i class="mod-service-icon mod_service_bao"></i>
<div class="mod_service_tit">
<h5>正品保障</h5>
<p>正品保障,提供發票</p>
</div>
</li>
<li>
<i class="mod-service-icon mod_service_bao"></i>
<div class="mod_service_tit">
<h5>正品保障</h5>
<p>正品保障,提供發票</p>
</div>
</li>
<li>
<i class="mod-service-icon mod_service_bao"></i>
<div class="mod_service_tit">
<h5>正品保障</h5>
<p>正品保障,提供發票</p>
</div>
</li>
</ul>
</div>
<!-- mod_help -->
<div class="mod_help">
<dl class="mod_help_item">
<dt>購物指南</dt>
<dd> <a href="#">購物流程 </a></dd>
<dd> <a href="#">會員介紹 </a></dd>
<dd> <a href="#">生活旅行/團購 </a></dd>
<dd> <a href="#">常見問題 </a></dd>
<dd> <a href="#">大家電 </a></dd>
<dd> <a href="#">聯繫客服 </a></dd>
</dl>
<dl class="mod_help_item">
<dt>購物指南</dt>
<dd> <a href="#">購物流程 </a></dd>
<dd> <a href="#">會員介紹 </a></dd>
<dd> <a href="#">生活旅行/團購 </a></dd>
<dd> <a href="#">常見問題 </a></dd>
<dd> <a href="#">大家電 </a></dd>
<dd> <a href="#">聯繫客服 </a></dd>
</dl>
<dl class="mod_help_item">
<dt>購物指南</dt>
<dd> <a href="#">購物流程 </a></dd>
<dd> <a href="#">會員介紹 </a></dd>
<dd> <a href="#">生活旅行/團購 </a></dd>
<dd> <a href="#">常見問題 </a></dd>
<dd> <a href="#">大家電 </a></dd>
<dd> <a href="#">聯繫客服 </a></dd>
</dl>
<dl class="mod_help_item">
<dt>購物指南</dt>
<dd> <a href="#">購物流程 </a></dd>
<dd> <a href="#">會員介紹 </a></dd>
<dd> <a href="#">生活旅行/團購 </a></dd>
<dd> <a href="#">常見問題 </a></dd>
<dd> <a href="#">大家電 </a></dd>
<dd> <a href="#">聯繫客服 </a></dd>
</dl>
<dl class="mod_help_item">
<dt>購物指南</dt>
<dd> <a href="#">購物流程 </a></dd>
<dd> <a href="#">會員介紹 </a></dd>
<dd> <a href="#">生活旅行/團購 </a></dd>
<dd> <a href="#">常見問題 </a></dd>
<dd> <a href="#">大家電 </a></dd>
<dd> <a href="#">聯繫客服 </a></dd>
</dl>
<dl class="mod_help_item mod_help_app">
<dt>幫助中心</dt>
<dd>
<img src="upload/erweima.png" alt="">
<p>品優購客戶端</p>
</dd>
</dl>
</div>
<!-- mod_copyright -->
<div class="mod_copyright">
<p class="mod_copyright_links">
關於我們 | 聯繫我們 | 聯繫客服 | 商家入駐 | 營銷中心 | 手機品優購 | 友情鏈接 | 銷售聯盟 | 品優購社區 | 品優購公益 | English Site | Contact U
</p>
<p class="mod_copyright_info">
地址:北京市昌平區建材城西路金燕龍辦公樓一層 郵編:100096 電話:400-618-4000 傳真:010-82935100 郵箱: zhanghj+itcast.cn <br> 京ICP備08001421號京公網安備110108007702
</p>
</div>
</div>
</div>
<!-- footer end -->
</body>
</html>
css:
base.css
/*清除元素默認的內外邊距 */
* {
margin: 0;
padding: 0
}
/*讓所有斜體 不傾斜*/
em,
i {
font-style: normal;
}
/*去掉列表前面的小點*/
li {
list-style: none;
}
/*圖片沒有邊框 去掉圖片底側的空白縫隙*/
img {
border: 0; /*ie6*/
vertical-align: middle;
}
/*讓button 按鈕 變成小手*/
button {
cursor: pointer;
}
/*取消鏈接的下劃線*/
a {
color: #666;
text-decoration: none;
}
a:hover {
color: #e33333;
}
button,
input {
font-family: 'Microsoft YaHei', 'Heiti SC', tahoma, arial, 'Hiragino Sans GB', \\5B8B\4F53, sans-serif;
/*取消輪廓線 藍色的*/
outline: none;
}
body {
background-color: #fff;
font: 12px/1.5 'Microsoft YaHei', 'Heiti SC', tahoma, arial, 'Hiragino Sans GB', \\5B8B\4F53, sans-serif;
color: #666
}
.hide,
.none {
display: none;
}
/*清除浮動*/
.clearfix:after {
visibility: hidden;
clear: both;
display: block;
content: ".";
height: 0
}
.clearfix {
*zoom: 1
}
common.css
/* common.css */
/*公共樣式*/
.fl {
float: left;
}
.fr {
float: right;
}
@font-face {
font-family: 'icomoon';
src: url('../fonts/icomoon.eot?7kkyc2');
src: url('../fonts/icomoon.eot?7kkyc2#iefix') format('embedded-opentype'), url('../fonts/icomoon.ttf?7kkyc2') format('truetype'), url('../fonts/icomoon.woff?7kkyc2') format('woff'), url('../fonts/icomoon.svg?7kkyc2#icomoon') format('svg');
font-weight: normal;
font-style: normal;
}
.fr .icomoon {
font-family: 'icomoon';
font-size: 16px;
line-height: 26px;
}
/*版心*/
.w {
width: 1200px;
margin: 0 auto;
}
.style-red {
color: #c81623;
}
.spacer {
width: 1px;
height: 12px;
background-color: #666;
margin: 9px 12px 0;
}
/*頂部快捷導航*/
.shortcut {
height: 31px;
background-color: #f1f1f1;
line-height: 31px;
}
.shortcut li {
float: left;
}
/*header區域*/
.header {
position: relative;
height: 105px;
}
.logo {
position: absolute;
top: 25px;
left: 0;
width: 175px;
height: 56px;
}
.logo a {
display: block;
/*overflow: hidden;*/
width: 175px;
height: 56px;
background: url(../img/logo.png) no-repeat;
/*text-indent: -999px;*/
font-size: 0;
}
.search {
position: absolute;
top: 25px;
left: 348px;
}
.text {
float: left;
width: 445px;
height: 32px;
border: 2px solid #b1191a;
padding-left: 10px;
color: #ccc;
}
.btn {
float: left;
width: 82px;
height: 36px;
background-color: #b1191a;
border: 0;
font-size: 16px;
color: #fff;
}
.hotwrods {
position: absolute;
top: 65px;
left: 348px;
}
.hotwrods a {
margin: 0 10px;
}
.shopcar {
position: absolute;
top: 25px;
right: 64px;
width: 138px;
height: 34px;
border: 1px solid #dfdfdf;
background-color: #f7f7f7;
line-height: 34px;
text-align: center;
}
.car {
font-family: 'icomoon';
color: #da5555;
}
.arrow {
font-family: 'icomoon';
margin-left: 5px;
}
.count {
position: absolute;
top: -5px;
/*應該是左側對齊 文字才能往右走顯示*/
left: 100px;
background-color: #e60012;
height: 14px;
padding: 0 3px;
line-height: 14px;
color: #fff;
/*border-radius: 左上角 右上角 右下角 左下角;*/
border-radius: 7px 7px 7px 0;
}
/*nav start*/
.nav {
height: 45px;
border-bottom: 2px solid #b1191a;
}
.dropdown {
width: 209px;
height: 45px;
}
.dropdown .dt {
height: 100%;
background-color: #b1191a;
font-size: 16px;
color: #fff;
text-align: center;
line-height: 45px;
}
.dropdown .dd {
height: 465px;
background-color: #c81623;
margin-top: 2px;
}
.menu_item:hover {
background-color: #fff;
}
/*鼠標經過li 裏面的 a變顏色*/
.menu_item:hover a {
color: #c81623;
}
.menu_item {
height: 31px;
line-height: 31px;
margin-left: 1px;
padding: 0 10px;
transition: all .5s;
}
.menu_item:hover {
padding-left: 20px;
}
.menu_item a {
font-size: 14px;
color: #fff;
}
.menu_item i {
float: right;
font-family: 'icomoon';
font-size: 18px;
color: #fff;
}
.navitems {
margin-left: 10px;
}
.navitems li {
float: left;
}
.navitems li a {
display: block;
height: 45px;
padding: 0 25px;
line-height: 45px;
font-size: 16px;
}
/*footer 部分*/
.footer {
height: 386px;
background-color: #f5f5f5;
padding-top: 30px;
}
.mod_service {
height: 79px;
border-bottom: 1px solid #ccc;
}
.mod_service li {
float: left;
width: 240px;
height: 79px;
}
.mod-service-icon {
/*浮動的盒子 可以直接給大小的 不需要轉換*/
float: left;
width: 50px;
height: 50px;
margin-left: 35px;
background: url(../img/icons.png) no-repeat;
}
.mod_service_zheng {
background-position: -253px -3px;
}
.mod_service_tit {
float: left;
margin-left: 5px;
}
.mod_service_tit h5 {
margin: 5px 0;
}
.mod_service_kuai {
background-position: -255px -54px;
}
.mod_service_bao {
background-position: -257px -105px;
}
.mod_help {
height: 187px;
border-bottom: 1px solid #ccc;
}
.mod_help_item {
float: left;
width: 150px;
padding: 20px 0 0 50px;
}
.mod_help_item dt {
height: 25px;
font-size: 16px;
}
.mod_help_item dd {
height: 22px;
}
.mod_help_app dt,
.mod_help_app p {
padding-left: 15px;
}
.mod_help_app img {
margin: 7px 0;
}
.mod_copyright {
text-align: center;
}
.mod_copyright_links {
margin: 20px 0 15px 0;
}
.mod_copyright_info {
line-height: 18px;
}
cart.css
.car-header {
padding: 20px 0;
}
.car-logo img {
vertical-align: middle;
}
.car-logo b {
font-size: 20px;
margin-top: 20px;
margin-left: 10px;
}
.cart-filter-bar {
font-size: 16px;
color: #E2231A;
font-weight: 700;
}
.cart-filter-bar em {
padding: 5px;
border-bottom: 1px solid #E2231A;
}
.cart-thead {
height: 32px;
line-height: 32px;
margin: 5px 0 10px;
padding: 5px 0;
background: #f3f3f3;
border: 1px solid #e9e9e9;
border-top: 0;
position: relative;
}
.cart-thead>div,
.cart-item>div {
float: left;
}
.t-checkbox,
.p-checkbox {
height: 18px;
line-height: 18px;
padding-top: 7px;
width: 122px;
padding-left: 11px;
}
.t-goods {
width: 400px;
}
.t-price {
width: 120px;
padding-right: 40px;
text-align: right;
}
.t-num {
width: 150px;
text-align: center;
}
.t-sum {
width: 100px;
text-align: right;
}
.t-action {
width: 130px;
text-align: right;
}
.cart-item {
height: 160px;
border-style: solid;
border-width: 2px 1px 1px;
border-color: #aaa #f1f1f1 #f1f1f1;
background: #fff;
padding-top: 14px;
margin: 15px 0;
}
.check-cart-item {
background: #fff4e8;
}
.p-checkbox {
width: 50px;
}
.p-goods {
margin-top: 8px;
width: 565px;
}
.p-img {
float: left;
border: 1px solid #ccc;
padding: 5px;
}
.p-msg {
float: left;
width: 210px;
margin: 0 10px;
}
.p-price {
width: 110px;
}
.quantity-form {
width: 80px;
height: 22px;
}
.p-num {
width: 170px;
}
.decrement,
.increment {
float: left;
border: 1px solid #cacbcb;
height: 18px;
line-height: 18px;
padding: 1px 0;
width: 16px;
text-align: center;
color: #666;
margin: 0;
background: #fff;
margin-left: -1px;
}
.itxt {
float: left;
border: 1px solid #cacbcb;
width: 42px;
height: 18px;
line-height: 18px;
text-align: center;
padding: 1px;
margin: 0;
margin-left: -1px;
font-size: 12px;
font-family: verdana;
color: #333;
-webkit-appearance: none;
}
.p-sum {
font-weight: 700;
width: 145px;
}
/* 結算模塊 */
.cart-floatbar {
height: 50px;
border: 1px solid #f0f0f0;
background: #fff;
position: relative;
margin-bottom: 50px;
line-height: 50px;
}
.select-all {
float: left;
height: 18px;
line-height: 18px;
padding: 16px 0 16px 9px;
white-space: nowrap;
}
.select-all input {
vertical-align: middle;
display: inline-block;
margin-right: 5px;
}
.operation {
float: left;
width: 200px;
margin-left: 40px;
}
.clear-all {
font-weight: 700;
margin: 0 20px;
}
.toolbar-right {
float: right;
}
.amount-sum {
float: left;
}
.amount-sum em {
font-weight: 700;
color: #E2231A;
padding: 0 3px;
}
.price-sum {
float: left;
margin: 0 15px;
}
.price-sum em {
font-size: 16px;
color: #E2231A;
font-weight: 700;
}
.btn-area {
font-weight: 700;
width: 94px;
height: 52px;
line-height: 52px;
color: #fff;
text-align: center;
font-size: 18px;
font-family: "Microsoft YaHei";
background: #e54346;
overflow: hidden;
}
js:
$(function() {
$(".checkall").change(function() {
// console.log($(this).prop("checked"));
$(".j-checkbox, .checkall").prop("checked", $(this).prop("checked"));
if ($(this).prop("checked")) {
// 讓所有的商品添加 check-cart-item 類名
$(".cart-item").addClass("check-cart-item");
} else {
// check-cart-item 移除
$(".cart-item").removeClass("check-cart-item");
}
});
})
2.4 jQuery尺寸位置操作
jQuery中分別爲我們提供了兩套快速獲取和設置元素尺寸和位置的API,方便易用,內容如下。
2.4.1 jQuery尺寸操作
jQuery 尺寸操作包括元素寬高的獲取和設置,且不一樣的API對應不一樣的盒子模型。
語法:
語法 | 用法 |
---|---|
width() / height() | 取得匹配元素寬度和高度值 只算width / height |
innerWidth() / innerHeight() | 取得匹配元素寬度和高度值 包含 padding |
outerWidth() / outerHeight() | 取得匹配元素寬度和高度值 包含 padding、border |
outerWidth(true) / outerHeight(true) | 取得匹配元素寬度和高度值 包含padding、border、margin |
說明:*
- 以上參數爲空,則是獲取相應值,返回的是number類型
- 如果參數爲數字,則是修改相應的值
- 參數可以不必寫單位
代碼演示:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<style>
div {
width: 200px;
height: 200px;
background-color: pink;
padding: 10px;
border: 15px solid red;
margin: 20px;
}
</style>
<script src="http://libs.baidu.com/jquery/1.11.3/jquery.min.js"></script>
</head>
<body>
<div></div>
<script>
$(function() {
// 1. width() / height() 獲取設置元素 width和height大小
console.log($("div").width());
// $("div").width(300);
// 2. innerWidth() / innerHeight() 獲取設置元素 width和height + padding 大小
console.log($("div").innerWidth());
// 3. outerWidth() / outerHeight() 獲取設置元素 width和height + padding + border 大小
console.log($("div").outerWidth());
// 4. outerWidth(true) / outerHeight(true) 獲取設置 width和height + padding + border + margin
console.log($("div").outerWidth(true));
})
</script>
</body>
</html>
2.4.2 jQuery位置操作
jQuery的位置操作主要有三個: offset()、position()、scrollTop()/scrollLeft() , 具體介紹如下:
語法:
-
offset()設置或獲取元素偏移
- offset()方法設置或返回被選元素相對於文檔的偏移座標,跟父級沒有關係
- 該方法有2個屬性left、top。offset().top用於獲取距離文檔頂部的距離,offset().left用於獲取距離文檔左側的距離
- 可以設置元素的偏移:offsete({ left: 30, top: 10 })
-
position()獲取元素偏移
- position()方法用於返回被選元素相對於帶有定位的父級偏移座標,如果父級都沒有定位,則已文檔爲準
- 該方法有2個屬性left、top。position().top用於獲取距離定位父級頂部的距離,position().left用於獲取距離定位父級左側的距離
- 該方法只能獲取
-
scrollTop() / scrollLeft() 設置或獲取元素被捲去的頭部和左側
- scrollTop()方法設置或返回被選元素被捲去的頭部
- 不跟參數是獲取,參數爲不帶單位的數字則是設置被捲去的頭部
代碼演示:
<!--offset 和 position-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<style>
* {
margin: 0;
padding: 0;
}
.father {
width: 400px;
height: 400px;
background-color: pink;
margin: 100px;
overflow: hidden;
position: relative;
}
.son {
width: 150px;
height: 150px;
background-color: purple;
position: absolute;
left: 10px;
top: 10px;
}
</style>
<script src="http://libs.baidu.com/jquery/1.11.3/jquery.min.js"></script>
</head>
<body>
<div class="father">
<div class="son"></div>
</div>
<script>
$(function() {
// 1. 獲取設置距離文檔的位置(偏移) offset
console.log($(".son").offset());
console.log($(".son").offset().top);
// $(".son").offset({
// top: 200,
// left: 200
// });
// 2. 獲取距離帶有定位父級位置(偏移) position 如果沒有帶有定位的父級,則以文檔爲準
// 這個方法只能獲取不能設置偏移
console.log($(".son").position());
// $(".son").position({
// top: 200,
// left: 200
// });
})
</script>
</body>
</html>
2.4.3 案例講解-帶有動畫的返回頂部
案例效果圖:
(media/gotop.gif)
思路:
- 獲取到盒子距離頁面頂部的距離
- 監聽頁面的滾動事件
- 當滾動的距離大於盒子距離頁面頂部的距離時,顯示返回頂部按鈕,否則不顯示
- 點擊返回頂部按鈕把html和body的scrollTop置爲0
代碼演示:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<style>
body {
height: 2000px;
}
.back {
position: fixed;
width: 50px;
height: 50px;
background-color: pink;
right: 30px;
bottom: 100px;
display: none;
}
.container {
width: 900px;
height: 500px;
background-color: skyblue;
margin: 400px auto;
}
</style>
<script src="http://libs.baidu.com/jquery/1.11.3/jquery.min.js"></script>
</head>
<body>
<div class="back">返回頂部</div>
<div class="container">
</div>
<script>
$(function() {
$(document).scrollTop(100);
// 被捲去的頭部 scrollTop() / 被捲去的左側 scrollLeft()
// 頁面滾動事件
var boxTop = $(".container").offset().top;
$(window).scroll(function() {
// console.log(11);
console.log($(document).scrollTop());
if ($(document).scrollTop() >= boxTop) {
$(".back").fadeIn();
} else {
$(".back").fadeOut();
}
});
// 返回頂部
$(".back").click(function() {
// $(document).scrollTop(0);
$("body, html").stop().animate({
scrollTop: 0
});
// $(document).stop().animate({
// scrollTop: 0
// }); 不能是文檔而是 html和body元素做動畫
})
})
</script>
</body>
</html>
2.4.4 案例講解-嚴選商城電梯導航
案例效果圖:
(media/樓梯.gif)
思路:
- 當我們滾動到 今日推薦 模塊,就讓電梯導航顯示出來
- 點擊電梯導航頁面可以滾動到相應內容區域
- 核心算法:因爲電梯導航模塊和內容區模塊一一對應的
- 當我們點擊電梯導航某個小模塊,就可以拿到當前小模塊的索引號
- 就可以把animate要移動的距離求出來:當前索引號內容區模塊它的offset().top
- 然後執行動畫即可
- 當我們點擊電梯導航某個小li, 當前小li 添加current類,兄弟移除類名
- 當我們頁面滾動到內容區域某個模塊, 左側電梯導航,相對應的小li模塊,也會添加current類, 兄弟移除current類
- 觸發的事件是頁面滾動,因此這個功能要寫到頁面滾動事件裏面
- 需要用到each,遍歷內容區域大模塊。 each裏面能拿到內容區域每一個模塊元素和索引號
- 判斷的條件: 被捲去的頭部 大於等於 內容區域裏面每個模塊的offset().top
- 就利用這個索引號找到相應的電梯導航小li添加類
案例目錄結構:
(media/電梯導航結構.png)
代碼演示:
html:
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>品優購-綜合網購首選-正品低價、品質保障、配送及時、輕鬆購物!</title>
<meta name="description" content="品優購JD.COM-專業的綜合網上購物商城,銷售家電、數碼通訊、電腦、家居百貨、服裝服飾、母嬰、圖書、食品等數萬個品牌優質商品.便捷、誠信的服務,爲您提供愉悅的網上購物體驗!" />
<meta name="Keywords" content="網上購物,網上商城,手機,筆記本,電腦,MP3,CD,VCD,DV,相機,數碼,配件,手錶,存儲卡,品優購" />
<!-- 引入facicon.ico網頁圖標 -->
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
<!-- 引入css 初始化的css 文件 -->
<link rel="stylesheet" href="css/base.css">
<!-- 引入公共樣式的css 文件 -->
<link rel="stylesheet" href="css/common.css">
<!-- 引入 首頁的css文件 -->
<link rel="stylesheet" href="css/index.css">
<script src="http://libs.baidu.com/jquery/1.11.3/jquery.min.js"></script>
<script src="js/index.js"></script>
</head>
<body>
<!-- 頂部快捷導航start -->
<div class="shortcut">
<div class="w">
<div class="fl">
<ul>
<li>品優購歡迎您! </li>
<li>
<a href="#">請登錄</a>
<a href="#" class="style-red">免費註冊</a>
</li>
</ul>
</div>
<div class="fr">
<ul>
<li><a href="#">我的訂單</a></li>
<li class="spacer"></li>
<li>
<a href="#">我的品優購</a>
<i class="icomoon"></i>
</li>
<li class="spacer"></li>
<li><a href="#">品優購會員</a></li>
<li class="spacer"></li>
<li><a href="#">企業採購</a></li>
<li class="spacer"></li>
<li><a href="#">關注品優購</a> <i class="icomoon"></i></li>
<li class="spacer"></li>
<li><a href="#">客戶服務</a> <i class="icomoon"></i></li>
<li class="spacer"></li>
<li><a href="#">網站導航</a> <i class="icomoon"></i></li>
</ul>
</div>
</div>
</div>
<!-- 頂部快捷導航end -->
<!-- header製作 -->
<div class="header w">
<!-- logo -->
<div class="logo">
<h1>
<a href="index.html" title="品優購">品優購</a>
</h1>
</div>
<!-- search -->
<div class="search">
<input type="text" class="text" value="請搜索內容...">
<button class="btn">搜索</button>
</div>
<!-- hotwrods -->
<div class="hotwrods">
<a href="#" class="style-red">優惠購首發</a>
<a href="#">億元優惠</a>
<a href="#">9.9元團購</a>
<a href="#">美滿99減30</a>
<a href="#">辦公用品</a>
<a href="#">電腦</a>
<a href="#">通信</a>
</div>
<div class="shopcar">
<i class="car"> </i>我的購物車 <i class="arrow"> </i>
<i class="count">80</i>
</div>
</div>
<!-- header 結束 -->
<!-- nav start -->
<div class="nav">
<div class="w">
<div class="dropdown fl">
<div class="dt"> 全部商品分類 </div>
<div class="dd">
<ul>
<li class="menu_item"><a href="#">家用電器</a> <i> </i> </li>
<li class="menu_item">
<a href="list.html">手機</a> 、
<a href="#">數碼</a> 、
<a href="#">通信</a>
<i> </i>
</li>
<li class="menu_item"><a href="#">電腦、辦公</a> <i> </i> </li>
<li class="menu_item"><a href="#">家居、傢俱、家裝、廚具</a> <i> </i> </li>
<li class="menu_item"><a href="#">男裝、女裝、童裝、內衣</a> <i> </i> </li>
<li class="menu_item"><a href="#">個戶化妝、清潔用品、寵物</a> <i> </i> </li>
<li class="menu_item"><a href="#">鞋靴、箱包、珠寶、奢侈品</a> <i> </i> </li>
<li class="menu_item"><a href="#">運動戶外、鐘錶</a> <i> </i> </li>
<li class="menu_item"><a href="#">汽車、汽車用品</a> <i> </i> </li>
<li class="menu_item"><a href="#">母嬰、玩具樂器</a> <i> </i> </li>
<li class="menu_item"><a href="#">食品、酒類、生鮮、特產</a> <i> </i> </li>
<li class="menu_item"><a href="#">醫藥保健</a> <i> </i> </li>
<li class="menu_item"><a href="#">圖書、音像、電子書</a> <i> </i> </li>
<li class="menu_item"><a href="#">彩票、旅行、充值、票務</a> <i> </i> </li>
<li class="menu_item"><a href="#">理財、衆籌、白條、保險</a> <i> </i> </li>
</ul>
</div>
</div>
<!-- 右側導航 -->
<div class="navitems fl">
<ul>
<li><a href="#">服裝城</a></li>
<li><a href="#">美妝館</a></li>
<li><a href="#">傳智超市</a></li>
<li><a href="#">全球購</a></li>
<li><a href="#">閃購</a></li>
<li><a href="#">團購</a></li>
<li><a href="#">拍賣</a></li>
<li><a href="#">有趣</a></li>
</ul>
</div>
</div>
</div>
<!-- nav end -->
<!-- main 模塊 -->
<div class="w">
<div class="main">
<div class="focus fl">
<!-- 左側按鈕 -->
<a href="javascript:;" class="arrow-l">
<
</a>
<!-- 右側按鈕 -->
<a href="javascript:;" class="arrow-r"> </a>
<!-- 核心的滾動區域 -->
<ul>
<li>
<a href="#"><img src="upload/focus.jpg" alt=""></a>
</li>
<li>
<a href="#"><img src="upload/focus1.jpg" alt=""></a>
</li>
<li>
<a href="#"><img src="upload/focus2.jpg" alt=""></a>
</li>
<li>
<a href="#"><img src="upload/focus3.jpg" alt=""></a>
</li>
</ul>
<!-- 小圓圈 -->
<ol class="circle"></ol>
</div>
<div class="newsflash fr">
<div class="news">
<div class="news-hd">
品優購快報
<a href="#">更多</a>
</div>
<div class="news-bd">
<ul>
<li><a href="#">【特惠】爆款耳機5折秒!</a></li>
<li><a href="#">【特惠】母親節,健康好禮低至5折!</a></li>
<li><a href="#">【特惠】爆款耳機5折秒!</a></li>
<li><a href="#">【特惠】9.9元洗100張照片!</a></li>
<li><a href="#">【特惠】長虹智能空調立省1000</a></li>
</ul>
</div>
</div>
<div class="lifeservice">
<ul>
<li>
<a href="#">
<i class="service_ico service_ico_huafei"></i>
<p>話費</p>
</a>
</li>
<li>
<a href="#">
<i class="service_ico service_ico_feiji"></i>
<p>機票</p>
</a>
<span class="hot"></span>
</li>
<li>
<a href="#">
<i class="service_ico service_ico_feiji"></i>
<p>機票</p>
</a>
</li>
<li>
<a href="#">
<i class="service_ico service_ico_feiji"></i>
<p>機票</p>
</a>
</li>
<li>
<a href="#">
<i class="service_ico service_ico_feiji"></i>
<p>機票</p>
</a>
</li>
<li>
<a href="#">
<i class="service_ico service_ico_feiji"></i>
<p>機票</p>
</a>
</li>
<li>
<a href="#">
<i class="service_ico service_ico_feiji"></i>
<p>機票</p>
</a>
</li>
<li>
<a href="#">
<i class="service_ico service_ico_feiji"></i>
<p>機票</p>
</a>
</li>
<li>
<a href="#">
<i class="service_ico service_ico_feiji"></i>
<p>機票</p>
</a>
</li>
<li>
<a href="#">
<i class="service_ico service_ico_feiji"></i>
<p>機票</p>
</a>
</li>
<li>
<a href="#">
<i class="service_ico service_ico_feiji"></i>
<p>機票</p>
</a>
</li>
<li>
<a href="#">
<i class="service_ico service_ico_feiji"></i>
<p>機票</p>
</a>
</li>
</ul>
</div>
<div class="bargain">
<img src="upload/bargain.jpg" alt="">
</div>
</div>
</div>
</div>
<!-- 推薦服務模塊 start -->
<div class="recommend w">
<div class="recom-hd fl">
<img src="img/clock.png" alt="">
<h3>今日推薦</h3>
</div>
<div class="recom-bd fl">
<ul>
<li>
<a href="#">
<img src="upload/pic.jpg" alt="">
</a>
</li>
<li>
<a href="#">
<img src="upload/pic.jpg" alt="">
</a>
</li>
<li>
<a href="#">
<img src="upload/pic.jpg" alt="">
</a>
</li>
<li class="last">
<a href="#">
<img src="upload/pic.jpg" alt="">
</a>
</li>
</ul>
</div>
</div>
<!-- 推薦服務模塊 end -->
<!-- 樓層區 start -->
<div class="floor">
<div class="jiadian w">
<div class="box-hd">
<h3>家用電器</h3>
<div class="tab-list">
<ul>
<li><a href="#" class="style-red">熱門</a>|</li>
<li><a href="#">大家電</a>|</li>
<li><a href="#">生活電器</a>|</li>
<li><a href="#">廚房電器</a>|</li>
<li><a href="#">個護健康</a>|</li>
<li><a href="#">應季電器</a>|</li>
<li><a href="#">空氣/淨水</a>|</li>
<li><a href="#">新奇特</a>|</li>
<li><a href="#">高端電器</a></li>
</ul>
</div>
</div>
<div class="box-bd">
<ul class="tab-con">
<li class="w209">
<ul class="tab-con-list">
<li>
<a href="#">節能補貼</a>
</li>
<li>
<a href="#">4K電視</a>
</li>
<li>
<a href="#">空氣淨化器</a>
</li>
<li>
<a href="#">IH電飯煲</a>
</li>
<li>
<a href="#">滾筒洗衣機</a>
</li>
<li>
<a href="#">電熱水器</a>
</li>
</ul>
<img src="upload/floor-1-1.png" alt="">
</li>
<li class="w329">
<img src="upload/pic1.jpg" alt="">
</li>
<li class="w219">
<div class="tab-con-item">
<a href="#">
<img src="upload/floor-1-2.png" alt="">
</a>
</div>
<div class="tab-con-item">
<a href="#">
<img src="upload/floor-1-3.png" alt="">
</a>
</div>
</li>
<li class="w220">
<div class="tab-con-item">
<a href="#">
<img src="upload/floor-1-4.png" alt="">
</a>
</div>
</li>
<li class="w220">
<div class="tab-con-item">
<a href="#">
<img src="upload/floor-1-5.png" alt="">
</a>
</div>
<div class="tab-con-item">
<a href="#">
<img src="upload/floor-1-6.png" alt="">
</a>
</div>
</li>
</ul>
</div>
</div>
<div class="shouji w">
<div class="box-hd">
<h3>手機通訊</h3>
<div class="tab-list">
<ul>
<li><a href="#" class="style-red">熱門</a>|</li>
<li><a href="#">大家電</a>|</li>
<li><a href="#">生活電器</a>|</li>
<li><a href="#">廚房電器</a>|</li>
<li><a href="#">個護健康</a>|</li>
<li><a href="#">應季電器</a>|</li>
<li><a href="#">空氣/淨水</a>|</li>
<li><a href="#">新奇特</a>|</li>
<li><a href="#">高端電器</a></li>
</ul>
</div>
</div>
<div class="box-bd">
<ul class="tab-con">
<li class="w209">
<ul class="tab-con-list">
<li>
<a href="#">節能補貼</a>
</li>
<li>
<a href="#">4K電視</a>
</li>
<li>
<a href="#">空氣淨化器</a>
</li>
<li>
<a href="#">IH電飯煲</a>
</li>
<li>
<a href="#">滾筒洗衣機</a>
</li>
<li>
<a href="#">電熱水器</a>
</li>
</ul>
<img src="upload/floor-1-1.png" alt="">
</li>
<li class="w329">
<img src="upload/pic1.jpg" alt="">
</li>
<li class="w219">
<div class="tab-con-item">
<a href="#">
<img src="upload/floor-1-2.png" alt="">
</a>
</div>
<div class="tab-con-item">
<a href="#">
<img src="upload/floor-1-3.png" alt="">
</a>
</div>
</li>
<li class="w220">
<div class="tab-con-item">
<a href="#">
<img src="upload/floor-1-4.png" alt="">
</a>
</div>
</li>
<li class="w220">
<div class="tab-con-item">
<a href="#">
<img src="upload/floor-1-5.png" alt="">
</a>
</div>
<div class="tab-con-item">
<a href="#">
<img src="upload/floor-1-6.png" alt="">
</a>
</div>
</li>
</ul>
</div>
</div>
<div class="diannao w">
<div class="box-hd">
<h3>電腦辦公</h3>
<div class="tab-list">
<ul>
<li><a href="#" class="style-red">熱門</a>|</li>
<li><a href="#">大家電</a>|</li>
<li><a href="#">生活電器</a>|</li>
<li><a href="#">廚房電器</a>|</li>
<li><a href="#">個護健康</a>|</li>
<li><a href="#">應季電器</a>|</li>
<li><a href="#">空氣/淨水</a>|</li>
<li><a href="#">新奇特</a>|</li>
<li><a href="#">高端電器</a></li>
</ul>
</div>
</div>
<div class="box-bd">
<ul class="tab-con">
<li class="w209">
<ul class="tab-con-list">
<li>
<a href="#">節能補貼</a>
</li>
<li>
<a href="#">4K電視</a>
</li>
<li>
<a href="#">空氣淨化器</a>
</li>
<li>
<a href="#">IH電飯煲</a>
</li>
<li>
<a href="#">滾筒洗衣機</a>
</li>
<li>
<a href="#">電熱水器</a>
</li>
</ul>
<img src="upload/floor-1-1.png" alt="">
</li>
<li class="w329">
<img src="upload/pic1.jpg" alt="">
</li>
<li class="w219">
<div class="tab-con-item">
<a href="#">
<img src="upload/floor-1-2.png" alt="">
</a>
</div>
<div class="tab-con-item">
<a href="#">
<img src="upload/floor-1-3.png" alt="">
</a>
</div>
</li>
<li class="w220">
<div class="tab-con-item">
<a href="#">
<img src="upload/floor-1-4.png" alt="">
</a>
</div>
</li>
<li class="w220">
<div class="tab-con-item">
<a href="#">
<img src="upload/floor-1-5.png" alt="">
</a>
</div>
<div class="tab-con-item">
<a href="#">
<img src="upload/floor-1-6.png" alt="">
</a>
</div>
</li>
</ul>
</div>
</div>
<div class="jiaju w">
<div class="box-hd">
<h3>精品傢俱</h3>
<div class="tab-list">
<ul>
<li><a href="#" class="style-red">熱門</a>|</li>
<li><a href="#">大家電</a>|</li>
<li><a href="#">生活電器</a>|</li>
<li><a href="#">廚房電器</a>|</li>
<li><a href="#">個護健康</a>|</li>
<li><a href="#">應季電器</a>|</li>
<li><a href="#">空氣/淨水</a>|</li>
<li><a href="#">新奇特</a>|</li>
<li><a href="#">高端電器</a></li>
</ul>
</div>
</div>
<div class="box-bd">
<ul class="tab-con">
<li class="w209">
<ul class="tab-con-list">
<li>
<a href="#">節能補貼</a>
</li>
<li>
<a href="#">4K電視</a>
</li>
<li>
<a href="#">空氣淨化器</a>
</li>
<li>
<a href="#">IH電飯煲</a>
</li>
<li>
<a href="#">滾筒洗衣機</a>
</li>
<li>
<a href="#">電熱水器</a>
</li>
</ul>
<img src="upload/floor-1-1.png" alt="">
</li>
<li class="w329">
<img src="upload/pic1.jpg" alt="">
</li>
<li class="w219">
<div class="tab-con-item">
<a href="#">
<img src="upload/floor-1-2.png" alt="">
</a>
</div>
<div class="tab-con-item">
<a href="#">
<img src="upload/floor-1-3.png" alt="">
</a>
</div>
</li>
<li class="w220">
<div class="tab-con-item">
<a href="#">
<img src="upload/floor-1-4.png" alt="">
</a>
</div>
</li>
<li class="w220">
<div class="tab-con-item">
<a href="#">
<img src="upload/floor-1-5.png" alt="">
</a>
</div>
<div class="tab-con-item">
<a href="#">
<img src="upload/floor-1-6.png" alt="">
</a>
</div>
</li>
</ul>
</div>
</div>
</div>
<!-- 樓層區 end -->
<!-- 固定電梯導航 -->
<div class="fixedtool">
<ul>
<li class="current">家用電器</li>
<li>手機通訊</li>
<li>電腦辦公</li>
<li>精品傢俱</li>
</ul>
</div>
<!-- footer start -->
<div class="footer">
<div class="w">
<!-- mod_service -->
<div class="mod_service">
<ul>
<li>
<i class="mod-service-icon mod_service_zheng"></i>
<div class="mod_service_tit">
<h5>正品保障</h5>
<p>正品保障,提供發票</p>
</div>
</li>
<li>
<i class="mod-service-icon mod_service_kuai"></i>
<div class="mod_service_tit">
<h5>正品保障</h5>
<p>正品保障,提供發票</p>
</div>
</li>
<li>
<i class="mod-service-icon mod_service_bao"></i>
<div class="mod_service_tit">
<h5>正品保障</h5>
<p>正品保障,提供發票</p>
</div>
</li>
<li>
<i class="mod-service-icon mod_service_bao"></i>
<div class="mod_service_tit">
<h5>正品保障</h5>
<p>正品保障,提供發票</p>
</div>
</li>
<li>
<i class="mod-service-icon mod_service_bao"></i>
<div class="mod_service_tit">
<h5>正品保障</h5>
<p>正品保障,提供發票</p>
</div>
</li>
</ul>
</div>
<!-- mod_help -->
<div class="mod_help">
<dl class="mod_help_item">
<dt>購物指南</dt>
<dd> <a href="#">購物流程 </a></dd>
<dd> <a href="#">會員介紹 </a></dd>
<dd> <a href="#">生活旅行/團購 </a></dd>
<dd> <a href="#">常見問題 </a></dd>
<dd> <a href="#">大家電 </a></dd>
<dd> <a href="#">聯繫客服 </a></dd>
</dl>
<dl class="mod_help_item">
<dt>購物指南</dt>
<dd> <a href="#">購物流程 </a></dd>
<dd> <a href="#">會員介紹 </a></dd>
<dd> <a href="#">生活旅行/團購 </a></dd>
<dd> <a href="#">常見問題 </a></dd>
<dd> <a href="#">大家電 </a></dd>
<dd> <a href="#">聯繫客服 </a></dd>
</dl>
<dl class="mod_help_item">
<dt>購物指南</dt>
<dd> <a href="#">購物流程 </a></dd>
<dd> <a href="#">會員介紹 </a></dd>
<dd> <a href="#">生活旅行/團購 </a></dd>
<dd> <a href="#">常見問題 </a></dd>
<dd> <a href="#">大家電 </a></dd>
<dd> <a href="#">聯繫客服 </a></dd>
</dl>
<dl class="mod_help_item">
<dt>購物指南</dt>
<dd> <a href="#">購物流程 </a></dd>
<dd> <a href="#">會員介紹 </a></dd>
<dd> <a href="#">生活旅行/團購 </a></dd>
<dd> <a href="#">常見問題 </a></dd>
<dd> <a href="#">大家電 </a></dd>
<dd> <a href="#">聯繫客服 </a></dd>
</dl>
<dl class="mod_help_item">
<dt>購物指南</dt>
<dd> <a href="#">購物流程 </a></dd>
<dd> <a href="#">會員介紹 </a></dd>
<dd> <a href="#">生活旅行/團購 </a></dd>
<dd> <a href="#">常見問題 </a></dd>
<dd> <a href="#">大家電 </a></dd>
<dd> <a href="#">聯繫客服 </a></dd>
</dl>
<dl class="mod_help_item mod_help_app">
<dt>幫助中心</dt>
<dd>
<img src="upload/erweima.png" alt="">
<p>品優購客戶端</p>
</dd>
</dl>
</div>
<!-- mod_copyright -->
<div class="mod_copyright">
<p class="mod_copyright_links">
關於我們 | 聯繫我們 | 聯繫客服 | 商家入駐 | 營銷中心 | 手機品優購 | 友情鏈接 | 銷售聯盟 | 品優購社區 | 品優購公益 | English Site | Contact U
</p>
<p class="mod_copyright_info">
地址:北京市昌平區建材城西路金燕龍辦公樓一層 郵編:100096 電話:400-618-4000 傳真:010-82935100 郵箱: zhanghj+itcast.cn <br> 京ICP備08001421號京公網安備110108007702
</p>
</div>
</div>
</div>
<!-- footer end -->
</body>
</html>
css:
base.css:
/*清除元素默認的內外邊距 */
* {
margin: 0;
padding: 0
}
/*讓所有斜體 不傾斜*/
em,
i {
font-style: normal;
}
/*去掉列表前面的小點*/
li {
list-style: none;
}
/*圖片沒有邊框 去掉圖片底側的空白縫隙*/
img {
border: 0; /*ie6*/
vertical-align: middle;
}
/*讓button 按鈕 變成小手*/
button {
cursor: pointer;
}
/*取消鏈接的下劃線*/
a {
color: #666;
text-decoration: none;
}
a:hover {
color: #e33333;
}
button,
input {
font-family: 'Microsoft YaHei', 'Heiti SC', tahoma, arial, 'Hiragino Sans GB', \\5B8B\4F53, sans-serif;
/*取消輪廓線 藍色的*/
outline: none;
}
body {
background-color: #fff;
font: 12px/1.5 'Microsoft YaHei', 'Heiti SC', tahoma, arial, 'Hiragino Sans GB', \\5B8B\4F53, sans-serif;
color: #666
}
.hide,
.none {
display: none;
}
/*清除浮動*/
.clearfix:after {
visibility: hidden;
clear: both;
display: block;
content: ".";
height: 0
}
.clearfix {
*zoom: 1
}
common.css:
/*公共樣式*/
.fl {
float: left;
}
.fr {
float: right;
}
@font-face {
font-family: 'icomoon';
src: url('../fonts/icomoon.eot?7kkyc2');
src: url('../fonts/icomoon.eot?7kkyc2#iefix') format('embedded-opentype'),
url('../fonts/icomoon.ttf?7kkyc2') format('truetype'),
url('../fonts/icomoon.woff?7kkyc2') format('woff'),
url('../fonts/icomoon.svg?7kkyc2#icomoon') format('svg');
font-weight: normal;
font-style: normal;
}
.fr .icomoon {
font-family: 'icomoon';
font-size: 16px;
line-height: 26px;
}
/*版心*/
.w {
width: 1200px;
margin: 0 auto;
}
.style-red {
color: #c81623;
}
.spacer {
width: 1px;
height: 12px;
background-color: #666;
margin: 9px 12px 0;
}
/*頂部快捷導航*/
.shortcut {
height: 31px;
background-color: #f1f1f1;
line-height: 31px;
}
.shortcut li {
float: left;
}
/*header區域*/
.header {
position: relative;
height: 105px;
}
.logo {
position: absolute;
top: 25px;
left: 0;
width: 175px;
height: 56px;
}
.logo a {
display: block;
/*overflow: hidden;*/
width: 175px;
height: 56px;
background: url(../img/logo.png) no-repeat;
/*text-indent: -999px;*/
font-size: 0;
}
.search {
position: absolute;
top: 25px;
left: 348px;
}
.text {
float: left;
width: 445px;
height: 32px;
border: 2px solid #b1191a;
padding-left: 10px;
color: #ccc;
}
.btn {
float: left;
width: 82px;
height: 36px;
background-color: #b1191a;
border: 0;
font-size: 16px;
color: #fff;
}
.hotwrods {
position: absolute;
top: 65px;
left: 348px;
}
.hotwrods a {
margin: 0 10px;
}
.shopcar {
position: absolute;
top:25px;
right: 64px;
width: 138px;
height: 34px;
border: 1px solid #dfdfdf;
background-color: #f7f7f7;
line-height: 34px;
text-align: center;
}
.car {
font-family: 'icomoon';
color: #da5555;
}
.arrow {
font-family: 'icomoon';
margin-left: 5px;
}
.count {
position: absolute;
top: -5px;
/*應該是左側對齊 文字才能往右走顯示*/
left: 100px;
background-color: #e60012;
height: 14px;
padding: 0 3px;
line-height: 14px;
color: #fff;
/*border-radius: 左上角 右上角 右下角 左下角;*/
border-radius: 7px 7px 7px 0;
}
/*nav start*/
.nav {
height: 45px;
border-bottom: 2px solid #b1191a;
}
.dropdown {
width: 209px;
height: 45px;
}
.dropdown .dt {
height: 100%;
background-color: #b1191a;
font-size: 16px;
color: #fff;
text-align: center;
line-height: 45px;
}
.dropdown .dd {
height: 465px;
background-color: #c81623;
margin-top: 2px;
}
.menu_item:hover {
background-color: #fff;
}
/*鼠標經過li 裏面的 a變顏色*/
.menu_item:hover a {
color: #c81623;
}
.menu_item {
height: 31px;
line-height: 31px;
margin-left: 1px;
padding: 0 10px;
transition: all .5s;
}
.menu_item:hover {
padding-left: 20px;
}
.menu_item a {
font-size: 14px;
color: #fff;
}
.menu_item i {
float: right;
font-family: 'icomoon';
font-size: 18px;
color: #fff;
}
.navitems {
margin-left: 10px;
}
.navitems li {
float: left;
}
.navitems li a {
display: block;
height: 45px;
padding: 0 25px;
line-height: 45px;
font-size: 16px;
}
/*footer 部分*/
.footer {
height: 386px;
background-color: #f5f5f5;
padding-top: 30px;
}
.mod_service {
height: 79px;
border-bottom: 1px solid #ccc;
}
.mod_service li {
float: left;
width: 240px;
height: 79px;
}
.mod-service-icon {
/*浮動的盒子 可以直接給大小的 不需要轉換*/
float: left;
width: 50px;
height: 50px;
margin-left: 35px;
background: url(../img/icons.png) no-repeat;
}
.mod_service_zheng {
background-position: -253px -3px;
}
.mod_service_tit {
float: left;
margin-left: 5px;
}
.mod_service_tit h5 {
margin: 5px 0;
}
.mod_service_kuai {
background-position: -255px -54px;
}
.mod_service_bao {
background-position: -257px -105px;
}
.mod_help {
height: 187px;
border-bottom: 1px solid #ccc;
}
.mod_help_item {
float: left;
width: 150px;
padding: 20px 0 0 50px;
}
.mod_help_item dt {
height: 25px;
font-size: 16px;
}
.mod_help_item dd {
height: 22px;
}
.mod_help_app dt,
.mod_help_app p {
padding-left: 15px;
}
.mod_help_app img {
margin: 7px 0;
}
.mod_copyright {
text-align: center;
}
.mod_copyright_links {
margin: 20px 0 15px 0;
}
.mod_copyright_info {
line-height: 18px;
}
index.css:
/*這個文件裏面放的是 首頁的樣式*/
.main {
width: 980px;
height: 455px;
margin-left: 219px;
margin-top: 10px;
}
.focus {
position: relative;
width: 721px;
height: 455px;
background-color: purple;
overflow: hidden;
}
.focus ul {
position: absolute;
top: 0;
left: 0;
width: 600%;
}
.focus ul li {
float: left;
}
.arrow-l,
.arrow-r {
display: none;
position: absolute;
top: 50%;
margin-top: -20px;
width: 24px;
height: 40px;
background: rgba(0, 0, 0, .3);
text-align: center;
line-height: 40px;
color: #fff;
font-family: 'icomoon';
font-size: 18px;
z-index: 2;
}
.arrow-r {
right: 0;
}
.circle {
position: absolute;
bottom: 10px;
left: 50px;
}
.circle li {
float: left;
width: 8px;
height: 8px;
/*background-color: #fff;*/
border: 2px solid rgba(255, 255, 255, 0.5);
margin: 0 3px;
border-radius: 50%;
/*鼠標經過顯示小手*/
cursor: pointer;
}
.current {
background-color: #fff;
}
.newsflash {
width: 250px;
height: 455px;
}
.news {
height: 163px;
border: 1px solid #ccc;
}
.news-hd {
height: 32px;
/*dotted 點線 dashed 虛線*/
border-bottom: 1px dotted #ccc;
padding: 0 15px;
font-size: 14px;
line-height: 32px;
}
.news-hd a {
float: right;
font-size: 12px;
font-family: 'icomoon';
}
.news-bd {
padding: 10px 0 0 15px;
}
.news-bd li {
height: 23px;
}
.lifeservice {
overflow: hidden;
height: 208px;
border: 1px solid #ccc;
border-top: none;
}
.lifeservice ul {
width: 252px;
}
.lifeservice li {
position: relative;
float: left;
width: 62px;
height: 70px;
border-right: 1px solid #ccc;
border-bottom: 1px solid #ccc;
}
.lifeservice li a {
display: block;
/* overflow: hidden; 解決i 引起的 外邊距塌陷合併的問題*/
overflow: hidden;
height: 100%;
}
.lifeservice li p {
text-align: center;
}
.hot {
position: absolute;
right: 0;
top: 0;
width: 12px;
height: 15px;
background: url(../img/jian.jpg) no-repeat;
}
.service_ico {
display: block;
width: 24px;
height: 24px;
background: url(../img/icons.png) no-repeat;
margin: 10px auto;
}
.service_ico_huafei {
background-position: -17px -16px;
}
.service_ico_feiji {
width: 26px;
background-position: -78px -16px;
}
.bargain {
height: 75px;
margin-top: 5px;
}
/*推薦模塊*/
.recommend {
height: 163px;
margin-top: 10px;
}
.recom-hd {
width: 200px;
height: 163px;
background-color: #5c5251;
text-align: center;
}
.recom-hd img {
margin: 30px 0 10px 0;
}
.recom-hd h3 {
font-size: 18px;
color: #fff;
font-weight: normal;
}
.recom-bd {
width: 1000px;
height: 163px;
background-color: #ebebeb;
}
.recom-bd li {
float: left;
width: 249px;
height: 145px;
border-right: 1px solid #ccc;
margin-top: 10px;
}
.recom-bd .last {
border-right: 0;
}
/*floor 樓層區*/
.box-hd {
height: 30px;
border-bottom: 2px solid #c81623;
margin-top: 25px;
}
.box-hd h3 {
float: left;
font-size: 18px;
color: #c81623;
}
.tab-list {
float: right;
line-height: 30px;
}
.tab-list li {
float: left;
}
.tab-list li a {
margin: 0 15px;
}
.box-bd {
height: 360px;
}
.w209 {
width: 209px;
background-color: #f9f9f9;
}
.w329 {
width: 329px;
}
.w219 {
width: 219px;
border-right: 1px solid #ccc;
}
.w220 {
width: 220px;
border-right: 1px solid #ccc;
}
.tab-con li {
float: left;
height: 360px;
}
.tab-con-item {
border-bottom: 1px solid #ccc;
}
.tab-con-list {
overflow: hidden;
margin-bottom: 15px;
}
.tab-con-list li {
width: 86px;
height: 32px;
line-height: 32px;
border-bottom: 1px solid #ccc;
margin-left: 10px;
text-align: center;
}
.box-bd li {
overflow: hidden;
}
.box-bd img {
/*過渡寫到本身上, 誰做動畫,給誰加*/
transition: all .2s;
}
/*我們鼠標經過圖片 往右走 8px*/
.box-bd img:hover {
margin-left: 8px;
}
/*電梯導航*/
.fixedtool {
position: fixed;
top: 100px;
left: 50%;
margin-left: -676px;
width: 66px;
background-color: #fff;
display: none;
}
.fixedtool li {
height: 32px;
line-height: 32px;
text-align: center;
font-size: 12px;
border-bottom: 1px solid #ccc;
cursor: pointer;
}
.fixedtool .current {
background-color: #c81623;
color: #fff;
}
index.js:
$(function() {
// 當我們點擊了小li 此時不需要執行 頁面滾動事件裏面的 li 的背景選擇 添加 current
// 節流閥 互斥鎖
var flag = true;
// 1.顯示隱藏電梯導航
var toolTop = $(".recommend").offset().top;
toggleTool();
function toggleTool() {
if ($(document).scrollTop() >= toolTop) {
$(".fixedtool").fadeIn();
} else {
$(".fixedtool").fadeOut();
};
}
$(window).scroll(function() {
toggleTool();
// 3. 頁面滾動到某個內容區域,左側電梯導航小li相應添加和刪除current類名
if (flag) {
$(".floor .w").each(function(i, ele) {
if ($(document).scrollTop() >= $(ele).offset().top) {
console.log(i);
$(".fixedtool li").eq(i).addClass("current").siblings().removeClass();
}
})
}
});
// 2. 點擊電梯導航頁面可以滾動到相應內容區域
$(".fixedtool li").click(function() {
flag = false;
console.log($(this).index());
// 當我們每次點擊小li 就需要計算出頁面要去往的位置
// 選出對應索引號的內容區的盒子 計算它的.offset().top
var current = $(".floor .w").eq($(this).index()).offset().top;
// 頁面動畫滾動效果
$("body, html").stop().animate({
scrollTop: current
}, function() {
flag = true;
});
// 點擊之後,讓當前的小li 添加current 類名 ,姐妹移除current類名
$(this).addClass("current").siblings().removeClass();
})
})