feat(templates): 新增绿色主题模版,并设置为默认模版
和文档站点 docs.xxyopen.com 风格保持一致
27
templates/green/static/css/about.css
Normal file
@ -0,0 +1,27 @@
|
||||
@charset "utf-8";
|
||||
.userBox { width: 998px; border: 1px solid #eaeaea; margin: 0 auto 50px; background: #fff }
|
||||
.my_l { width: 198px; float: left; font-size: 13px;
|
||||
padding-top: 20px; }
|
||||
.my_l li a { display: block; height: 48px; line-height: 48px; padding-left: 40px; border-left: 2px solid transparent; font-size: 14px; margin: 0 0 2px; }
|
||||
.my_l li .on { border-left: 2px solid #3eaf7c; background: #f8f8f8 }
|
||||
.my_r { width: 739px; padding: 30px; float: right; border-left: 1px solid #ededed; min-height: 470px; background: #fff }
|
||||
.my_r .title { padding: 15px 0 }
|
||||
.my_r h4 { font-size: 15px; color: #666; font-weight: bold }
|
||||
.newsBox { }
|
||||
.news_list .dot { width: 4px; height: 4px; border-radius: 50%; background-color: #999; display: inline-block; margin: 0 10px 3px 0; }
|
||||
.news_list li { padding: 0 0 20px; margin-bottom: 20px; border-bottom: 1px solid #f5f5f5 }
|
||||
.news_list li h5 { font-size: 14px }
|
||||
.news_list li p { color: #999; padding-top: 15px }
|
||||
.news_nav { color: #999; padding: 0px 0; line-height: 2.5; }
|
||||
.news_nav a { font: 12px/1 "Microsoft YaHei"; margin: 0 5px; }
|
||||
.news_title { text-align: center; border-bottom: 1px solid #eee; margin: 30px auto 40px; }
|
||||
.news_title h2 { font-size: 20px; }
|
||||
.news_title .from { color: #999; display: block; margin: 20px 0; }
|
||||
.news_title .time { margin-left: 20px }
|
||||
.news_title .click { margin-left: 40px }
|
||||
.news_info { padding: 0 60px; line-height: 28px; font-size: 14px; min-height:400px }
|
||||
.news_info p { margin-bottom: 30px }
|
||||
.aboutBox h2 { font-size:16px; margin-bottom:15px }
|
||||
.about_info { line-height: 28px; font-size: 14px; min-height:400px }
|
||||
.about_info p, .about_info h4 { margin-bottom: 10px }
|
||||
.news_info img { max-width: 100% }
|
967
templates/green/static/css/base.css
Normal file
@ -0,0 +1,967 @@
|
||||
@charset "utf-8";
|
||||
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, p, a, blockquote, th {
|
||||
margin: 0;
|
||||
padding: 0
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
font-size: 14px
|
||||
}
|
||||
|
||||
ol, ul, li {
|
||||
list-style: none outside none
|
||||
}
|
||||
|
||||
table {
|
||||
border-collapse: collapsse;
|
||||
border-spacing: 0
|
||||
}
|
||||
|
||||
fieldset, img {
|
||||
border: 0 none
|
||||
}
|
||||
|
||||
/*html { background: ##f5f5f5 }*/
|
||||
body {
|
||||
background: #f5f5f5;
|
||||
color: #333;
|
||||
font: 12px/1.5 PingFangSC-Regular, HelveticaNeue-Light, 'Helvetica Neue Light', 'Microsoft YaHei', sans-serif, "宋体";
|
||||
text-align: left
|
||||
}
|
||||
|
||||
input::-moz-focus-inner {
|
||||
border: none;
|
||||
padding: 0
|
||||
}
|
||||
|
||||
a img {
|
||||
border: none
|
||||
}
|
||||
|
||||
a {
|
||||
outline: none;
|
||||
color: #333;
|
||||
text-decoration: none
|
||||
}
|
||||
|
||||
a:hover, .topBar a:hover, .red, .record_list li:hover .read_link a {
|
||||
color: #3eaf7c
|
||||
}
|
||||
|
||||
.red1 {
|
||||
color: #ff4040
|
||||
}
|
||||
|
||||
.unlink {
|
||||
text-decoration: underline
|
||||
}
|
||||
|
||||
.blue {
|
||||
color: #5fc3f3
|
||||
}
|
||||
|
||||
.green {
|
||||
color: #360
|
||||
}
|
||||
|
||||
.black {
|
||||
color: #000
|
||||
}
|
||||
|
||||
.black3 {
|
||||
color: #333
|
||||
}
|
||||
|
||||
.black6 {
|
||||
color: #666
|
||||
}
|
||||
|
||||
.black9 {
|
||||
color: #999
|
||||
}
|
||||
|
||||
.ccc {
|
||||
color: #ccc
|
||||
}
|
||||
|
||||
.orange {
|
||||
color: #f60
|
||||
}
|
||||
|
||||
.font12 {
|
||||
font-size: 12px !important
|
||||
}
|
||||
|
||||
.font14 {
|
||||
font-size: 14px !important
|
||||
}
|
||||
|
||||
.font16 {
|
||||
font-size: 16px !important
|
||||
}
|
||||
|
||||
.font18 {
|
||||
font-size: 18px !important
|
||||
}
|
||||
|
||||
.font20 {
|
||||
font-size: 20px !important
|
||||
}
|
||||
|
||||
.font26 {
|
||||
font-size: 26px !important
|
||||
}
|
||||
|
||||
.ellipsis {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
word-break: keep-all
|
||||
}
|
||||
|
||||
textarea {
|
||||
resize: none;
|
||||
outline: none;
|
||||
border: 1px solid #CCC;
|
||||
font: 12px/1.8 "microsoft yahei", Arial;
|
||||
padding-left: 5px
|
||||
}
|
||||
|
||||
input {
|
||||
outline: none;
|
||||
border: none; /* padding-left: 5px; font-size: 13px;*/
|
||||
font-family: "microsoft yahei", Arial;
|
||||
*background: none
|
||||
}
|
||||
|
||||
i, em, cite {
|
||||
font-style: normal
|
||||
}
|
||||
|
||||
.layui-inline, input, label {
|
||||
vertical-align: middle
|
||||
}
|
||||
|
||||
button, input, optgroup, select, textarea {
|
||||
color: inherit;
|
||||
font: inherit;
|
||||
margin: 0;
|
||||
outline: 0
|
||||
}
|
||||
|
||||
button, select {
|
||||
text-transform: none
|
||||
}
|
||||
|
||||
/*select { -webkit-appearance: none; border: none }*/
|
||||
input {
|
||||
line-height: normal
|
||||
}
|
||||
|
||||
input[type=checkbox], input[type=radio] {
|
||||
box-sizing: border-box;
|
||||
padding: 0
|
||||
}
|
||||
|
||||
input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button {
|
||||
height: auto
|
||||
}
|
||||
|
||||
input[type=search] {
|
||||
-webkit-appearance: textfield;
|
||||
-moz-box-sizing: content-box;
|
||||
-webkit-box-sizing: content-box;
|
||||
box-sizing: content-box
|
||||
}
|
||||
|
||||
input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration {
|
||||
-webkit-appearance: none
|
||||
}
|
||||
|
||||
input[type="submit"], input[type="reset"], input[type="button"], button {
|
||||
-webkit-appearance: none
|
||||
}
|
||||
|
||||
:-moz-placeholder {
|
||||
color: #999
|
||||
}
|
||||
|
||||
::-moz-placeholder {
|
||||
color: #999
|
||||
}
|
||||
|
||||
input:-ms-input-placeholder, textarea:-ms-input-placeholder {
|
||||
color: #999
|
||||
}
|
||||
|
||||
input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
|
||||
color: #999
|
||||
}
|
||||
|
||||
.cf {
|
||||
zoom: 1
|
||||
}
|
||||
|
||||
.cf:before, .cf:after {
|
||||
content: "";
|
||||
display: table;
|
||||
display: block;
|
||||
font-size: 0;
|
||||
height: 0;
|
||||
line-height: 0;
|
||||
clear: both;
|
||||
visibility: hidden
|
||||
}
|
||||
|
||||
.cf:after {
|
||||
clear: both
|
||||
}
|
||||
|
||||
.clear {
|
||||
clear: both
|
||||
}
|
||||
|
||||
.tl {
|
||||
text-align: left
|
||||
}
|
||||
|
||||
.tc {
|
||||
text-align: center
|
||||
}
|
||||
|
||||
.tr {
|
||||
text-align: right
|
||||
}
|
||||
|
||||
.fl {
|
||||
float: left
|
||||
}
|
||||
|
||||
.fr {
|
||||
float: right
|
||||
}
|
||||
|
||||
.block {
|
||||
display: block
|
||||
}
|
||||
|
||||
.none, .hidden {
|
||||
display: none
|
||||
}
|
||||
|
||||
/*base end*/
|
||||
.channelWrap {
|
||||
background: #fff;
|
||||
border-radius: 6px;
|
||||
padding: 20px;
|
||||
margin-bottom: 20px
|
||||
}
|
||||
|
||||
.channelWrap.channelBanner {
|
||||
padding-bottom: 14px
|
||||
}
|
||||
|
||||
.wrap_left {
|
||||
width: 750px
|
||||
}
|
||||
|
||||
.wrap_right {
|
||||
width: 250px
|
||||
}
|
||||
|
||||
.wrap_inner {
|
||||
padding: 20px;
|
||||
border-radius: 6px;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.wrap_bg {
|
||||
border-radius: 6px;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.pad20 {
|
||||
padding: 20px
|
||||
}
|
||||
|
||||
.pad20_nobt {
|
||||
padding: 20px 20px 0
|
||||
}
|
||||
|
||||
.topBar {
|
||||
width: 100%;
|
||||
background: #fbfaf8;
|
||||
border-bottom: 1px solid #eae6e2;
|
||||
height: 35px;
|
||||
line-height: 35px
|
||||
}
|
||||
|
||||
.box_center {
|
||||
width: 1020px;
|
||||
margin: 0 auto
|
||||
}
|
||||
|
||||
.top_l {
|
||||
float: left
|
||||
}
|
||||
|
||||
.top_r {
|
||||
float: right
|
||||
}
|
||||
|
||||
.topBar .line {
|
||||
display: inline-block;
|
||||
padding: 0 12px;
|
||||
color: #e5d9da
|
||||
}
|
||||
|
||||
.topBar a {
|
||||
display: inline-block;
|
||||
color: #8C8C8C
|
||||
}
|
||||
|
||||
.topBar a.on {
|
||||
color: #333
|
||||
}
|
||||
|
||||
.topMain {
|
||||
height: 92px;
|
||||
background: #fff;
|
||||
overflow: hidden
|
||||
}
|
||||
|
||||
.logo {
|
||||
width: 198px;
|
||||
float: left;
|
||||
padding: 23px 130px 0 0;
|
||||
display: block
|
||||
}
|
||||
|
||||
.logo img {
|
||||
width: auto;
|
||||
height: 48px
|
||||
}
|
||||
|
||||
.searchBar {
|
||||
width: 342px;
|
||||
margin-top: 27px;
|
||||
overflow: hidden
|
||||
}
|
||||
|
||||
.searchBar .search /*, .searchBar .hotword*/
|
||||
{
|
||||
width: 342px;
|
||||
overflow: hidden
|
||||
}
|
||||
|
||||
.searchBar .s_int {
|
||||
width: 250px;
|
||||
padding: 0 14px 0 18px;
|
||||
height: 36px;
|
||||
line-height: 36px \9;
|
||||
vertical-align: middle;
|
||||
border: 1px solid #3eaf7c;
|
||||
border-right: none;
|
||||
color: #333;
|
||||
float: left;
|
||||
border-radius: 20px 0 0 20px;
|
||||
font-size: 14px; /*background: #fff;*/
|
||||
background: 0 0
|
||||
}
|
||||
|
||||
/*.searchBar .s_btn { width: 78px; height: 38px; line-height: 38px; background: #f65167; color: #fff; font-size: 16px; text-align: center; float: left; cursor: pointer; padding: 0 }
|
||||
.searchBar .s_btn:hover { background:#E23249 }*/
|
||||
.searchBar .search_btn {
|
||||
float: left;
|
||||
width: 58px;
|
||||
height: 38px;
|
||||
text-align: center;
|
||||
border-radius: 0 20px 20px 0;
|
||||
background-color: #3eaf7c;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.searchBar .search_btn .icon {
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
display: block;
|
||||
margin: 9px auto 0;
|
||||
background: url(../images/search.png) no-repeat;
|
||||
background-size: cover;
|
||||
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/images/search.png', sizingMethod='scale');
|
||||
}
|
||||
|
||||
/*.hotword { padding-top: 3px }
|
||||
.hotword a, .hotword span { color: #999; margin: 0 6px 0 5px }
|
||||
.hotword a:hover { color: #666 }*/
|
||||
.bookShelf {
|
||||
margin-top: 27px;
|
||||
padding-left: 20px;
|
||||
overflow: hidden
|
||||
}
|
||||
|
||||
.bookShelf .sj_link {
|
||||
height: 38px;
|
||||
line-height: 38px;
|
||||
padding-left: 30px;
|
||||
font-size: 15px;
|
||||
color: #404040;
|
||||
background: url(../images/icon_sj.png) no-repeat 6px 50%;
|
||||
float: left
|
||||
}
|
||||
|
||||
.bookShelf .user_link {
|
||||
height: 38px;
|
||||
line-height: 38px;
|
||||
padding-left: 20px;
|
||||
font-size: 15px;
|
||||
color: #404040;
|
||||
float: right
|
||||
}
|
||||
|
||||
.bookShelf .user_head {
|
||||
width: 26px;
|
||||
height: 26px;
|
||||
border-radius: 50%;
|
||||
float: left;
|
||||
margin: 6px 5px 0 0
|
||||
}
|
||||
|
||||
.bookShelf .user_name {
|
||||
max-width: 100px;
|
||||
display: inline-block
|
||||
}
|
||||
|
||||
.bookShelf .line {
|
||||
float: left;
|
||||
color: #ccc
|
||||
}
|
||||
|
||||
/*.bookShelf img { position: absolute; top: 17px; left: 17px; z-index: 10 }*/
|
||||
.mainNav {
|
||||
width: 100%;
|
||||
height: 48px;
|
||||
background: #3eaf7c;
|
||||
margin-bottom: 20px
|
||||
}
|
||||
|
||||
.mainNav .nav li {
|
||||
float: left
|
||||
}
|
||||
|
||||
.mainNav .nav li a {
|
||||
float: left;
|
||||
height: 44px;
|
||||
line-height: 48px;
|
||||
color: #fff;
|
||||
font-size: 16px;
|
||||
margin: 0 34px;
|
||||
border-bottom: 2px solid #3eaf7c;
|
||||
transition: color .3s, background-color .3s, border .3s
|
||||
}
|
||||
|
||||
.mainNav .nav li.on a, .mainNav .nav li a:hover {
|
||||
border-bottom: 2px solid rgba(255, 255, 255, .8)
|
||||
}
|
||||
|
||||
.footer {
|
||||
padding: 0 0 20px; /*margin-top: 20px; background: #fbfaf8; border-top: 1px solid #e0e0e0; */
|
||||
text-align: center;
|
||||
font-size: 12px
|
||||
}
|
||||
|
||||
.copyright ul li {
|
||||
color: #999;
|
||||
line-height: 26px
|
||||
}
|
||||
|
||||
.copyright .menu {
|
||||
padding: 2px 0 6px;
|
||||
font-size: 12px
|
||||
}
|
||||
|
||||
.copyright .line {
|
||||
display: inline-block;
|
||||
padding: 0 12px;
|
||||
color: #e5d9da
|
||||
}
|
||||
|
||||
.copyright p {
|
||||
margin-top: 10px;
|
||||
color: #999
|
||||
}
|
||||
|
||||
.code_bar img {
|
||||
margin-left: 66px
|
||||
}
|
||||
|
||||
.rBar {
|
||||
float: right;
|
||||
width: 268px
|
||||
}
|
||||
|
||||
.btn_gray, .btn_red, .btn_ora, .btn_ora_white, .btn_red1 {
|
||||
border-radius: 20px;
|
||||
font-size: 15px;
|
||||
display: inline-block;
|
||||
text-align: center;
|
||||
cursor: pointer; /*padding: 0 34px; height: 34px; line-height: 34px;*/
|
||||
padding: 11px 36px;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
.btn_gray {
|
||||
border: 1px solid #dedede;
|
||||
background: #fafafa;
|
||||
}
|
||||
|
||||
.btn_red, .btn_ora {
|
||||
border: 1px solid #3eaf7c;
|
||||
background: #3eaf7c;
|
||||
color: #fff
|
||||
}
|
||||
|
||||
.btn_red1 {
|
||||
border: 1px solid #ff4040;
|
||||
background: #ff4040;
|
||||
color: #fff
|
||||
}
|
||||
|
||||
.btn_ora_white {
|
||||
border: 1px solid #3eaf7c;
|
||||
color: #3eaf7c
|
||||
}
|
||||
|
||||
.btn_ora_white:hover {
|
||||
background: #fefaf6
|
||||
}
|
||||
|
||||
.btn_link {
|
||||
padding: 2px 6px;
|
||||
background: #3eaf7c;
|
||||
color: #fff;
|
||||
border-radius: 2px
|
||||
}
|
||||
|
||||
.btn_gray:hover {
|
||||
background: #f0f0f0;
|
||||
color: #333
|
||||
}
|
||||
|
||||
.btn_ora:hover, .btn_red:hover, .btn_link:hover {
|
||||
background: #3eaf7c;
|
||||
color: #fff
|
||||
}
|
||||
|
||||
.btn_red1:hover {
|
||||
background: #fc2525;
|
||||
color: #fff
|
||||
}
|
||||
|
||||
.pay_Checkout .btn_red, .btn_big {
|
||||
font-size: 16px;
|
||||
padding: 15px 0;
|
||||
border-radius: 4px;
|
||||
width: 196px;
|
||||
}
|
||||
|
||||
i.vip {
|
||||
width: 26px;
|
||||
height: 14px;
|
||||
text-align: center;
|
||||
line-height: 14px;
|
||||
font-size: 11px;
|
||||
color: #fff;
|
||||
background: #fe8034;
|
||||
border-radius: 2px;
|
||||
margin: 13px 0 0 3px;
|
||||
display: inline-block;
|
||||
transform: scale(0.88);
|
||||
}
|
||||
|
||||
i.vip_b {
|
||||
width: 36px;
|
||||
height: 22px;
|
||||
text-align: center;
|
||||
line-height: 22px;
|
||||
font-size: 15px;
|
||||
color: #fff;
|
||||
background: #3eaf7c;
|
||||
border-radius: 4px;
|
||||
margin-left: 5px;
|
||||
display: inline-block;
|
||||
vertical-align: 3px
|
||||
}
|
||||
|
||||
.pageBox {
|
||||
text-align: center;
|
||||
padding: 20px 0
|
||||
}
|
||||
|
||||
.pageBox a, .pageBox span {
|
||||
display: inline-block;
|
||||
color: #999;
|
||||
padding: 6px 10px;
|
||||
margin: 0 5px;
|
||||
border-radius: 4px;
|
||||
font-size: 14px;
|
||||
line-height: 1
|
||||
}
|
||||
|
||||
.pageBox .current, .pageBox a:hover {
|
||||
background: #3eaf7c;
|
||||
color: #fff
|
||||
}
|
||||
|
||||
.top_nearread {
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
margin-right: 10px;
|
||||
float: left
|
||||
}
|
||||
|
||||
.top_nearread .nearread {
|
||||
padding: 0 9px
|
||||
}
|
||||
|
||||
.top_nearread .nearread.on {
|
||||
border-left: 1px solid #d9d9d9;
|
||||
border-right: 1px solid #d9d9d9;
|
||||
background: #FFF;
|
||||
padding: 0 8px;
|
||||
height: 36px;
|
||||
position: relative;
|
||||
z-index: 8
|
||||
}
|
||||
|
||||
.icon_down {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
margin: 2px 0 0 5px;
|
||||
width: 0px;
|
||||
height: 0px;
|
||||
overflow: hidden;
|
||||
border-width: 4px;
|
||||
border-style: solid dashed dashed;
|
||||
border-color: #7f7f7f transparent transparent;
|
||||
}
|
||||
|
||||
.book_record {
|
||||
width: 382px;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
z-index: 9
|
||||
}
|
||||
|
||||
.record_box {
|
||||
width: 380px;
|
||||
background: #fff;
|
||||
margin-top: 35px;
|
||||
border: 1px solid #d9d9d9
|
||||
}
|
||||
|
||||
.book_record .sp {
|
||||
width: 77px;
|
||||
height: 6px;
|
||||
background: #fff;
|
||||
position: absolute;
|
||||
top: 32px;
|
||||
right: 1px
|
||||
}
|
||||
|
||||
.record_title {
|
||||
padding: 14px 10px
|
||||
}
|
||||
|
||||
.record_title a {
|
||||
border: 1px solid #dedede;
|
||||
background: #fafafa;
|
||||
border-radius: 2px;
|
||||
font-size: 12px;
|
||||
padding: 6px 12px;
|
||||
line-height: 1;
|
||||
margin-right: 14px
|
||||
}
|
||||
|
||||
.record_title a.on {
|
||||
border: 1px solid #f65167;
|
||||
background: #f65167;
|
||||
color: #fff
|
||||
}
|
||||
|
||||
.record_box .all {
|
||||
display: block;
|
||||
height: 28px;
|
||||
line-height: 28px;
|
||||
text-align: center;
|
||||
background: #f6f6f6
|
||||
}
|
||||
|
||||
.record_list ul {
|
||||
margin-bottom: 10px
|
||||
}
|
||||
|
||||
.record_list li {
|
||||
clear: both;
|
||||
padding: 10px;
|
||||
line-height: 1;
|
||||
overflow: hidden
|
||||
}
|
||||
|
||||
.record_list li:hover {
|
||||
background: #f6f6f6
|
||||
}
|
||||
|
||||
.record_list li .cover {
|
||||
width: 50px;
|
||||
height: 63px;
|
||||
background: #f6f6f6
|
||||
}
|
||||
|
||||
.record_list li .cover img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.record_list a {
|
||||
display: inline;
|
||||
color: #333
|
||||
}
|
||||
|
||||
.record_list .book_intro {
|
||||
width: 300px;
|
||||
height: 65px;
|
||||
padding-left: 10px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.record_list .book_intro p {
|
||||
height: 20px;
|
||||
line-height: 20px;
|
||||
overflow: hidden;
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.record_list .book_intro .p1 {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.record_list .book_intro .p2 {
|
||||
margin: 2px 0;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis
|
||||
}
|
||||
|
||||
.record_list .book_intro .p3 {
|
||||
}
|
||||
|
||||
.record_list .book_intro i.vip {
|
||||
margin: 0 0 0 3px
|
||||
}
|
||||
|
||||
.record_list .read_link a {
|
||||
color: #fff
|
||||
}
|
||||
|
||||
.manBody {
|
||||
}
|
||||
|
||||
.manBody .mainNav {
|
||||
background: #3e3d43
|
||||
}
|
||||
|
||||
.manBody .searchBar .s_int {
|
||||
border: 1px solid #878689;
|
||||
border-right: none;
|
||||
background-position: 8px -22px
|
||||
}
|
||||
|
||||
.manBody .mainNav .nav li.on a, .manBody .mainNav .nav li a:hover {
|
||||
background: #313035
|
||||
}
|
||||
|
||||
.nav_sub {
|
||||
margin-bottom: 16px
|
||||
}
|
||||
|
||||
.nav_sub a {
|
||||
padding: 0 6px
|
||||
}
|
||||
|
||||
.copyright .menu a {
|
||||
color: #666;
|
||||
font-size: 12px
|
||||
}
|
||||
|
||||
.copyright .menu a:hover, .bookShelf .sj_link:hover {
|
||||
color: #3eaf7c
|
||||
}
|
||||
|
||||
.rightList .more, .more_bar {
|
||||
margin: 1px 0;
|
||||
height: 34px;
|
||||
line-height: 34px;
|
||||
border-radius: 1px;
|
||||
background-color: #f7f7f7;
|
||||
text-align: center
|
||||
}
|
||||
|
||||
.rightList .more a, .more_bar a {
|
||||
display: block;
|
||||
color: #666
|
||||
}
|
||||
|
||||
.header, .footer {
|
||||
min-width: 1020px
|
||||
}
|
||||
|
||||
/*base*/
|
||||
.noborder {
|
||||
border: 0 !important
|
||||
}
|
||||
|
||||
.nomargin {
|
||||
margin: 0 !important
|
||||
}
|
||||
|
||||
.ml {
|
||||
margin-left: 12px
|
||||
}
|
||||
|
||||
.mr {
|
||||
margin-right: 12px
|
||||
}
|
||||
|
||||
.ml5 {
|
||||
margin-left: 5px
|
||||
}
|
||||
|
||||
.ml10 {
|
||||
margin-left: 10px
|
||||
}
|
||||
|
||||
.ml15 {
|
||||
margin-left: 15px
|
||||
}
|
||||
|
||||
.ml20 {
|
||||
margin-left: 20px
|
||||
}
|
||||
|
||||
.mr5 {
|
||||
margin-right: 5px
|
||||
}
|
||||
|
||||
.mr10 {
|
||||
margin-right: 10px
|
||||
}
|
||||
|
||||
.mr15 {
|
||||
margin-right: 15px
|
||||
}
|
||||
|
||||
.mr20 {
|
||||
margin-right: 20px
|
||||
}
|
||||
|
||||
.mt5 {
|
||||
margin-top: 5px
|
||||
}
|
||||
|
||||
.mt10 {
|
||||
margin-top: 10px
|
||||
}
|
||||
|
||||
.mt15 {
|
||||
margin-top: 15px
|
||||
}
|
||||
|
||||
.mt20 {
|
||||
margin-top: 20px
|
||||
}
|
||||
|
||||
.mb5 {
|
||||
margin-bottom: 5px
|
||||
}
|
||||
|
||||
.mb10 {
|
||||
margin-bottom: 10px
|
||||
}
|
||||
|
||||
.mb15 {
|
||||
margin-bottom: 15px
|
||||
}
|
||||
|
||||
.mb20 {
|
||||
margin-bottom: 20px
|
||||
}
|
||||
|
||||
.mb50 {
|
||||
margin-bottom: 50px
|
||||
}
|
||||
|
||||
.pointer {
|
||||
cursor: pointer
|
||||
}
|
||||
|
||||
.notindent {
|
||||
text-indent: inherit !important
|
||||
}
|
||||
|
||||
.vm {
|
||||
vertical-align: middle !important
|
||||
}
|
||||
|
||||
.border_t {
|
||||
border-top: 1px solid #eee
|
||||
}
|
||||
|
||||
.border_b {
|
||||
border-bottom: 1px solid #eee
|
||||
}
|
||||
|
||||
.border_l {
|
||||
border-left: 1px solid #eee
|
||||
}
|
||||
|
||||
.border_r {
|
||||
border-right: 1px solid #eee
|
||||
}
|
||||
|
||||
.layui-laypage-curr {
|
||||
background: #3eaf7c;
|
||||
}
|
||||
|
||||
.layui-laypage-curr em {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.layui-disabled, .layui-disabled:hover {
|
||||
color: #d2d2d2 !important;
|
||||
cursor: not-allowed !important
|
||||
}
|
||||
|
||||
#noFeedbackNote {
|
||||
line-height: 400px;
|
||||
text-align: center;
|
||||
border-top: 1px solid #eee;
|
||||
}
|
||||
|
||||
#txtDescription {
|
||||
/*width: 900px;*/
|
||||
height: 288px;
|
||||
margin: 20px auto 20px;
|
||||
padding: 10px;
|
||||
|
||||
|
||||
/*新增样式*/
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
border: 1px solid #eee;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.userBox {
|
||||
margin: 0 auto
|
||||
}
|
813
templates/green/static/css/book.css
Normal file
@ -0,0 +1,813 @@
|
||||
@charset "utf-8";
|
||||
.Interaction_tab a, .Interaction_tab a .icon, .Interaction_tab a.fr .icon, .dashang_bar .l_bar .list li, .btn_pc, .btn_flw, .fansBox .fans_bg, .icon_hg {
|
||||
background: url(../images/icon_interation.png) no-repeat
|
||||
}
|
||||
|
||||
.InteractionBox {
|
||||
padding: 15px 14px 11px
|
||||
}
|
||||
|
||||
.Interaction_tab a {
|
||||
width: 339px;
|
||||
height: 60px;
|
||||
line-height: 60px;
|
||||
font-size: 14px;
|
||||
color: #000
|
||||
}
|
||||
|
||||
/*.Interaction_tab a:hover, .Interaction_tab a.on { background-position: 0 -60px; color: #000 }*/
|
||||
.Interaction_tab a .icon {
|
||||
width: 38px;
|
||||
height: 60px;
|
||||
float: left;
|
||||
margin: 0 10px 0 64px;
|
||||
background-position: -348px 0
|
||||
}
|
||||
|
||||
.Interaction_tab a.fr .icon {
|
||||
background-position: -348px -60px
|
||||
}
|
||||
|
||||
.Interaction_tab h4 {
|
||||
font-size: 17px;
|
||||
margin-right: 8px;
|
||||
display: inline
|
||||
}
|
||||
|
||||
.InteractionBox .l_bar, .InteractionBox .r_bar {
|
||||
width: 335px;
|
||||
margin: 0 2px;
|
||||
float: left
|
||||
}
|
||||
|
||||
.InteractionBox .r_bar .time {
|
||||
padding-right: 1px
|
||||
}
|
||||
|
||||
.InteractionBox .l_bar .tit {
|
||||
padding: 22px 14px 0 4px
|
||||
}
|
||||
|
||||
.InteractionBox .l_bar .tit .red, .InteractionBox .r_bar .tit .red {
|
||||
padding: 0 5px
|
||||
}
|
||||
|
||||
.InteractionBox .l_bar .tit .fl {
|
||||
font-size: 17px
|
||||
}
|
||||
|
||||
.InteractionBox .l_bar .tit .fr {
|
||||
padding-top: 7px
|
||||
}
|
||||
|
||||
.dashang_bar .l_bar .list {
|
||||
padding-top: 20px
|
||||
}
|
||||
|
||||
.dashang_bar .l_bar .list li {
|
||||
width: 90px;
|
||||
height: 134px;
|
||||
line-height: 1;
|
||||
float: left;
|
||||
margin: 0 20px 0 6px;
|
||||
text-align: center;
|
||||
background-position: 0 -130px
|
||||
}
|
||||
|
||||
.dashang_bar .l_bar .list li img {
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
background: #fff;
|
||||
margin: 35px 15px 10px;
|
||||
border-radius: 50%;
|
||||
box-shadow: 0 1px 0 rgba(0, 0, 0, .3)
|
||||
}
|
||||
|
||||
.dashang_bar .l_bar .list li .user_name {
|
||||
line-height: 1 !important;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
display: block;
|
||||
padding: 0 10px
|
||||
}
|
||||
|
||||
.dashang_bar .l_bar .list .li_1 {
|
||||
}
|
||||
|
||||
.dashang_bar .l_bar .list .li_2 {
|
||||
background-position: -100px -130px
|
||||
}
|
||||
|
||||
.dashang_bar .l_bar .list .li_3 {
|
||||
background-position: -200px -130px;
|
||||
margin-right: 0
|
||||
}
|
||||
|
||||
.InteractionBox .r_bar .tit {
|
||||
padding: 14px 1px 12px 1px
|
||||
}
|
||||
|
||||
.InteractionBox .r_bar .tit strong {
|
||||
display: block;
|
||||
font-size: 13px
|
||||
}
|
||||
|
||||
.InteractionBox .r_bar .list, .InteractionBox .r_bar .sum {
|
||||
margin: 0 1px
|
||||
}
|
||||
|
||||
.InteractionBox .r_bar .list li {
|
||||
height: 27px;
|
||||
line-height: 27px;
|
||||
overflow: hidden;
|
||||
border-top: 1px dotted #ccc;
|
||||
color: #999
|
||||
}
|
||||
|
||||
.InteractionBox .r_bar .list li .user_name {
|
||||
margin-right: 8px
|
||||
}
|
||||
|
||||
.InteractionBox .r_bar .sum {
|
||||
border-top: 1px dotted #ccc;
|
||||
line-height: 34px
|
||||
}
|
||||
|
||||
.btn_pc, .btn_flw {
|
||||
width: 140px;
|
||||
height: 44px;
|
||||
display: inline-block;
|
||||
background-position: 0 -270px
|
||||
}
|
||||
|
||||
.btn_flw {
|
||||
width: 122px;
|
||||
background-position: -150px -270px
|
||||
}
|
||||
|
||||
.flower_bar .l_bar .list {
|
||||
padding: 0 14px 0 4px
|
||||
}
|
||||
|
||||
.flower_bar .l_bar li {
|
||||
padding: 15px 0 6px;
|
||||
overflow: hidden;
|
||||
clear: both
|
||||
}
|
||||
|
||||
.flower_bar .l_bar .book_intro {
|
||||
width: 265px
|
||||
}
|
||||
|
||||
.flower_bar .l_bar .cover img {
|
||||
width: 45px;
|
||||
height: 56px;
|
||||
background: #f6f6f6;
|
||||
margin: 2px 16px 0 0
|
||||
}
|
||||
|
||||
.flower_bar .l_bar .book_intro .txt {
|
||||
height: 38px;
|
||||
line-height: 18px;
|
||||
padding-top: 2px;
|
||||
color: #999;
|
||||
overflow: hidden;
|
||||
display: block
|
||||
}
|
||||
|
||||
.r_fansBrank .book_intro {
|
||||
float: inherit !important
|
||||
}
|
||||
|
||||
.user_level1, .user_level2, .user_level3, .user_level4, .user_level5, .user_level6, .user_level7, .user_level8, .user_level9, .user_level10, .user_level11 {
|
||||
width: 30px;
|
||||
height: 16px;
|
||||
line-height: 16px;
|
||||
text-align: center;
|
||||
border-radius: 2px;
|
||||
margin: 11px 0 0;
|
||||
color: #fff
|
||||
}
|
||||
|
||||
.user_level1 {
|
||||
background: #d0d0d0
|
||||
}
|
||||
|
||||
.user_level2 {
|
||||
background: #c0c0c0
|
||||
}
|
||||
|
||||
.user_level3 {
|
||||
background: #b4b3b3
|
||||
}
|
||||
|
||||
.user_level4 {
|
||||
background: #a0dfe6
|
||||
}
|
||||
|
||||
.user_level5 {
|
||||
background: #77d2db
|
||||
}
|
||||
|
||||
.user_level6 {
|
||||
background: #b4d894
|
||||
}
|
||||
|
||||
.user_level7 {
|
||||
background: #94c766
|
||||
}
|
||||
|
||||
.user_level8 {
|
||||
background: #ffc24c
|
||||
}
|
||||
|
||||
.user_level9 {
|
||||
background: #ffa800
|
||||
}
|
||||
|
||||
.user_level10 {
|
||||
background: #ff6e26
|
||||
}
|
||||
|
||||
.user_level11 {
|
||||
background: #ff0000
|
||||
}
|
||||
|
||||
/*固定悬浮图层*/
|
||||
.readPopup {
|
||||
border: 1px solid #D9D9D9;
|
||||
border-radius: 3px;
|
||||
background: #FFF;
|
||||
box-shadow: 0 1px 2px #999;
|
||||
overflow: hidden;
|
||||
padding-bottom: 20px;
|
||||
z-index: 9999;
|
||||
position: fixed;
|
||||
left: 50%;
|
||||
top: 50%
|
||||
}
|
||||
|
||||
.icon_check {
|
||||
position: absolute;
|
||||
width: 29px;
|
||||
height: 25px;
|
||||
right: -1px;
|
||||
top: -1px;
|
||||
z-index: 2;
|
||||
background: url(../images/icon_readpage.png) no-repeat 0 -142px
|
||||
}
|
||||
|
||||
.on .icon_check {
|
||||
display: block
|
||||
}
|
||||
|
||||
.closePopup {
|
||||
position: absolute;
|
||||
top: 20px;
|
||||
right: 20px;
|
||||
width: 16px;
|
||||
height: 15px;
|
||||
background: url(../images/icon_readpage.png) no-repeat -43px -126px
|
||||
}
|
||||
|
||||
.chapterBox {
|
||||
width: 600px;
|
||||
margin-left: -300px;
|
||||
margin-top: -260px
|
||||
}
|
||||
|
||||
.chapterBox .scrollWrap {
|
||||
height: 540px
|
||||
}
|
||||
|
||||
/*弹窗内容*/
|
||||
.popupTit h2 {
|
||||
text-align: center;
|
||||
letter-spacing: 15px;
|
||||
color: #333;
|
||||
font: 700 20px/30px "Microsoft Yahei";
|
||||
margin: 30px 0
|
||||
}
|
||||
|
||||
.popupTit h3 {
|
||||
font-size: 16px;
|
||||
margin: 15px 20px
|
||||
}
|
||||
|
||||
.scrollWrap {
|
||||
overflow-y: scroll;
|
||||
position: relative
|
||||
}
|
||||
|
||||
.dirWrap {
|
||||
padding: 0 40px
|
||||
}
|
||||
|
||||
.scrollWrap h3 {
|
||||
padding-left: 26px;
|
||||
font-size: 14px;
|
||||
background: #e6e6e6;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
font-weight: normal;
|
||||
position: relative;
|
||||
cursor: pointer;
|
||||
margin: 0 0 15px;
|
||||
border-radius: 3px
|
||||
}
|
||||
|
||||
.readPopup .tc .btn_gray {
|
||||
margin-left: 30px
|
||||
}
|
||||
|
||||
/*捧场、送鲜花*/
|
||||
.pcBox, .flowerBox {
|
||||
width: 500px;
|
||||
margin-left: -251px;
|
||||
margin-top: -215px
|
||||
}
|
||||
|
||||
.propsList {
|
||||
padding: 15px 0 10px 20px
|
||||
}
|
||||
|
||||
.propsList li {
|
||||
float: left;
|
||||
cursor: pointer;
|
||||
margin: 0 8px 16px;
|
||||
text-align: center
|
||||
}
|
||||
|
||||
.propWrap {
|
||||
width: 134px;
|
||||
height: 54px;
|
||||
line-height: 54px;
|
||||
text-align: center;
|
||||
font-size: 15px;
|
||||
color: #000;
|
||||
display: block;
|
||||
border: 1px solid #e6e6e6;
|
||||
background: #fafafa;
|
||||
position: relative
|
||||
}
|
||||
|
||||
.on .propWrap, .propWrap:hover {
|
||||
width: 132px;
|
||||
height: 52px;
|
||||
line-height: 52px;
|
||||
color: #3eaf7c;
|
||||
border: 2px solid #3eaf7c;
|
||||
background: #fff
|
||||
}
|
||||
|
||||
.propsList li i {
|
||||
display: none;
|
||||
line-height: 1
|
||||
}
|
||||
|
||||
.propsList li .propsBox {
|
||||
padding-top: 20px
|
||||
}
|
||||
|
||||
.have_num {
|
||||
padding: 0 30px 10px;
|
||||
font-size: 14px;
|
||||
color: #999
|
||||
}
|
||||
|
||||
.have_num .red {
|
||||
margin: 0 4px
|
||||
}
|
||||
|
||||
.popup_text {
|
||||
width: 418px;
|
||||
height: 62px;
|
||||
padding: 8px 10px;
|
||||
margin: 8px 30px 20px;
|
||||
color: #555;
|
||||
border: 1px solid #e6e6e6;
|
||||
}
|
||||
|
||||
/*消息提示*/
|
||||
.newsTipBox {
|
||||
width: 400px;
|
||||
padding-bottom: 30px;
|
||||
margin-left: -200px;
|
||||
margin-top: -105px
|
||||
}
|
||||
|
||||
.tipWrap {
|
||||
padding: 30px;
|
||||
font-size: 14px
|
||||
}
|
||||
|
||||
/*遮罩层*/
|
||||
.maskBox {
|
||||
position: fixed;
|
||||
left: 0;
|
||||
top: 0;
|
||||
z-index: 995;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: black;
|
||||
filter: alpha(opacity=30);
|
||||
opacity: 0.3;
|
||||
animation: mask 2s ease-out 0s 1 normal
|
||||
}
|
||||
|
||||
@keyframes mask {
|
||||
0% {
|
||||
filter: alpha(opacity=0);
|
||||
opacity: 0
|
||||
}
|
||||
100% {
|
||||
filter: alpha(opacity=30);
|
||||
opacity: 0.3
|
||||
}
|
||||
}
|
||||
|
||||
.fansBox {
|
||||
width: 998px;
|
||||
border: 1px solid #eaeaea
|
||||
}
|
||||
|
||||
.fansHead {
|
||||
height: 54px;
|
||||
line-height: 54px;
|
||||
margin: 0 14px;
|
||||
border-bottom: 1px solid #eaeaea;
|
||||
font-weight: normal
|
||||
}
|
||||
|
||||
.fansHead h2 {
|
||||
font-size: 20px;
|
||||
font-weight: normal
|
||||
}
|
||||
|
||||
.fansCon {
|
||||
padding: 20px
|
||||
}
|
||||
|
||||
.fansCon .r_bar {
|
||||
width: 204px
|
||||
}
|
||||
|
||||
.fansCon .cover {
|
||||
width: 200px;
|
||||
height: 250px;
|
||||
background: #f6f6f6;
|
||||
border: 1px solid #ebebeb;
|
||||
padding: 1px;
|
||||
}
|
||||
|
||||
.fansCon .btn_red {
|
||||
width: 202px;
|
||||
margin: 2px 0 14px;
|
||||
padding: 10px 0
|
||||
}
|
||||
|
||||
.fansCon .l_bar {
|
||||
width: 750px
|
||||
}
|
||||
|
||||
.fansCon .l_bar .list1 {
|
||||
padding-top: 4px
|
||||
}
|
||||
|
||||
.fansCon .list1 li {
|
||||
width: 33%;
|
||||
line-height: 1;
|
||||
float: left
|
||||
}
|
||||
|
||||
.fansCon .list1 .fans_bg {
|
||||
width: 90px;
|
||||
height: 112px;
|
||||
background-position: 0 -320px;
|
||||
position: relative;
|
||||
margin-right: 18px
|
||||
}
|
||||
|
||||
.fansCon .list1 .fans_bg img {
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
background: #fff;
|
||||
margin: 39px 15px 0;
|
||||
border-radius: 50%;
|
||||
box-shadow: 0 1px 0 rgba(0, 0, 0, .3)
|
||||
}
|
||||
|
||||
.fansCon .list1 h5 {
|
||||
font-size: 16px;
|
||||
padding: 9px 0;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.fansCon .list1 li .user_name {
|
||||
line-height: 1 !important
|
||||
}
|
||||
|
||||
.fansCon .list1 .li_2 .fans_bg {
|
||||
background-position: -100px -320px
|
||||
}
|
||||
|
||||
.fansCon .list1 .li_3 .fans_bg {
|
||||
background-position: -200px -320px
|
||||
}
|
||||
|
||||
.fansCon .fans_info {
|
||||
width: 136px;
|
||||
font-size: 14px
|
||||
}
|
||||
|
||||
.fansCon .fans_info .fans_pointer {
|
||||
padding: 14px 0 22px
|
||||
}
|
||||
|
||||
.fans_level span {
|
||||
padding: 1px 10px 2px
|
||||
}
|
||||
|
||||
.icon_hg {
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
display: inline-block;
|
||||
background-position: -300px -320px;
|
||||
position: absolute;
|
||||
top: -13px;
|
||||
right: -13px
|
||||
}
|
||||
|
||||
.fansCon .list2 {
|
||||
padding: 0
|
||||
}
|
||||
|
||||
.fansCon .list2 li {
|
||||
width: 250px;
|
||||
float: left;
|
||||
height: 59px;
|
||||
padding: 0 0 19px;
|
||||
display: inline
|
||||
}
|
||||
|
||||
.fansCon .list2 .num {
|
||||
font: 16px/59px "microsoft yahei", Arial, "宋体";
|
||||
width: 32px;
|
||||
color: #666;
|
||||
font-weight: bold
|
||||
}
|
||||
|
||||
.fansCon .list2 .img {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
margin-top: 10px;
|
||||
position: relative
|
||||
}
|
||||
|
||||
.fansCon .list2 .img img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border-radius: 50%
|
||||
}
|
||||
|
||||
.fansCon .list2 .img span {
|
||||
display: block;
|
||||
margin: 0;
|
||||
position: absolute;
|
||||
left: 5px;
|
||||
bottom: 0
|
||||
}
|
||||
|
||||
.fansCon .list2 .msg {
|
||||
display: inline;
|
||||
width: 164px;
|
||||
padding: 8px 0 0 12px;
|
||||
}
|
||||
|
||||
.fansCon .list2 .msg h4 {
|
||||
line-height: 24px;
|
||||
font-weight: normal;
|
||||
font-size: 16px;
|
||||
overflow: hidden;
|
||||
height: 24px;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.fansCon .list2 .msg p {
|
||||
font-size: 12px;
|
||||
line-height: 16px;
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.fansTop {
|
||||
margin-bottom: 8px;
|
||||
border-bottom: 1px solid #eaeaea
|
||||
}
|
||||
|
||||
.fans_tab {
|
||||
width: 1005px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.fans_tab ul {
|
||||
float: left;
|
||||
width: 280px;
|
||||
margin-right: 55px;
|
||||
}
|
||||
|
||||
.fans_tab li {
|
||||
line-height: 39px;
|
||||
overflow: hidden;
|
||||
font-size: 14px;
|
||||
height: 39px;
|
||||
border-bottom: 1px solid #ebebeb;
|
||||
}
|
||||
|
||||
.fans_tab li .num {
|
||||
float: left;
|
||||
width: 40px;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
.fans_tab li a {
|
||||
float: left;
|
||||
overflow: hidden;
|
||||
width: 200px;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.fans_tab li .fans_level {
|
||||
float: left;
|
||||
font-size: 12px;
|
||||
width: 40px;
|
||||
text-align: right;
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.fansRule dl {
|
||||
padding: 20px 20px 30px
|
||||
}
|
||||
|
||||
.fansRule dt {
|
||||
line-height: 24px;
|
||||
margin-bottom: 6px;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.fansRule dd {
|
||||
font-size: 12px;
|
||||
line-height: 20px;
|
||||
margin-bottom: 16px;
|
||||
color: #777;
|
||||
}
|
||||
|
||||
.fansRule table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
.fansRule table th, .fansRule table td {
|
||||
font-weight: 400;
|
||||
min-width: 40px;
|
||||
padding: 12px 0;
|
||||
text-align: left;
|
||||
border-top: 1px solid #ebebeb;
|
||||
border-bottom: 1px solid #ebebeb;
|
||||
}
|
||||
|
||||
.fansRule ol li {
|
||||
list-style-type: decimal;
|
||||
list-style-position: inside;
|
||||
}
|
||||
|
||||
.InteractionBox .l_bar, .flower_bar .l_bar {
|
||||
display: none
|
||||
}
|
||||
|
||||
.dashang_bar {
|
||||
float: left
|
||||
}
|
||||
|
||||
.flower_bar {
|
||||
float: right
|
||||
}
|
||||
|
||||
.author_head {
|
||||
text-align: center
|
||||
}
|
||||
|
||||
.author_head .head img {
|
||||
width: 64px;
|
||||
height: 64px;
|
||||
border-radius: 50%;
|
||||
background: #f6f6f6;
|
||||
display: block;
|
||||
margin: 0 auto
|
||||
}
|
||||
|
||||
.author_head .msg {
|
||||
margin-top: -4px
|
||||
}
|
||||
|
||||
.author_head .msg h4 {
|
||||
font-size: 14px;
|
||||
line-height: 2.4
|
||||
}
|
||||
|
||||
.icon_qyzz {
|
||||
padding: 5px;
|
||||
line-height: 1;
|
||||
background: #3eaf7c;
|
||||
color: #fff;
|
||||
border-radius: 3px;
|
||||
display: inline-block
|
||||
}
|
||||
|
||||
.author_intro, .author_book {
|
||||
border-top: 1px dotted #e0e0e0
|
||||
}
|
||||
|
||||
.author_intro h4, .author_book h4 {
|
||||
font-weight: normal;
|
||||
font-size: 12px;
|
||||
padding: 10px 0 5px
|
||||
}
|
||||
|
||||
.author_intro .intro_txt, .author_book .book_txt {
|
||||
line-height: 1.8;
|
||||
padding-bottom: 10px
|
||||
}
|
||||
|
||||
.author_book .rightList ul {
|
||||
padding: 0
|
||||
}
|
||||
|
||||
|
||||
.tj_bar .cover {
|
||||
float: left;
|
||||
display: block;
|
||||
margin-right: 10px
|
||||
}
|
||||
|
||||
.tj_bar .cover img {
|
||||
width: 64px;
|
||||
height: auto;
|
||||
background: #f6f6f6
|
||||
}
|
||||
|
||||
.tj_bar .book_intro {
|
||||
padding: 15px 0;
|
||||
clear: both;
|
||||
word-break: break-all;
|
||||
zoom: 1;
|
||||
overflow: hidden
|
||||
}
|
||||
|
||||
.tj_bar .dec {
|
||||
width: 136px;
|
||||
float: right
|
||||
}
|
||||
|
||||
.tj_bar .book_intro .book_name {
|
||||
display: block;
|
||||
font-size: 14px;
|
||||
line-height: 1;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden
|
||||
}
|
||||
|
||||
.tj_bar .book_intro .txt {
|
||||
height: 54px;
|
||||
line-height: 1.5;
|
||||
color: #808080;
|
||||
overflow: hidden;
|
||||
display: block;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.tj_bar li {
|
||||
border-bottom: 1px solid #eee
|
||||
}
|
||||
|
||||
.tj_bar li:last-child {
|
||||
border: none
|
||||
}
|
||||
|
||||
.tj_bar li:last-child .book_intro {
|
||||
padding: 15px 0 2px
|
||||
}
|
||||
|
||||
.friend_link {
|
||||
display: none
|
||||
}
|
||||
|
||||
.footer {
|
||||
background: #fff;
|
||||
padding: 16px 0 20px }
|
||||
|
3243
templates/green/static/css/easyui.css
Normal file
1
templates/green/static/css/layer.css
Normal file
@ -0,0 +1 @@
|
||||
.layermbox{position:absolute;left:0;top:0;width:100%;z-index:19891014}.layermmain,.laymshade{position:fixed;left:0;top:0;width:100%;height:100%}.layermbtn span,.layermchild{display:inline-block;position:relative}.laymshade{background-color:rgba(0,0,0,.5);pointer-events:auto}.layermmain{display:table;font-family:Helvetica,arial,sans-serif;pointer-events:none}.layermmain .section{display:table-cell;vertical-align:middle;text-align:center}.layermchild{text-align:left;background-color:#fff;font-size:14px;border-radius:6px;box-shadow:0 0 8px rgba(0,0,0,.1);pointer-events:auto;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.18s;animation-duration:.18s}.layermborder{border:1px solid #999}@-webkit-keyframes bounceIn{0%{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}.layermanim{animation-name:bounceIn;-webkit-animation-name:bounceIn}.layermbox0 .layermchild{max-width:260px;min-width:150px}.layermbox1 .layermchild{border:none;border-radius:0}.layermbox2 .layermchild{width:auto;max-width:260px;min-width:40px;border:none;background-color:rgba(0,0,0,.6);color:#fff}.layermchild h3{padding:0 45px 0 10px;height:50px;line-height:50px;font-size:16px;font-weight:400;border-radius:5px 5px 0 0;border-bottom:1px solid #EBEBEB}.layermbtn span,.layermchild h3{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.layermcont{padding:20px 15px;line-height:22px;border-radius:5px}.layermbox1 .layermcont{padding:0}.layermbox2 .layermcont{text-align:center;padding:30px 30px 0;line-height:0}.layermbox2 .layermcont i{width:1.5rem;height:1.5rem;margin-left:8px;display:inline-block;background-color:#fff;border-radius:100%;-webkit-animation:bouncedelay 1.4s infinite ease-in-out;animation:bouncedelay 1.4s infinite ease-in-out;-webkit-animation-fill-mode:both;animation-fill-mode:both}@-webkit-keyframes bouncedelay{0%,100%,80%{-webkit-transform:scale(0)}40%{-webkit-transform:scale(1)}}@keyframes bouncedelay{0%,100%,80%{transform:scale(0);-webkit-transform:scale(0)}40%{transform:scale(1);-webkit-transform:scale(1)}}.layermbox2 .layermcont i:first-child{margin-left:0;-webkit-animation-delay:-.32s;animation-delay:-.32s}.layermbox2 .layermcont i.laymloadtwo{-webkit-animation-delay:-.16s;animation-delay:-.16s}.layermbox2 .layermcont>div{line-height:22px;padding-top:7px;margin-bottom:20px;font-size:14px}.layermbtn{position:relative;height:40px;line-height:40px;font-size:0;text-align:center;border-top:1px solid #EBEBEB}.layermbtn span{width:50%;text-align:center;font-size:14px;cursor:pointer;border-radius:0 5px 0 0}.layermbtn span:first-child{height:39px;background-color:#fff;border-radius:0 0 0 5px}.layermbtn:before{content:'\20';position:absolute;width:1px;height:39px;left:50%;top:0;background-color:#EBEBEB}.layermend{position:absolute;right:7px;top:10px;width:30px;height:30px;border:0;font-weight:400;background:0 0;cursor:pointer;-webkit-appearance:none;font-size:30px}.layermend::after,.layermend::before{position:absolute;left:5px;top:13px;content:'';width:20px;height:2px;background-color:rgba(0,0,0,.3);transform:rotate(45deg);-webkit-transform:rotate(45deg);border-radius:3px}.layermend::after{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}
|
1197
templates/green/static/css/main.css
Normal file
1797
templates/green/static/css/public.css
Normal file
906
templates/green/static/css/read.css
Normal file
@ -0,0 +1,906 @@
|
||||
@charset "utf-8";
|
||||
a {
|
||||
color: #333
|
||||
}
|
||||
|
||||
a:hover, .redFont, .current, .bookNav a:hover, .textinfo a:hover {
|
||||
color: #3eaf7c
|
||||
}
|
||||
|
||||
.read_menu li a, .closePopup, .menu_left li a span, .menu_right li a span, .icon_check, .icon_yb {
|
||||
background: url(../images/icon_readpage.png) no-repeat
|
||||
}
|
||||
|
||||
/* 阅读页背景 */
|
||||
body { /*background-color: #4a4a4a;*/
|
||||
color: #333;
|
||||
font-family: "Microsoft YaHei"
|
||||
}
|
||||
|
||||
.topMain {
|
||||
box-shadow: 0 1px 4px rgba(0, 0, 0, .1);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#66ffffff, endColorstr=#66ffffff);
|
||||
background: none;
|
||||
background: rgba(255, 255, 255, .4)
|
||||
}
|
||||
|
||||
.read_style_6 .topMain {
|
||||
border-bottom: 1px solid #444;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#0cffffff, endColorstr=#0cffffff);
|
||||
background: rgba(255, 255, 255, .05)
|
||||
}
|
||||
|
||||
/*颜色:浅黄白、护眼绿、粉色、浅黄、浅灰、夜间黑*/
|
||||
body, .read_style_1 {
|
||||
background-color: #ebe5d8
|
||||
}
|
||||
|
||||
.read_style_2 {
|
||||
background-color: #cbdec9
|
||||
}
|
||||
|
||||
.read_style_3 {
|
||||
background-color: #edd4d4
|
||||
}
|
||||
|
||||
.read_style_4 {
|
||||
background-color: #e0cfa3
|
||||
}
|
||||
|
||||
.read_style_5 {
|
||||
background-color: #d3d3d3
|
||||
}
|
||||
|
||||
.read_style_6 {
|
||||
background-color: #0e0f0f
|
||||
}
|
||||
|
||||
.read_style_1 .textbox, .read_style_1 .read_menu li a, .read_style_1 .haveRead, .read_style_1 .nextPageBox a {
|
||||
background-color: rgb(244, 241, 234)
|
||||
}
|
||||
|
||||
/*浅黄白*/
|
||||
.read_style_2 .textbox, .read_style_2 .read_menu li a, .read_style_2 .haveRead, .read_style_2 .nextPageBox a {
|
||||
background-color: rgb(224, 235, 223)
|
||||
}
|
||||
|
||||
/*护眼绿*/
|
||||
.read_style_3 .textbox, .read_style_3 .read_menu li a, .read_style_3 .haveRead, .read_style_3 .nextPageBox a {
|
||||
background-color: rgb(244, 229, 229)
|
||||
}
|
||||
|
||||
/*粉色*/
|
||||
.read_style_4 .textbox, .read_style_4 .read_menu li a, .read_style_4 .haveRead, .read_style_4 .nextPageBox a {
|
||||
background-color: rgb(236, 226, 200)
|
||||
}
|
||||
|
||||
/*浅黄*/
|
||||
.read_style_5 .textbox, .read_style_5 .read_menu li a, .read_style_5 .haveRead, .read_style_5 .nextPageBox a {
|
||||
background-color: rgb(229, 229, 229)
|
||||
}
|
||||
|
||||
/*浅灰*/
|
||||
.read_style_6 .textbox, .read_style_6 .read_menu li a, .read_style_6 .haveRead, .read_style_6 .nextPageBox a {
|
||||
background-color: rgb(39, 39, 39)
|
||||
}
|
||||
|
||||
/*夜间黑*/
|
||||
.read_style_1 .textbox, .read_style_1 .read_menu li a, .read_style_1 .haveRead, .read_style_1 .nextPageBox a {
|
||||
background-color: rgba(255, 255, 255, .45)
|
||||
}
|
||||
|
||||
.read_style_2 .textbox, .read_style_2 .read_menu li a, .read_style_2 .haveRead, .read_style_2 .nextPageBox a, .read_style_3 .textbox, .read_style_3 .read_menu li a, .read_style_3 .haveRead, .read_style_3 .nextPageBox a, .read_style_4 .textbox, .read_style_4 .read_menu li a, .read_style_4 .haveRead, .read_style_4 .nextPageBox a, .read_style_5 .textbox, .read_style_5 .read_menu li a, .read_style_5 .haveRead, .read_style_5 .nextPageBox a {
|
||||
background-color: rgba(255, 255, 255, .4)
|
||||
}
|
||||
|
||||
.read_style_6 .textbox, .read_style_6 .read_menu li a, .read_style_6 .haveRead, .read_style_6 .nextPageBox a {
|
||||
background-color: rgba(255, 255, 255, .1)
|
||||
}
|
||||
|
||||
.read_style_1 .author_say, .read_style_1 .orderBox, .read_style_2 .author_say, .read_style_2 .orderBox, .read_style_3 .author_say, .read_style_3 .orderBox, .read_style_4 .author_say, .read_style_4 .orderBox, .read_style_5 .author_say, .read_style_5 .orderBox {
|
||||
background-color: #fcfbfa;
|
||||
background-color: rgba(255, 255, 255, .75)
|
||||
}
|
||||
|
||||
/*.read_style_1 .nextPageBox a { border-color: #e0e0e0 }
|
||||
.read_style_2 .nextPageBox a { border-color: #bad7b7 }
|
||||
.read_style_3 .nextPageBox a { border-color: #e5d3d3 }
|
||||
.read_style_4 .nextPageBox a { border-color: #e0dcd0 }
|
||||
.read_style_5 .nextPageBox a { border-color: #d3d3d3 }
|
||||
.read_style_6 .nextPageBox a { border-color: #555 }*/
|
||||
.read_style_6 .author_say, .read_style_6 .orderBox, .read_style_6 .textbox, .read_style_6 .book_title h1, .read_style_6 .read_menu li, .read_style_6 .haveRead, .read_style_6 .haveRead a, .read_style_6 .topMain a, .read_style_6 .searchBar .s_int, .read_style_6 .bookNav, .read_style_6 .bookNav a, .read_style_6 .textinfo, .read_style_6 .textinfo a, .read_style_6 .textinfo span, .read_style_6 .read_menu li a b {
|
||||
color: #999;
|
||||
box-shadow: none
|
||||
}
|
||||
|
||||
.read_style_6 .bookNav, .read_style_6 .author_say, .read_style_6 .orderBox, .read_style_6 .payFoot {
|
||||
border-color: #444 !important
|
||||
}
|
||||
|
||||
.readBody {
|
||||
height: 100%
|
||||
}
|
||||
|
||||
.readMain {
|
||||
margin: 0 auto;
|
||||
position: relative;
|
||||
z-index: 3;
|
||||
width: 900px
|
||||
}
|
||||
|
||||
/* 左右菜单栏 */
|
||||
.menu_left {
|
||||
width: 60px;
|
||||
z-index: 20;
|
||||
position: absolute;
|
||||
top: 60px;
|
||||
left: 50%;
|
||||
margin-left: -511px
|
||||
}
|
||||
|
||||
.menu_right {
|
||||
width: 60px;
|
||||
z-index: 20;
|
||||
position: absolute;
|
||||
bottom: 81px;
|
||||
right: 50%;
|
||||
margin-right: -511px;
|
||||
display: none
|
||||
}
|
||||
|
||||
.read_menu li {
|
||||
box-shadow: 0 0 1px 0 rgba(0, 0, 0, .05);
|
||||
margin-bottom: 1px;
|
||||
width: 60px;
|
||||
position: relative
|
||||
}
|
||||
|
||||
.read_menu li a {
|
||||
display: block;
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
position: relative; /*background-color: #fff;*/
|
||||
opacity: 0.95
|
||||
}
|
||||
|
||||
.read_menu li a i {
|
||||
display: none;
|
||||
width: 60px;
|
||||
text-align: center;
|
||||
color: #999;
|
||||
font-size: 13px;
|
||||
line-height: 1.5;
|
||||
padding-top: 20px
|
||||
}
|
||||
|
||||
.read_menu li a b {
|
||||
font-weight: 400;
|
||||
display: block;
|
||||
height: 60px;
|
||||
width: 60px;
|
||||
text-align: center;
|
||||
line-height: 90px;
|
||||
color: rgba(0, 0, 0, .5);
|
||||
}
|
||||
|
||||
.menu_left li a:hover, .menu_right li a:hover {
|
||||
opacity: 1
|
||||
}
|
||||
|
||||
.menu_left li a span, .menu_right li a span {
|
||||
background-position: -1px -126px;
|
||||
width: 6px;
|
||||
height: 6px;
|
||||
top: 13px;
|
||||
right: 13px;
|
||||
position: absolute
|
||||
}
|
||||
|
||||
.menu_left li a.ico_catalog {
|
||||
background-position: -60px -10px
|
||||
}
|
||||
|
||||
.menu_left li a.ico_page {
|
||||
background-position: 2px -10px
|
||||
}
|
||||
|
||||
.menu_left li a.ico_comment {
|
||||
background-position: -122px -65px
|
||||
}
|
||||
|
||||
.menu_left li a.ico_phone {
|
||||
background-position: -304px -10px
|
||||
}
|
||||
|
||||
.menu_left li a.ico_shelf, .menu_left li a.ico_shelfed {
|
||||
background-position: -182px -10px
|
||||
}
|
||||
|
||||
.menu_left li a.ico_setup {
|
||||
background-position: -122px -10px
|
||||
}
|
||||
|
||||
.menu_left li a.ico_pc {
|
||||
background-position: 1px -62px
|
||||
}
|
||||
|
||||
.menu_left li a.ico_flower {
|
||||
background-position: -62px -64px
|
||||
}
|
||||
|
||||
.menu_right li a.ico_pagePrev {
|
||||
background-position: -184px -60px
|
||||
}
|
||||
|
||||
.menu_right li a.ico_pageNext {
|
||||
background-position: -243px -60px
|
||||
}
|
||||
|
||||
.menu_right li a.ico_goTop {
|
||||
background-position: -304px -56px
|
||||
}
|
||||
|
||||
.menu_right li a.ico_pagePrev:hover, .menu_right li a.ico_pageNext:hover, .menu_right li a.ico_goTop:hover {
|
||||
background-image: none
|
||||
}
|
||||
|
||||
.menu_right li a:hover i {
|
||||
display: block
|
||||
}
|
||||
|
||||
/* 正文栏 */
|
||||
.textbox {
|
||||
border-radius: 2px;
|
||||
width: 98%;
|
||||
margin: 0 auto 20px;
|
||||
padding-bottom: 40px;
|
||||
box-shadow: 0 0 1px 0 rgba(0, 0, 0, .25);
|
||||
color: #111;
|
||||
}
|
||||
|
||||
.bookNav {
|
||||
width: 99%;
|
||||
margin: 0 auto;
|
||||
padding: 18px 0 12px;
|
||||
line-height: 2.5; /*border-bottom: 1px dotted rgba(0,0,0,.1)*/
|
||||
}
|
||||
|
||||
.bookNav a {
|
||||
font: 12px/1 "Microsoft YaHei";
|
||||
margin: 0 5px
|
||||
}
|
||||
|
||||
.readWrap {
|
||||
margin: 0 auto;
|
||||
width: 100%
|
||||
}
|
||||
|
||||
.book_title {
|
||||
width: 90%;
|
||||
margin: 0 auto;
|
||||
padding-bottom: 15px;
|
||||
position: relative
|
||||
}
|
||||
|
||||
.book_title h1 {
|
||||
padding: 60px 0 30px;
|
||||
font: 26px/1 "Microsoft YaHei";
|
||||
color: #000;
|
||||
text-align: center
|
||||
}
|
||||
|
||||
.textinfo {
|
||||
color: rgba(0, 0, 0, .5);
|
||||
font: 12px/1.8 "Microsoft YaHei";
|
||||
text-align: center;
|
||||
position: relative
|
||||
}
|
||||
|
||||
.textinfo a, .textinfo span {
|
||||
color: rgba(0, 0, 0, .5);
|
||||
margin-right: 15px;
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
margin-top: -3px;
|
||||
*margin-top: -1px;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap
|
||||
}
|
||||
|
||||
.readBox {
|
||||
width: 90%;
|
||||
margin: 0 auto;
|
||||
line-height: 2;
|
||||
font-size: 16px;
|
||||
padding: 10px 0 60px; /*min-height: 469px;*/
|
||||
word-wrap: break-word;
|
||||
word-break: break-word
|
||||
}
|
||||
|
||||
.readBox p {
|
||||
line-height: 2;
|
||||
margin-top: 1em;
|
||||
text-indent: 2em;
|
||||
}
|
||||
|
||||
.orderBox {
|
||||
width: 90%;
|
||||
margin: 0 auto 10px;
|
||||
padding: 40px 0;
|
||||
font-size: 14px;
|
||||
min-height: 330px;
|
||||
border: 1px solid rgba(0, 0, 0, .1);
|
||||
border-radius: 2px;
|
||||
}
|
||||
|
||||
.orderBox h3 {
|
||||
padding: 0 50px;
|
||||
font: 18px/1 "Microsoft YaHei";
|
||||
margin: 25px 0
|
||||
}
|
||||
|
||||
.order_list {
|
||||
padding: 0 50px;
|
||||
line-height: 2.6;
|
||||
}
|
||||
|
||||
.order_list .btns {
|
||||
padding: 20px 0
|
||||
}
|
||||
|
||||
/* 作者的话 */
|
||||
.author_say {
|
||||
margin: 35px auto 10px;
|
||||
width: 90%;
|
||||
min-height: 70px;
|
||||
border-radius: 3px;
|
||||
background: url(../images/author_say.png) no-repeat;
|
||||
border: 1px solid #e3e3e3 /*rgba(0,0,0,.1)*/
|
||||
}
|
||||
|
||||
.say_bar {
|
||||
padding: 14px 14px 14px 74px;
|
||||
font-size: 14px
|
||||
}
|
||||
|
||||
/* 翻页 */
|
||||
.nextPageBox {
|
||||
margin: 30px auto;
|
||||
text-align: center;
|
||||
width: 98%
|
||||
}
|
||||
|
||||
.nextPageBox a {
|
||||
width: 26%;
|
||||
height: 58px;
|
||||
line-height: 58px;
|
||||
font-size: 18px;
|
||||
display: inline-block;
|
||||
border-radius: 3px;
|
||||
text-align: center; /*background: rgba(255,255,255,0.5);*/
|
||||
opacity: .95;
|
||||
border: 1px solid rgba(0, 0, 0, .1);
|
||||
}
|
||||
|
||||
.nextPageBox a.prev, .nextPageBox a.dir {
|
||||
margin-right: 40px
|
||||
}
|
||||
|
||||
.nextPageBox a:hover { /*background: rgba(255,255,255,.8);*/
|
||||
opacity: 1;
|
||||
color: #333
|
||||
}
|
||||
|
||||
.read_style_6 .nextPageBox a {
|
||||
color: #999;
|
||||
border: none
|
||||
}
|
||||
|
||||
/*固定悬浮图层*/
|
||||
.readPopup {
|
||||
border: 1px solid #D9D9D9;
|
||||
border-radius: 3px;
|
||||
background: #FFF;
|
||||
box-shadow: 0 1px 2px #999;
|
||||
overflow: hidden;
|
||||
padding-bottom: 20px;
|
||||
z-index: 9999;
|
||||
position: fixed;
|
||||
left: 50%;
|
||||
top: 50%
|
||||
}
|
||||
|
||||
.icon_check {
|
||||
position: absolute;
|
||||
width: 29px;
|
||||
height: 25px;
|
||||
right: -1px;
|
||||
top: -1px;
|
||||
z-index: 2;
|
||||
background-position: 0 -142px
|
||||
}
|
||||
|
||||
.closePopup {
|
||||
position: absolute;
|
||||
top: 20px;
|
||||
right: 20px;
|
||||
width: 16px;
|
||||
height: 15px;
|
||||
background-posion: -43px -126px
|
||||
}
|
||||
|
||||
.chapterBox {
|
||||
width: 600px;
|
||||
margin-left: -300px;
|
||||
margin-top: -260px
|
||||
}
|
||||
|
||||
.chapterBox .scrollWrap {
|
||||
height: 540px
|
||||
}
|
||||
|
||||
/*弹窗内容*/
|
||||
.popupTit h2 {
|
||||
text-align: center;
|
||||
letter-spacing: 15px;
|
||||
color: #333;
|
||||
font: 700 20px/30px "Microsoft Yahei";
|
||||
margin: 30px 0
|
||||
}
|
||||
|
||||
.popupTit h3 {
|
||||
font-size: 16px;
|
||||
margin: 15px 20px
|
||||
}
|
||||
|
||||
.scrollWrap {
|
||||
overflow-y: scroll;
|
||||
position: relative
|
||||
}
|
||||
|
||||
.dirWrap {
|
||||
padding: 0 40px
|
||||
}
|
||||
|
||||
.scrollWrap h3 {
|
||||
padding-left: 26px;
|
||||
font-size: 14px;
|
||||
background: #e6e6e6;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
font-weight: normal;
|
||||
position: relative;
|
||||
cursor: pointer;
|
||||
margin: 0 0 15px;
|
||||
border-radius: 3px
|
||||
}
|
||||
|
||||
.readPopup .tc .btn_gray {
|
||||
margin-left: 30px
|
||||
}
|
||||
|
||||
/* 目录 */
|
||||
.dirList {
|
||||
overflow: hidden;
|
||||
*zoom: 1
|
||||
}
|
||||
|
||||
.dirList li {
|
||||
float: left;
|
||||
width: 40%;
|
||||
padding-left: 26px;
|
||||
height: 40px;
|
||||
line-height: 40px;
|
||||
overflow: hidden;
|
||||
margin-right: 20px;
|
||||
*zoom: 1
|
||||
}
|
||||
|
||||
.dirList li a {
|
||||
float: left;
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
width: 220px
|
||||
}
|
||||
|
||||
/* 加书架 */
|
||||
.readTipBox {
|
||||
width: 400px;
|
||||
padding-bottom: 30px;
|
||||
margin-left: -200px;
|
||||
margin-top: -105px
|
||||
}
|
||||
|
||||
.tipWrap {
|
||||
padding: 30px
|
||||
}
|
||||
|
||||
/* 设置 */
|
||||
.setupBox {
|
||||
width: 480px;
|
||||
margin-left: -240px;
|
||||
margin-top: -130px
|
||||
}
|
||||
|
||||
.setupList {
|
||||
padding: 5px 40px
|
||||
}
|
||||
|
||||
.setupList li {
|
||||
font-size: 14px;
|
||||
padding: 15px 0
|
||||
}
|
||||
|
||||
.setupList li a {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
margin: 0 6px;
|
||||
text-align: center
|
||||
}
|
||||
|
||||
.readTheme a {
|
||||
width: 34px;
|
||||
height: 34px;
|
||||
border-radius: 50%;
|
||||
position: relative;
|
||||
border: 1px solid rgba(0, 0, 0, .1)
|
||||
}
|
||||
|
||||
.readTheme .white {
|
||||
background-color: #faf6ed;
|
||||
margin-left: 15px
|
||||
}
|
||||
|
||||
.readTheme .green {
|
||||
background-color: #e2efe2
|
||||
}
|
||||
|
||||
/*.readTheme .blue { background-color: #E8FDFE }*/
|
||||
.readTheme .pink {
|
||||
background-color: #FDD9D9
|
||||
}
|
||||
|
||||
.readTheme .yellow {
|
||||
background-color: #F1DEBD
|
||||
}
|
||||
|
||||
.readTheme .gray {
|
||||
background-color: #eee
|
||||
}
|
||||
|
||||
.readTheme .night {
|
||||
background-color: #666
|
||||
}
|
||||
|
||||
/*.readTheme a.current, .readTheme a:hover { box-shadow: 1px 3px 5px #aaa }*/
|
||||
.read_style_1 .readTheme .white, .read_style_2 .readTheme .green, .read_style_3 .readTheme .pink, .read_style_4 .readTheme .yellow, .read_style_5 .readTheme .gray, .read_style_6 .readTheme .night {
|
||||
border-color: #3eaf7c
|
||||
}
|
||||
|
||||
.setBtn a {
|
||||
border: 1px solid #D9D9D9;
|
||||
width: 53px;
|
||||
height: 28px;
|
||||
line-height: 28px;
|
||||
box-shadow: 0 1px 1px #ECECEC;
|
||||
border-radius: 3px
|
||||
}
|
||||
|
||||
.setBtn .act {
|
||||
color: #CC2931
|
||||
}
|
||||
|
||||
.setFont .setSimsun {
|
||||
font-family: Simsun;
|
||||
font-size: 13px
|
||||
}
|
||||
|
||||
.setFont .setKs {
|
||||
font-family: kaiti;
|
||||
font-size: 15px
|
||||
}
|
||||
|
||||
.setupList li.fontSize a {
|
||||
text-align: center;
|
||||
margin: 0;
|
||||
font-size: 16px;
|
||||
width: 70px;
|
||||
box-shadow: 0 1px 0 #ECECEC
|
||||
}
|
||||
|
||||
.setupList li.fontSize a.small {
|
||||
margin-left: 8px;
|
||||
border-right: none;
|
||||
border-radius: 3px 0 0 3px
|
||||
}
|
||||
|
||||
.setupList li.fontSize a.big {
|
||||
border-left: none;
|
||||
border-radius: 0 3px 3px 0
|
||||
}
|
||||
|
||||
.setupList li.fontSize .current_font {
|
||||
display: inline-block;
|
||||
padding: 0 22px;
|
||||
border: 1px solid #D9D9D9;
|
||||
height: 28px;
|
||||
line-height: 28px;
|
||||
box-shadow: 0 1px 1px #ECECEC;
|
||||
vertical-align: middle
|
||||
}
|
||||
|
||||
/* 手机阅读 */
|
||||
.qrBox {
|
||||
width: 280px;
|
||||
margin-left: -140px;
|
||||
margin-top: -120px
|
||||
}
|
||||
|
||||
.qrList {
|
||||
text-align: center;
|
||||
width: 166px;
|
||||
margin: 30px auto 15px
|
||||
}
|
||||
|
||||
.qr_img {
|
||||
width: 160px;
|
||||
height: 160px;
|
||||
margin: 0 auto 10px;
|
||||
display: block
|
||||
}
|
||||
|
||||
.qrCodeBox p {
|
||||
color: #999
|
||||
}
|
||||
|
||||
/*遮罩层*/
|
||||
.maskBox {
|
||||
position: fixed;
|
||||
left: 0;
|
||||
top: 0;
|
||||
z-index: 995;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: black;
|
||||
filter: alpha(opacity=20);
|
||||
opacity: 0.2;
|
||||
animation: mask 2s ease-out 0s 1 normal
|
||||
}
|
||||
|
||||
@keyframes mask {
|
||||
0% {
|
||||
filter: alpha(opacity=0);
|
||||
opacity: 0
|
||||
}
|
||||
100% {
|
||||
filter: alpha(opacity=20);
|
||||
opacity: 0.2
|
||||
}
|
||||
}
|
||||
|
||||
.pc_bar {
|
||||
padding: 30px 0 10px;
|
||||
text-align: center;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.icon_pc {
|
||||
box-shadow: 0 1px 1px rgba(0, 0, 0, .3);
|
||||
padding: 3px;
|
||||
display: inline-block;
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
.icon_pc span {
|
||||
width: 96px;
|
||||
height: 96px;
|
||||
line-height: 1;
|
||||
border-radius: 50%;
|
||||
display: inline-block;
|
||||
background-color: #3eaf7c;
|
||||
color: #fefefe;
|
||||
font-size: 22px;
|
||||
letter-spacing: 0px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.icon_pc:hover span {
|
||||
background: #ed4259
|
||||
}
|
||||
|
||||
.icon_yb {
|
||||
width: 37px;
|
||||
height: 27px;
|
||||
display: block;
|
||||
background-position: 0 -173px;
|
||||
margin: 19px auto 7px
|
||||
}
|
||||
|
||||
.icon_pc em {
|
||||
filter: alpha(opacity=90);
|
||||
-moz-opacity: 0.9;
|
||||
opacity: 0.9;
|
||||
}
|
||||
|
||||
.read_dz {
|
||||
height: 40px;
|
||||
line-height: 40px;
|
||||
border-radius: 40px;
|
||||
padding: 0 22px;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#0c000000, endColorstr=#0c000000);
|
||||
background: rgba(0, 0, 0, .07);
|
||||
display: block;
|
||||
position: absolute;
|
||||
bottom: 35px;
|
||||
right: 50px;
|
||||
color: #444;
|
||||
font-size: 18px
|
||||
}
|
||||
|
||||
.read_dz:hover {
|
||||
color: #444;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#19000000, endColorstr=#19000000);
|
||||
background: rgba(0, 0, 0, .1)
|
||||
}
|
||||
|
||||
.read_dz i {
|
||||
width: 25px;
|
||||
height: 25px;
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
top: 4px;
|
||||
margin-right: 6px;
|
||||
background: url(../images/icon_readdz.png) no-repeat
|
||||
}
|
||||
|
||||
.read_style_6 .read_dz {
|
||||
color: #aaa
|
||||
}
|
||||
|
||||
.read_dz.on {
|
||||
color: #3eaf7c;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#0cff8800, endColorstr=#0cff8800);
|
||||
background: rgba(255, 136, 0, .05)
|
||||
}
|
||||
|
||||
.read_dz.on i {
|
||||
background-position: -30px 0
|
||||
}
|
||||
|
||||
.haveRead {
|
||||
border-radius: 2px; /*background: #fff;*/
|
||||
width: 98%;
|
||||
margin: 0 auto 20px;
|
||||
}
|
||||
|
||||
.haveRead h4 {
|
||||
padding: 25px 40px 0;
|
||||
font-weight: normal
|
||||
}
|
||||
|
||||
.haveRead ul {
|
||||
padding: 0 15px 10px
|
||||
}
|
||||
|
||||
.haveRead li {
|
||||
float: left;
|
||||
width: 124px;
|
||||
margin: 15px 23px
|
||||
}
|
||||
|
||||
.haveRead .items_img {
|
||||
display: block
|
||||
}
|
||||
|
||||
.haveRead .items_img img {
|
||||
width: 120px;
|
||||
height: 150px;
|
||||
background: #f6f6f6;
|
||||
border: 1px solid #ebebeb;
|
||||
padding: 1px;
|
||||
}
|
||||
|
||||
.haveRead .items_img:hover img {
|
||||
border-color: #ccc
|
||||
}
|
||||
|
||||
.haveRead .items_link {
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
width: 124px;
|
||||
overflow: hidden;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.payFoot {
|
||||
line-height: 2.4;
|
||||
padding: 30px 0 20px;
|
||||
margin: 10px 50px 0;
|
||||
font-size: 13px;
|
||||
color: #808080;
|
||||
border-top: 1px solid #eee
|
||||
}
|
||||
|
||||
.readBanner {
|
||||
width: 98%;
|
||||
padding-top: 25px
|
||||
}
|
||||
|
||||
.readBanner img {
|
||||
max-width: 100%
|
||||
}
|
||||
|
||||
.read_style_6 .readBanner img, .read_style_6 .haveRead .items_img img {
|
||||
filter: alpha(opacity=80);
|
||||
opacity: .8
|
||||
}
|
||||
|
||||
:root .topMain {
|
||||
filter: none
|
||||
}
|
||||
|
||||
/*全本订阅*/
|
||||
.order_bar {
|
||||
text-align: center;
|
||||
padding-bottom: 30px
|
||||
}
|
||||
|
||||
.order_zj {
|
||||
width: 178px;
|
||||
padding: 15px 0;
|
||||
margin: 0 14px;
|
||||
display: inline-block;
|
||||
transition: width .3s;
|
||||
border: 1px solid #d8d8d8;
|
||||
background: rgba(255, 255, 255, .7);
|
||||
border-radius: 4px
|
||||
}
|
||||
|
||||
.order_zj:hover {
|
||||
color: #333;
|
||||
background: rgba(255, 255, 255, .2);
|
||||
border-color: #d1d1d1
|
||||
}
|
||||
|
||||
.order_zj h4 {
|
||||
font-size: 18px;
|
||||
font-weight: normal
|
||||
}
|
||||
|
||||
.order_zj .price {
|
||||
font-size: 12px;
|
||||
padding-top: 6px
|
||||
}
|
||||
|
||||
.order_zj .price .red {
|
||||
margin-left: 5px
|
||||
}
|
||||
|
||||
.order_allzj {
|
||||
background: #3eaf7c;
|
||||
color: #fff;
|
||||
border-color: #3eaf7c
|
||||
}
|
||||
|
||||
.order_allzj .red {
|
||||
color: #fff
|
||||
}
|
||||
|
||||
.order_allzj:hover {
|
||||
color: #fff;
|
||||
background: #3eaf7c;
|
||||
border-color: #3eaf7c
|
||||
}
|
||||
|
||||
.order_tip {
|
||||
padding: 25px 0 10px;
|
||||
color: #999;
|
||||
font-size: 13px
|
||||
}
|
||||
|
||||
.dqye {
|
||||
font-size:15px }
|
137
templates/green/static/css/user.css
Normal file
@ -0,0 +1,137 @@
|
||||
@charset "utf-8";
|
||||
.updateTable .style a { color:#999 }
|
||||
.updateTable .author a { color:#999; cursor:text }
|
||||
.bind, .updateTable .style a:hover { color:#f65167 }
|
||||
.userBox { /*width: 998px; border: 1px solid #eaeaea;*/ margin:0 auto 50px; background: #fff; border-radius: 6px }
|
||||
.channelViewhistory .userBox { margin: 0 auto }
|
||||
.user_l { width:350px; float:left; padding:100px 124px }
|
||||
.user_l h3 { font-size:23px; font-weight:normal; line-height:1; text-align: center }
|
||||
.user_l #LabErr { color:#ff4040; display:block; height:40px; line-height:40px; text-align: center; font-size: 14px }
|
||||
.user_l .log_list { width:350px }
|
||||
.user_l .s_input { margin-bottom:25px; font-size:14px }
|
||||
.s_input { width:348px; height:38px; line-height:38px\9; vertical-align:middle; border:1px solid #ddd; border-radius:2px }
|
||||
.icon_name, .icon_key, .icon_code { width:312px; padding-left:36px; background:url(../images/icon_user.png) no-repeat 13px 13px }
|
||||
.icon_key { background-position: 13px -51px }
|
||||
.icon_code { background-position: 13px -117px; width:200px; float:left }
|
||||
.code_pic { height:38px; float:right }
|
||||
.btn_phone { height:40px; width:100px; float:right; cursor:pointer; padding:0; text-align:center; border-radius:2px; background:#dfdfdf }
|
||||
.log_code { *padding-bottom:25px }
|
||||
.user_l .btn_red { width:100%; font-size:19px; padding:12px }
|
||||
.autologin { color:#999; line-height:1; margin-bottom:18px }
|
||||
.autologin em { vertical-align:2px; margin-left:4px }
|
||||
.user_r { width:259px; margin:80px 0; padding:20px 70px; border-left:1px dotted #e3e3e3; float:right; text-align:center }
|
||||
.user_r .tit { font-size:16px; line-height:1; padding: 6px 0 25px }
|
||||
.user_r .btn_ora { padding:10px 34px }
|
||||
.fast_login { padding:60px 0 0 }
|
||||
.fast_list { text-align:center; padding:0.5rem }
|
||||
.fast_list li { display:inline-block; *display:inline; zoom:1 }
|
||||
.fast_list li .img { width:48px; height:48px; margin:20px 0 5px }
|
||||
.fast_list li a:hover { opacity:0.8; filter: alpha(opacity=80); -moz-opacity: 0.8 }
|
||||
.fast_list li span { display:block }
|
||||
.fast_list .login_qq { margin:0 42px }
|
||||
.fast_list .login_wb a { color:#f55c5b }
|
||||
.fast_list .login_qq a { color:#51b7ff }
|
||||
.fast_list .login_wx a { color:#66d65e }
|
||||
.fast_tit { position:relative; overflow:hidden }
|
||||
.fast_tit .lines { position:absolute; top:50%; left:0; width:100%; height:1px; line-height:1; background:#eaeaea }
|
||||
.fast_tit .title { background:#fff; font-size:16px; padding:3px 14px; position:relative; display:inline-block; z-index:999 }
|
||||
/*userinfo*/
|
||||
.my_l { width:198px; float:left; font-size: 13px; padding-top: 20px; }
|
||||
.my_l li a { display:block; height:42px; line-height:42px; padding-left:62px; border-left:4px solid #fff; background:url(../images/icon_user.png) no-repeat; margin-bottom:5px; color: #666 }
|
||||
.my_l li .on { background-color:#fafafa; border-left:2px solid #3eaf7c; color:#000; border-radius: 0 2px 2px 0 }
|
||||
.my_l .link_1 { background-position:32px -188px }
|
||||
.my_l .link_2 { background-position:32px -230px }
|
||||
.my_l .link_3 { background-position:32px -272px }
|
||||
.my_l .link_4 { background-position:32px -314px }
|
||||
.my_l .link_5 { background-position:32px -356px }
|
||||
.my_l .link_6 { background-position:32px -397px }
|
||||
.my_l .link_7 { background-position:32px -440px }
|
||||
.my_l .link_8 { background-position:32px -481px }
|
||||
.my_r { width:739px; padding:0 30px 30px; float:right; border-left:1px solid #efefef; min-height:470px }
|
||||
.my_info { padding:30px 0 5px }
|
||||
.user_big_head { /*width:110px; height:110px; padding:4px; border:1px solid #eaeaea;*/ margin-right:30px; float:left; width: 80px;
|
||||
height: 80px;
|
||||
border-radius: 50%; }
|
||||
.my_r .my_name { font-size:18px; line-height:1; padding:5px 0 12px 0 }
|
||||
.my_r .s_input { width:318px; padding:0 10px }
|
||||
.my_list li { line-height:28px }
|
||||
.my_list li i, .my_list li em.red { margin-right:6px }
|
||||
.my_list .binded { color:#999; margin-left:6px }
|
||||
.my_list .btn_link { margin-left:12px }
|
||||
.mytab_list li { line-height:30px; padding:10px 0; font-size:14px }
|
||||
.mytab_list li .tit { width:70px; color: #aaa; text-align:right; display:inline-block; margin-right:18px }
|
||||
.mytab_list .user_img { width:48px; height:48px; vertical-align:middle; border-radius:50% }
|
||||
.my_bookshelf .title { padding:20px 0 15px; line-height:30px }
|
||||
.my_bookshelf h4 { font-size:14px; color:#666 }
|
||||
.my_bookshelf h2 { font-size:18px; font-weight:normal }
|
||||
.updateTable { width: 739px; color: #999 }
|
||||
.updateTable table { width: 100%; margin-bottom:14px }
|
||||
.updateTable th, .updateTable td { height: 40px; line-height: 40px; vertical-align: middle; padding-left: 6px; font-weight:normal; text-align:left }
|
||||
.updateTable th { background:#f9f9f9; color:#333; border-top:1px solid #eee }
|
||||
.updateTable td { height:40px; line-height:40px }
|
||||
.updateTable .style { width:80px; padding-left:10px }
|
||||
.updateTable .name { width: 178px; padding-right: 10px }
|
||||
.updateTable .name a, .updateTable .chapter a { max-width: 168px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap }
|
||||
.updateTable .chapter { padding-right: 5px }
|
||||
.updateTable .chapter a { max-width:220px; float: left }
|
||||
.updateTable .author { width: 72px; text-align: left }
|
||||
.updateTable .goread { width: 80px; text-align:center }
|
||||
.updateTable .time { width: 86px }
|
||||
.updateTable .word { width: 64px; padding-right:10px; text-align: right }
|
||||
.updateTable .rank { width: 30px; padding-right:10px; text-align: center }
|
||||
.updateTable .name a, .updateTable .chapter a, .updateTable .author a { height: 40px; line-height: 40px; display: inline-block; overflow: hidden }
|
||||
.updateTable tr:nth-child(2n) td { background:#fafafa }
|
||||
.dataTable { width: 739px }
|
||||
.dataTable table { width: 100%; margin-bottom:14px; border-collapse:collapse }
|
||||
.dataTable th, .dataTable td { height: 40px; line-height: 40px; vertical-align: middle; padding:0 10px; font-weight:normal; text-align:center; border:1px solid #eaeaea }
|
||||
.dataTable th { background:#f8f8f8 }
|
||||
.nodate { border-top: 1px solid #eaeaea; padding:60px 0 }
|
||||
.viewhistoryBox { /*padding: 0 30px 30px; */ padding: 0 20px 10px }
|
||||
.viewhistoryBox .updateTable { width:100% }
|
||||
/*.btn_gray, .btn_red, .btn_ora { font-size:14px; padding:8px 28px }*/
|
||||
.book_tit { height: 48px; line-height:48px; margin: 0 14px; border-bottom: 1px solid #eaeaea; overflow:hidden }
|
||||
.book_tit .fl { font-size:14px; color:#999 }
|
||||
.book_tit .fl h3 { font-size:18px; color:#333; font-weight:normal; margin-right:5px; display:inline }
|
||||
.book_tit .fr { font-size:14px }
|
||||
|
||||
.commentBar, .feedback_list { border-top:1px solid #eee; margin-bottom:15px }
|
||||
/*.comment_list { padding: 16px 0; border-bottom: 1px solid #eee }
|
||||
.comment_list .user_head { width:54px; height:54px; border-radius:50%; float: left; margin-right: 14px }
|
||||
.comment_list .li_1 { overflow: hidden }
|
||||
.comment_list .user_name { color: #ed4259 }
|
||||
.comment_list .li_2 { padding:3px 0; color:#999 }
|
||||
.comment_list .li_3, .comment_list .li_4 { margin-left:68px }
|
||||
.comment_list .reply { padding-left: 12px }
|
||||
.comment_list .num { color: #ed4259; margin: 0 3px }
|
||||
.comment_list .li_4 { line-height:34px; padding-top:8px; margin-top:15px; border-top:1px solid #eaeaea }
|
||||
.comment_list .li_4 .more { background:#f7f7f7; border-radius:2px; color:#ed4259; text-align:center }*/
|
||||
.no_contet { padding:190px 0 40px; text-align:center; color:#999; border-top:1px solid #eee }
|
||||
.no_comment { background:url(../images/no_comment.png) no-repeat center 80px }
|
||||
|
||||
.comment_list { padding: 20px 0; border-bottom: 1px solid #eee }
|
||||
.comment_list:last-child { border: none }
|
||||
.comment_list .user_heads { /*width: 54px; height: 54px; float: left;*/ position:relative; margin-right: 20px }
|
||||
.comment_list .user_head { width: 50px; height: 50px; border-radius: 50%; background: #f6f6f6 }
|
||||
.comment_list .user_heads span { display: block; margin: 0; position: absolute; left: 12px; bottom: 0 }
|
||||
.comment_list ul { /*width: 640px;*/ width: 660px; }
|
||||
.comment_list .li_0 { font-family: "宋体" }
|
||||
.comment_list .li_0 strong { font-size: 14px; color: #f00 }
|
||||
.comment_list .li_1 { overflow: hidden }
|
||||
.comment_list .user_name { color: #ed4259 }
|
||||
.comment_list .li_2 { padding: 6px 0 }
|
||||
.comment_list .li_3 { color: #999 }
|
||||
.comment_list .reply { padding-left: 12px }
|
||||
.comment_list .num { color: #ed4259; margin: 0 3px }
|
||||
.comment_list .li_4 { line-height: 34px; padding-top: 8px; margin-top: 15px; border-top: 1px solid #eaeaea }
|
||||
.pl_bar li { display: block }
|
||||
.pl_bar .name { color: #666; padding-top: 2px; font-size: 14px }
|
||||
.pl_bar .dec { font-size: 14px; line-height: 1.8; padding: 12px 0 }
|
||||
.pl_bar .other { line-height: 24px; color: #999; font-size: 13px }
|
||||
.pl_bar .other a { display: inline-block; color: #999 }
|
||||
.pl_bar .reply { padding-left: 22px; background: url(../images/icon_reply.png) no-repeat 0 2px }
|
||||
/*.no_comment { padding: 70px 14px 115px; color: #CCCCCC; text-align: center; font-size: 14px; }*/
|
||||
.reply_bar {
|
||||
background: #f9f9f9;
|
||||
border: 1px solid #eee; border-radius: 6px;
|
||||
padding: 10px;
|
||||
line-height: 1.8;}
|
BIN
templates/green/static/images/404.jpeg
Normal file
After Width: | Height: | Size: 9.5 KiB |
BIN
templates/green/static/images/author_head.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
templates/green/static/images/default.gif
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
templates/green/static/images/icon_dt.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
templates/green/static/images/icon_readpage.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
templates/green/static/images/icon_reply.png
Normal file
After Width: | Height: | Size: 679 B |
BIN
templates/green/static/images/icon_sj.png
Normal file
After Width: | Height: | Size: 582 B |
BIN
templates/green/static/images/icon_user.png
Normal file
After Width: | Height: | Size: 6.3 KiB |
BIN
templates/green/static/images/login_qq.png
Normal file
After Width: | Height: | Size: 6.2 KiB |
BIN
templates/green/static/images/login_weibo.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
templates/green/static/images/login_weixin.png
Normal file
After Width: | Height: | Size: 8.7 KiB |
BIN
templates/green/static/images/logo.png
Normal file
After Width: | Height: | Size: 3.2 KiB |
BIN
templates/green/static/images/logo_white.png
Normal file
After Width: | Height: | Size: 5.9 KiB |
BIN
templates/green/static/images/man.png
Normal file
After Width: | Height: | Size: 788 B |
BIN
templates/green/static/images/no_comment.png
Normal file
After Width: | Height: | Size: 2.5 KiB |
BIN
templates/green/static/images/pay_wx.png
Normal file
After Width: | Height: | Size: 3.6 KiB |
BIN
templates/green/static/images/pay_zfb.png
Normal file
After Width: | Height: | Size: 5.7 KiB |
BIN
templates/green/static/images/pic_upload.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
templates/green/static/images/search.png
Normal file
After Width: | Height: | Size: 6.3 KiB |
BIN
templates/green/static/images/smlcover.png
Normal file
After Width: | Height: | Size: 390 KiB |
617
templates/green/static/javascript/YT.js
Normal file
@ -0,0 +1,617 @@
|
||||
var $C = function (objName) {
|
||||
if (typeof (document.getElementById(objName)) != "object")
|
||||
{ return null; }
|
||||
else
|
||||
{ return document.getElementById(objName); }
|
||||
}
|
||||
var YT = {
|
||||
BaseCommon: {
|
||||
gL: function (x) { var l = 0; while (x) { l += x.offsetLeft; x = x.offsetParent; } return l },
|
||||
gT: function (x) { var t = 0; while (x) { t += x.offsetTop; x = x.offsetParent; } return t }
|
||||
},
|
||||
BaseData: {
|
||||
WaitImg: "/images/loading.gif"
|
||||
},
|
||||
Fun: {
|
||||
GetWordLength: function (str) {
|
||||
str = str.replace(/(\n)+|(\r\n)+/g, "");
|
||||
str = str.replace(" ", "");
|
||||
str = str.replace(" ", "");
|
||||
return str.length;
|
||||
},
|
||||
ConvertToMoney: function (btanch) {
|
||||
if (btanch != undefined) {
|
||||
return parseFloat(btanch) / 100;
|
||||
}
|
||||
else {
|
||||
return 0;
|
||||
}
|
||||
},
|
||||
LoadShow: function () {
|
||||
if ($C("LayerShowPic") == null) {
|
||||
var sp = document.createElement("div");
|
||||
sp.innerHTML = "<div id=\"LayerShowPic\" style=\"position:absolute;width:180px;height:70px;z-index:100;background-color: #fdfce9;border: 1px solid #666666;font-size:12px;\"><div align=\"center\" style=\"z-index:91;\"><br><img src=\"" + YT.BaseData.WaitImg + "\" align=\"absmiddle\" /> 请稍后…</div></div><iframe id=\"LayerCover\" style=\"position:absolute;width:100%;height:100%;z-index:10;left: 0px;top: 0px;background-color:#eeeeee;FILTER: alpha(opacity=1);opacity: 0.3 !important; \"></iframe>";
|
||||
document.body.appendChild(sp);
|
||||
}
|
||||
$C("LayerShowPic").style.display = '';
|
||||
$C("LayerCover").style.display = '';
|
||||
$C("LayerCover").style.height = String(document.documentElement.scrollHeight) + 'px';
|
||||
YT.Fun.ScreenCenter($C("LayerShowPic"), 266, 200);
|
||||
|
||||
},
|
||||
LoadHide: function () {
|
||||
if ($C("LayerShowPic") != null) {
|
||||
$C("LayerShowPic").style.display = 'none';
|
||||
$C("LayerCover").style.display = 'none';
|
||||
}
|
||||
},
|
||||
ScreenCenter: function (obj, width, height) {
|
||||
if (obj.style.display == 'none') {
|
||||
obj.style.display = '';
|
||||
}
|
||||
var scrolltop = document.documentElement.scrollTop;
|
||||
if (width <= 0) {
|
||||
width = obj.offsetWidth;
|
||||
}
|
||||
if (height <= 0) {
|
||||
height = obj.offsetHeight;
|
||||
}
|
||||
if (scrolltop == null || scrolltop == 0) {
|
||||
scrolltop = document.body.scrollTop;
|
||||
}
|
||||
var offsetHT = document.body.clientHeight / 2 - height / 2;
|
||||
if (offsetHT <= 0) { offsetHT = 10; }
|
||||
var offsetWT = document.body.clientWidth / 2 - width / 2;
|
||||
if (offsetWT <= 0) { offsetWT = 10; }
|
||||
obj.style.top = String(scrolltop + offsetHT) + 'px';
|
||||
obj.style.left = String(offsetWT) + 'px';
|
||||
},
|
||||
NewPanel: function (url, title, width, height, needFits) {
|
||||
if (typeof (width) == 'undefind' || width == null) { width = 750; }
|
||||
if (typeof (height) == 'undefind' || height == null) { height = 550; }
|
||||
var fits = false;
|
||||
if (typeof (needFits) != "undefined" && needFits) {
|
||||
if (document.body.clientWidth < 650 || document.body.clientHeight < 450 || document.body.clientHeight - 50 < height)
|
||||
{ fits = true; }
|
||||
}
|
||||
if ($C("YT_Panel") == null) {
|
||||
var sp = document.createElement("div");
|
||||
sp.innerHTML = "<div id=\"YT_Panel\" class=\"easyui-panel\"><iframe frameborder=\"0\" id=\"YT_Panel_i\" name=\"YT_Panel_i\" scrolling=\"auto\" src=\"" + url + "\" style=\"height:100%;visibility:inherit; width:100%;z-index:1;\"></iframe></div>";
|
||||
document.body.appendChild(sp);
|
||||
}
|
||||
if (url.indexOf("?") > 0) {
|
||||
url = url + "&";
|
||||
}
|
||||
else {
|
||||
url = url + "?";
|
||||
}
|
||||
url = url + "randomkeys=" + Math.random();
|
||||
$C("YT_Panel_i").src = url;
|
||||
var sTop = null, sLeft = null;
|
||||
if (window.screen.height < 800) {
|
||||
sTop = 0;
|
||||
}
|
||||
if (fits) {
|
||||
sLeft = 0;
|
||||
}
|
||||
$('#YT_Panel').window({
|
||||
width: width,
|
||||
height: height,
|
||||
title: title,
|
||||
collapsible: true,
|
||||
minimizable: false,
|
||||
maximizable: true,
|
||||
closable: true,
|
||||
modal: true,
|
||||
fit: fits,
|
||||
top: sTop,
|
||||
left: sLeft
|
||||
});
|
||||
},
|
||||
NewPanelNoClose: function (url, title, width, height) {
|
||||
if (typeof (width) == 'undefind' || width == null) { width = 750; }
|
||||
if (typeof (height) == 'undefind' || height == null) { height = 550; }
|
||||
if ($C("YT_Panel") == null) {
|
||||
var sp = document.createElement("div");
|
||||
sp.innerHTML = "<div id=\"YT_Panel\" class=\"easyui-panel\" ><iframe frameborder=\"0\" id=\"YT_Panel_i\" name=\"YT_Panel_i\" scrolling=\"auto\" src=\"" + url + "\" style=\"height:100%;visibility:inherit; width:100%;z-index:1;\"></iframe></div>";
|
||||
document.body.appendChild(sp);
|
||||
}
|
||||
if (url.indexOf("?") > 0) {
|
||||
url = url + "&";
|
||||
}
|
||||
else {
|
||||
url = url + "?";
|
||||
}
|
||||
url = url + "randomkeys=" + Math.random();
|
||||
$C("YT_Panel_i").src = url;
|
||||
$('#YT_Panel').window({
|
||||
width: width,
|
||||
height: height,
|
||||
title: title,
|
||||
collapsible: false,
|
||||
minimizable: false,
|
||||
maximizable: true,
|
||||
closable: false,
|
||||
modal: true
|
||||
});
|
||||
},
|
||||
ClosePanel: function (id) {
|
||||
if (typeof (id) == 'undefind' || id == null) {
|
||||
$('#YT_Panel').panel('close');
|
||||
/*CreateGrid();*/
|
||||
CreateGridReload();
|
||||
}
|
||||
else { $('#' + id).panel('close'); }
|
||||
},
|
||||
/*格式化时间字符串*/
|
||||
formatDate: function (now, types) {
|
||||
if (now != null && now != "") {
|
||||
var dateN = new Date(+/\d+/.exec(now)[0]);
|
||||
var year = dateN.getFullYear();
|
||||
var month = dateN.getMonth() + 1;
|
||||
var date = dateN.getDate();
|
||||
var hour = dateN.getHours();
|
||||
var minute = dateN.getMinutes();
|
||||
var second = dateN.getSeconds();
|
||||
if (typeof (types) != "undefined" && types != null) {
|
||||
return year + "-" + month + "-" + date;
|
||||
}
|
||||
else if (hour == 0 && minute == 0 && second == 0) {
|
||||
return year + "-" + month + "-" + date;
|
||||
}
|
||||
else {
|
||||
return year + "-" + month + "-" + date + " " + hour + ":" + minute + ":" + second;
|
||||
}
|
||||
}
|
||||
else {
|
||||
return "";
|
||||
}
|
||||
},
|
||||
/** 获取当前时间月份*/
|
||||
formatMonth: function (now) {
|
||||
if (now != null && now != "") {
|
||||
var dateN = new Date(+/\d+/.exec(now)[0]);
|
||||
var month = dateN.getMonth() + 1;
|
||||
return month;
|
||||
}
|
||||
else {
|
||||
return "";
|
||||
}
|
||||
},
|
||||
/** 获取当前时间具体的某一天*/
|
||||
formatDay: function (now) {
|
||||
if (now != null && now != "") {
|
||||
var dateN = new Date(+/\d+/.exec(now)[0]);
|
||||
var month = dateN.getMonth() + 1;
|
||||
var date = dateN.getDate();
|
||||
return month + "-" + date;
|
||||
}
|
||||
else {
|
||||
return "";
|
||||
}
|
||||
},
|
||||
/** 获取所属时间的季度*/
|
||||
formatSeasonal: function (now) {
|
||||
if (now != null && now != "") {
|
||||
var dateN = new Date(+/\d+/.exec(now)[0]);
|
||||
var year = dateN.getFullYear();
|
||||
var month = dateN.getMonth() + 1;
|
||||
if (month == 1) {
|
||||
return year + "年第1季度";
|
||||
}
|
||||
else if (month == 4) {
|
||||
return year + "年第2季度";
|
||||
}
|
||||
else if (month == 7) {
|
||||
return year + "年第三季度";
|
||||
}
|
||||
else {
|
||||
return year + "年第四季度";
|
||||
}
|
||||
}
|
||||
else {
|
||||
return "";
|
||||
}
|
||||
},
|
||||
|
||||
formatStatus: function (id) {
|
||||
if (id == 0) {
|
||||
return "无效";
|
||||
}
|
||||
else {
|
||||
return "有效";
|
||||
}
|
||||
},
|
||||
ShowPanel: function (obj, divName, xlong, ylong) {
|
||||
var showobj = $C(divName);
|
||||
if (showobj) {
|
||||
if (showobj.style.display == 'none') {
|
||||
showobj.style.display = '';
|
||||
}
|
||||
if (xlong)
|
||||
{ showobj.style.top = YT.BaseCommon.gT(obj) + 20 + xlong + "px"; }
|
||||
else
|
||||
{ showobj.style.top = YT.BaseCommon.gT(obj) + 20 + "px"; }
|
||||
if (ylong)
|
||||
{ showobj.style.left = YT.BaseCommon.gL(obj) + ylong + "px"; }
|
||||
else
|
||||
{ showobj.style.left = YT.BaseCommon.gL(obj) + "px"; }
|
||||
}
|
||||
},
|
||||
GetDateDiff:function(startTime,endTime, diffType) {
|
||||
startTime = startTime.replace(/\-/g, "/");
|
||||
endTime= endTime.replace(/\-/g, "/");
|
||||
diffType = diffType.toLowerCase();
|
||||
var sTime = new Date(startTime);
|
||||
var eTime = new Date(endTime);
|
||||
var timeType = 1;
|
||||
switch (diffType) {
|
||||
case "second":
|
||||
timeType = 1000;
|
||||
break;
|
||||
case "minute":
|
||||
timeType = 1000 * 60;
|
||||
break;
|
||||
case "hour":
|
||||
timeType = 1000 * 3600;
|
||||
break;
|
||||
case "day":
|
||||
timeType = 1000 * 3600 * 24;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return parseInt((eTime.getTime() - sTime.getTime()) / parseInt(timeType));
|
||||
}
|
||||
},
|
||||
Dirt: {
|
||||
/*绑定到列表*/
|
||||
BindList: function (listId, dirtName, needBlock) {
|
||||
var obj = $C(listId);
|
||||
if (obj != undefined) {
|
||||
obj.length = 0;
|
||||
var objV = eval("DirtInfo." + dirtName);
|
||||
if (objV != undefined && objV != null) {
|
||||
for (var i = 0; i < objV.length; i++) {
|
||||
obj.options.add(new Option(objV[i][1], objV[i][0]));
|
||||
}
|
||||
}
|
||||
if (needBlock) {
|
||||
obj.options.add(new Option("请选择", "0"));
|
||||
obj.value = "";
|
||||
}
|
||||
}
|
||||
},
|
||||
/*获取值表示的意义*/
|
||||
GetName: function (dirtName, dValue) {
|
||||
var obj = eval("DirtInfo." + dirtName);
|
||||
if (obj != undefined && obj != null) {
|
||||
for (var i = 0; i < obj.length; i++) {
|
||||
if (obj[i][0] == dValue) {
|
||||
return obj[i][1];
|
||||
}
|
||||
}
|
||||
}
|
||||
return "";
|
||||
}
|
||||
},
|
||||
Cookie: function (name, value, options) {
|
||||
if (typeof value != 'undefined') { /* name and value given, set cookie*/
|
||||
options = options || {};
|
||||
if (value === null) {
|
||||
value = '';
|
||||
options.expires = -1;
|
||||
}
|
||||
var expires = '';
|
||||
if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
|
||||
var date;
|
||||
if (typeof options.expires == 'number') {
|
||||
date = new Date();
|
||||
date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
|
||||
} else {
|
||||
date = options.expires;
|
||||
}
|
||||
expires = '; expires=' + date.toUTCString(); /* use expires attribute, max-age is not supported by IE */
|
||||
}
|
||||
var path = options.path ? '; path=' + options.path : '';
|
||||
var domain = options.domain ? '; domain=' + options.domain : '';
|
||||
var secure = options.secure ? '; secure' : '';
|
||||
document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
|
||||
} else { /* only name given, get cookie */
|
||||
var cookieValue = null;
|
||||
if (document.cookie && document.cookie != '') {
|
||||
var cookies = document.cookie.split(';');
|
||||
for (var i = 0; i < cookies.length; i++) {
|
||||
var cookie = jQuery.trim(cookies[i]);
|
||||
if (cookie.substring(0, name.length + 1) == (name + '=')) {
|
||||
cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return cookieValue;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*重新定义录入框校验规则*/
|
||||
$.extend($.fn.validatebox.defaults.rules, {
|
||||
chinaMobile: {/*手机号码*/
|
||||
validator: function (value, param) {
|
||||
var reg = /^(13|14|15|17|18)\d{9}$/;
|
||||
var reglt = /^(\d{3}|\d{4})-\d{8}$/;
|
||||
/*var reg = /^\d{11,12}$/;*/
|
||||
if (value.indexOf('-') > 0) {
|
||||
return reglt.test(value);
|
||||
}
|
||||
else {
|
||||
return reg.test(value);
|
||||
}
|
||||
}, message: '手机号码有误'
|
||||
},
|
||||
chinaName: {/*中文名称*/
|
||||
validator: function (value, param) {
|
||||
// var reg = /^[\u4e00-\u9fa5a-zA-Z0-9]{2,6}$/;
|
||||
var reg = /^[a-zA-Z\u4e00-\u9fa5][a-zA-Z0-9\u4e00-\u9fa5]{1,5}$/;
|
||||
// var reg = /^[\u4e00-\u9fa5,a-zA-Z0-9]{2,5}$/;
|
||||
return reg.test(value);
|
||||
}, message: '在笔名中数字不能开头,且昵称的长度应在2-6之间'
|
||||
},
|
||||
realName: {/*真实姓名*/
|
||||
validator: function (value, param) {
|
||||
// var reg = /^[a-zA-Z\u4e00-\u9fa5][a-zA-Z0-9\u4e00-\u9fa5]{1,5}$/;
|
||||
var reg = /^[\u4e00-\u9fa5,a-zA-Z0-9]{2,5}$/;
|
||||
return reg.test(value);
|
||||
}, message: '真实姓名的长度为2-5位中文字符'
|
||||
},
|
||||
maxLength: {
|
||||
validator: function (value, param) {
|
||||
$.fn.validatebox.defaults.rules.maxLength.message = '只能少于' + param + '字符串';
|
||||
return value.length < param;
|
||||
}
|
||||
},
|
||||
isNumber: {
|
||||
validator: function (value, param) {
|
||||
var reg = /^(-|[0-9])(|\d{1,9})$/;
|
||||
return reg.test(value);
|
||||
}, message: '必须是数字'
|
||||
},
|
||||
isBankNumber: {
|
||||
validator: function (value, param) {
|
||||
var reg = /^([0-9]{16}|[0-9]{19})$/;
|
||||
return reg.test(value);
|
||||
}, message: '银行卡号错误'
|
||||
},
|
||||
isEmail: {
|
||||
validator: function (value, param) {
|
||||
var reg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/;
|
||||
return reg.test(value);
|
||||
}, message: '邮箱格式错误'
|
||||
},
|
||||
|
||||
isPosInt: {
|
||||
validator: function (value, param) {
|
||||
var reg = /^(\d{1,9})$/;
|
||||
if (reg.test(value) && value > 0) {
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
}, message: '必须是大于0的正整数'
|
||||
},
|
||||
isPosIntTen: {
|
||||
validator: function (value, param) {
|
||||
var reg = /^(\d{1,9})$/;
|
||||
if (reg.test(value) && value > 10) {
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
}, message: '必须是大于10的正整数'
|
||||
},
|
||||
isDate: {
|
||||
validator: function (value, param) {
|
||||
var reg = /^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29))$/;
|
||||
return reg.test(value);
|
||||
}, message: 'yyyy-MM-dd'
|
||||
},
|
||||
isIdCard: {
|
||||
validator: function (value, param) {
|
||||
var reg = /^(^\d{15}$|^\d{18}$|^\d{17}(\d|X|x))$/;
|
||||
return isCardID(value);
|
||||
}, message: '身份证号码错误'
|
||||
},
|
||||
isFloat: {
|
||||
validator: function (value, param) {
|
||||
var reg = /^(^\+?[1-9][0-9]*$)$|^(\d{1,9}\.\d{1,9})$/;
|
||||
return reg.test(value);
|
||||
}, message: '必须是大于零的数字'
|
||||
},
|
||||
isFloatMin0:
|
||||
{
|
||||
validator: function (value, param) {
|
||||
var reg = /^(^\d{1,9})$|^(\d{1,9}\.\d{1,9})$/;
|
||||
return reg.test(value);
|
||||
}, message: '必须是大于零的数字'
|
||||
},
|
||||
isPassWord: {
|
||||
validator: function (value, param) {
|
||||
var reg = /^[a-zA-Z0-9_]{5,15}$/;
|
||||
return reg.test(value);
|
||||
}, message: '密码格式错误'
|
||||
},
|
||||
isConfirmPassword: {
|
||||
validator: function (value, param) {
|
||||
return $(param[0]).val() == value;
|
||||
}, message: '两次录入的密码不同'
|
||||
},
|
||||
phoneCheck: {
|
||||
validator: function (value, param) {
|
||||
var reg = /^(((\()?\d{2,4}(\))?[-(\s)*]){0,2})?(\d{8})$/;
|
||||
return reg.test(value);
|
||||
}, message: '输入的电话不正确'
|
||||
},
|
||||
isUserName: {
|
||||
validator: function (value, param) {
|
||||
var reg = /^[a-zA-Z0-9_]{3,15}$/;
|
||||
return reg.test(value);
|
||||
}, message: '用户名格式错误'
|
||||
},
|
||||
equalTo: {
|
||||
validator: function (value, param) {
|
||||
return $(param[0]).val() == value;
|
||||
},
|
||||
message: '字段不匹配'
|
||||
}
|
||||
});
|
||||
|
||||
/*空函数*/
|
||||
function CreateGrid() { }
|
||||
function CreateGridReload() { }
|
||||
|
||||
/*身份证校验正确性*/
|
||||
var NumbCardCity = { 11: "北京", 12: "天津", 13: "河北", 14: "山西", 15: "内蒙古", 21: "辽宁", 22: "吉林", 23: "黑龙江", 31: "上海", 32: "江苏", 33: "浙江", 34: "安徽", 35: "福建", 36: "江西", 37: "山东", 41: "河南", 42: "湖北", 43: "湖南", 44: "广东", 45: "广西", 46: "海南", 50: "重庆", 51: "四川", 52: "贵州", 53: "云南", 54: "西藏", 61: "陕西", 62: "甘肃", 63: "青海", 64: "宁夏", 65: "新疆", 71: "台湾", 81: "香港", 82: "澳门", 91: "国外" };
|
||||
function isCardID(sId) {
|
||||
var iSum = 0;
|
||||
var info = "";
|
||||
if (!/^\d{17}(\d|x)$/i.test(sId)) return false; /* "你输入的身份证长度或格式错误"; */
|
||||
sId = sId.replace(/x$/i, "a");
|
||||
if (NumbCardCity[parseInt(sId.substr(0, 2))] == null) return false; /*"你的身份证地区非法";*/
|
||||
sBirthday = sId.substr(6, 4) + "-" + Number(sId.substr(10, 2)) + "-" + Number(sId.substr(12, 2));
|
||||
var d = new Date(sBirthday.replace(/-/g, "/"));
|
||||
if (sBirthday != (d.getFullYear() + "-" + (d.getMonth() + 1) + "-" + d.getDate())) return false; /* "身份证上的出生日期非法";*/
|
||||
for (var i = 17; i >= 0; i--) iSum += (Math.pow(2, i) % 11) * parseInt(sId.charAt(17 - i), 11);
|
||||
if (iSum % 11 != 1) return false; /*"你输入的身份证号非法";*/
|
||||
return true;
|
||||
}
|
||||
|
||||
function getSex(val) {
|
||||
if (parseInt(val.charAt(16) / 2) * 2 != val.charAt(16))
|
||||
return '1';
|
||||
else
|
||||
return '0';
|
||||
}
|
||||
function showBirthday(val) {
|
||||
var mm;
|
||||
if (18 == val.length) {/*18位身份证号码*/
|
||||
mm = val.charAt(6) + val.charAt(7) + val.charAt(8) + val.charAt(9) + '-' + val.charAt(10) + val.charAt(11) + '-' + val.charAt(12) + val.charAt(13);
|
||||
|
||||
}
|
||||
return mm;
|
||||
}
|
||||
|
||||
|
||||
var DirtInfo = {
|
||||
TrueOrFalse: [[0, "否"], [1, "是"]],
|
||||
EnumUserCommendStatus: [[0, "新"], [1, "已处理"], [2, "已查看"]],
|
||||
AvailablesStatus: [[0, "禁用"], [1, "可用"]],
|
||||
SettleClass: [[0, "现金"], [1, "预付扣款"]],
|
||||
EnumSexClass: [[0, "不限"], [1, "男"], [2, "女"]],
|
||||
EnumUserType: [[1, "手机端app"], [2, "手机wap端"]],
|
||||
EnumPayClass: [[1, "支付宝"], [2, "微信"], [3, "微信扫码"], [100, "绑定手机奖励"]],
|
||||
EnumPayStatus: [[0, "新申请"], [2, "充值失败"], [3, "成功"]],
|
||||
EnumMoneyClass: [[0, "购买"], [1, "赠送"]],
|
||||
EnumUserFrom: [[1, "其他"], [2, "微博"], [3, "qq"], [4, "微信"], [10, "app注册"], [11, "wap注册"], [12, "微博绑定"], [13, "qq绑定"], [14, "微信绑定"]],
|
||||
EnumSignType: [[0, "未签约"], [1, "分成"], [2, "买断"], [3, "保底"], [4, "买断整本"], [9, "保底"], [15, "道具结算"], [30, "全勤奖励"]],
|
||||
EnumLogType: [[0, "app登录"], [1, "wap登录"]],
|
||||
EnumAuditStatus: [[-10, "下线"], [-1, "审核失败"], [0, "编辑中"], [1, "提交申请"], [2, "通过审核"], [3, "已发布"]],
|
||||
EnumHandleStatus: [[-1, "处理失败"], [0, "新申请"], [1, "待处理"], [2, "处理成功"]],
|
||||
EnumAuthorLevel: [[1, "一级"], [2, "二级"], [3, "三级"], [4, "四级"], [5, "五级"]],
|
||||
EnumChannelClass: [[0, "特级"], [1, "一级"], [2, "二级"], [3, "三级"], [4, "四级"], [5, "五级"], [6, "六级"], [7, "七级"], [8, "八级"], [9, "九级"], [1100, "千级"]],
|
||||
EnumVipChapter: [[0, "公众"], [1, "VIP"]],
|
||||
EnumBookLeveType: [[1, "A级"], [2, "B级"], [3, "C级"], [4, "普通"], [5, "S级"]],
|
||||
EnumBookLeveTypeL: [[1, "A"], [2, "B"], [3, "C"]],
|
||||
EnumAdmActClass: [[50, "签约等级修改"], [51, "封面修改"], [52, "渠道添加"], [53, "渠道修改"], [54, "渠道删除"], [55, "章节删除"]],
|
||||
EnumSettlementType: [[0, "未结算"], [1, "已结算"], [2, "结算失败"]],
|
||||
EnumBookProcess: [[0, "连载"], [1, "完结"]],
|
||||
EnumAuthStatus: [[1 ,"独家"], [2, "非独家"]]
|
||||
};
|
||||
|
||||
function dateToDate(date) {
|
||||
var sDate = new Date();
|
||||
if (typeof date == 'object'
|
||||
&& typeof new Date().getMonth == "function"
|
||||
) {
|
||||
sDate = date;
|
||||
}
|
||||
else if (typeof date == "string") {
|
||||
var arr = date.split('-')
|
||||
if (arr.length == 3) {
|
||||
sDate = new Date(arr[0] + '-' + arr[1] + '-' + arr[2]);
|
||||
}
|
||||
}
|
||||
|
||||
return sDate;
|
||||
}
|
||||
|
||||
|
||||
function addMonth(date, num) {
|
||||
num = parseInt(num);
|
||||
var sDate = dateToDate(date);
|
||||
|
||||
var sYear = sDate.getFullYear();
|
||||
var sMonth = sDate.getMonth() + 1;
|
||||
var sDay = sDate.getDate();
|
||||
|
||||
var eYear = sYear;
|
||||
var eMonth = sMonth + num;
|
||||
var eDay = sDay;
|
||||
while (eMonth > 12) {
|
||||
eYear++;
|
||||
eMonth -= 12;
|
||||
}
|
||||
|
||||
var eDate = new Date(eYear, eMonth - 1, eDay);
|
||||
|
||||
while (eDate.getMonth() != eMonth - 1) {
|
||||
eDay--;
|
||||
eDate = new Date(eYear, eMonth - 1, eDay);
|
||||
}
|
||||
|
||||
return eDate;
|
||||
}
|
||||
|
||||
function checkAll() {
|
||||
if ($("#selAll").attr("checked")) {
|
||||
$("input[name='selBox']").each(function () {
|
||||
$(this).attr("checked", true);
|
||||
});
|
||||
}
|
||||
else {
|
||||
$("input[name='selBox']").each(function () {
|
||||
$(this).removeAttr("checked");
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
$(function () {
|
||||
initSubmitButton(3);
|
||||
});
|
||||
|
||||
//停留时间
|
||||
function initSubmitButton(wait) {
|
||||
$("input[type='submit']").each(function () {
|
||||
$(this).click(function () {
|
||||
if ($(this).attr("submited") == "1") {
|
||||
return false;
|
||||
}
|
||||
var oldVal = $(this).val();
|
||||
$(this).val("正在处理,请稍等(" + wait + ")");
|
||||
$(this).attr("submited", "1");
|
||||
setTimeout('ButtonLimit("' + $(this).attr("id") + '",' + wait + ',"' + oldVal + '")', 1000);
|
||||
});
|
||||
});
|
||||
}
|
||||
function ButtonLimit(objId, wait, oldVal) {
|
||||
wait--;
|
||||
if (wait > 0) {
|
||||
$("#" + objId).val("正在处理,请稍等(" + wait + ")");
|
||||
setTimeout('ButtonLimit("' + objId + '",' + wait + ',"' + oldVal + '");', 1000);
|
||||
}
|
||||
else {
|
||||
$("#" + objId).removeAttr("submited");
|
||||
$("#" + objId).val(oldVal);
|
||||
}
|
||||
}
|
217
templates/green/static/javascript/ajaxfileupload.js
Normal file
@ -0,0 +1,217 @@
|
||||
jQuery.extend({
|
||||
createUploadIframe: function(id, uri)
|
||||
{
|
||||
//create frame
|
||||
var frameId = 'jUploadFrame' + id;
|
||||
var iframeHtml = '<iframe id="' + frameId + '" name="' + frameId + '" style="position:absolute; top:-9999px; left:-9999px"';
|
||||
if(window.ActiveXObject)
|
||||
{
|
||||
if(typeof uri== 'boolean'){
|
||||
iframeHtml += ' src="' + 'javascript:false' + '"';
|
||||
|
||||
}
|
||||
else if(typeof uri== 'string'){
|
||||
iframeHtml += ' src="' + uri + '"';
|
||||
|
||||
}
|
||||
}
|
||||
iframeHtml += ' />';
|
||||
jQuery(iframeHtml).appendTo(document.body);
|
||||
|
||||
return jQuery('#' + frameId).get(0);
|
||||
},
|
||||
createUploadForm: function(id,fileElementId,data,fileElement)
|
||||
{
|
||||
//create form
|
||||
var formId = 'jUploadForm' + id;
|
||||
var fileId = 'jUploadFile' + id;
|
||||
var form = jQuery('<form action="" method="POST" name="' + formId + '" id="' + formId + '" enctype="multipart/form-data"></form>');
|
||||
if(data)
|
||||
{
|
||||
for(var i in data)
|
||||
{
|
||||
jQuery('<input type="hidden" name="' + i + '" value="' + data[i] + '" />').appendTo(form);
|
||||
}
|
||||
}
|
||||
var oldElement;
|
||||
if(fileElement == null)
|
||||
oldElement = jQuery('#' + fileElementId);
|
||||
else
|
||||
oldElement = fileElement;
|
||||
|
||||
var newElement = jQuery(oldElement).clone();
|
||||
jQuery(oldElement).attr('id', fileId);
|
||||
jQuery(oldElement).before(newElement);
|
||||
jQuery(oldElement).appendTo(form);
|
||||
|
||||
//set attributes
|
||||
jQuery(form).css('position', 'absolute');
|
||||
jQuery(form).css('top', '-1200px');
|
||||
jQuery(form).css('left', '-1200px');
|
||||
jQuery(form).appendTo('body');
|
||||
return form;
|
||||
},
|
||||
|
||||
ajaxFileUpload: function(s) {
|
||||
// TODO introduce global settings, allowing the client to modify them for all requests, not only timeout
|
||||
s = jQuery.extend({}, jQuery.ajaxSettings, s);
|
||||
var id = new Date().getTime()
|
||||
var form = jQuery.createUploadForm(id, s.fileElementId, (typeof(s.data)=='undefined'?false:s.data),s.fileElement);
|
||||
var io = jQuery.createUploadIframe(id, s.secureuri);
|
||||
var frameId = 'jUploadFrame' + id;
|
||||
var formId = 'jUploadForm' + id;
|
||||
// Watch for a new set of requests
|
||||
if ( s.global && ! jQuery.active++ )
|
||||
{
|
||||
jQuery.event.trigger( "ajaxStart" );
|
||||
}
|
||||
var requestDone = false;
|
||||
// Create the request object
|
||||
var xml = {}
|
||||
if ( s.global )
|
||||
jQuery.event.trigger("ajaxSend", [xml, s]);
|
||||
// Wait for a response to come back
|
||||
var uploadCallback = function(isTimeout)
|
||||
{
|
||||
var io = document.getElementById(frameId);
|
||||
try
|
||||
{
|
||||
if(io.contentWindow)
|
||||
{
|
||||
xml.responseText = io.contentWindow.document.body?io.contentWindow.document.body.innerHTML:null;
|
||||
xml.responseXML = io.contentWindow.document.XMLDocument?io.contentWindow.document.XMLDocument:io.contentWindow.document;
|
||||
|
||||
}else if(io.contentDocument)
|
||||
{
|
||||
xml.responseText = io.contentDocument.document.body?io.contentDocument.document.body.innerHTML:null;
|
||||
xml.responseXML = io.contentDocument.document.XMLDocument?io.contentDocument.document.XMLDocument:io.contentDocument.document;
|
||||
}
|
||||
}catch(e)
|
||||
{
|
||||
jQuery.handleError(s, xml, null, e);
|
||||
}
|
||||
if ( xml || isTimeout == "timeout")
|
||||
{
|
||||
requestDone = true;
|
||||
var status;
|
||||
try {
|
||||
status = isTimeout != "timeout" ? "success" : "error";
|
||||
// Make sure that the request was successful or notmodified
|
||||
if ( status != "error" )
|
||||
{
|
||||
// process the data (runs the xml through httpData regardless of callback)
|
||||
var data = jQuery.uploadHttpData( xml, s.dataType );
|
||||
// If a local callback was specified, fire it and pass it the data
|
||||
if ( s.success )
|
||||
s.success( data, status );
|
||||
|
||||
// Fire the global callback
|
||||
if( s.global )
|
||||
jQuery.event.trigger( "ajaxSuccess", [xml, s] );
|
||||
} else
|
||||
jQuery.handleError(s, xml, status);
|
||||
} catch(e)
|
||||
{
|
||||
status = "error";
|
||||
jQuery.handleError(s, xml, status, e);
|
||||
}
|
||||
|
||||
// The request was completed
|
||||
if( s.global )
|
||||
jQuery.event.trigger( "ajaxComplete", [xml, s] );
|
||||
|
||||
// Handle the global AJAX counter
|
||||
if ( s.global && ! --jQuery.active )
|
||||
jQuery.event.trigger( "ajaxStop" );
|
||||
|
||||
// Process result
|
||||
if ( s.complete )
|
||||
s.complete(xml, status);
|
||||
|
||||
jQuery(io).unbind()
|
||||
|
||||
setTimeout(function()
|
||||
{ try
|
||||
{
|
||||
jQuery(io).remove();
|
||||
jQuery(form).remove();
|
||||
|
||||
} catch(e)
|
||||
{
|
||||
jQuery.handleError(s, xml, null, e);
|
||||
}
|
||||
|
||||
}, 100)
|
||||
|
||||
xml = null
|
||||
|
||||
}
|
||||
}
|
||||
// Timeout checker
|
||||
if ( s.timeout > 0 )
|
||||
{
|
||||
setTimeout(function(){
|
||||
// Check to see if the request is still happening
|
||||
if( !requestDone ) uploadCallback( "timeout" );
|
||||
}, s.timeout);
|
||||
}
|
||||
try
|
||||
{
|
||||
|
||||
var form = jQuery('#' + formId);
|
||||
jQuery(form).attr('action', s.url);
|
||||
jQuery(form).attr('method', 'POST');
|
||||
jQuery(form).attr('target', frameId);
|
||||
if(form.encoding)
|
||||
{
|
||||
jQuery(form).attr('encoding', 'multipart/form-data');
|
||||
}
|
||||
else
|
||||
{
|
||||
jQuery(form).attr('enctype', 'multipart/form-data');
|
||||
}
|
||||
jQuery(form).submit();
|
||||
|
||||
} catch(e)
|
||||
{
|
||||
jQuery.handleError(s, xml, null, e);
|
||||
}
|
||||
|
||||
jQuery('#' + frameId).load(uploadCallback);
|
||||
return {abort: function(){
|
||||
try
|
||||
{
|
||||
jQuery('#' + frameId).remove();
|
||||
jQuery(form).remove();
|
||||
}
|
||||
catch(e){}
|
||||
}};
|
||||
},
|
||||
|
||||
uploadHttpData: function( r, type ) {
|
||||
var data = !type;
|
||||
data = type == "xml" || data ? r.responseXML : r.responseText;
|
||||
|
||||
// If the type is "script", eval it in global context
|
||||
if ( type == "script" )
|
||||
jQuery.globalEval( data );
|
||||
// Get the JavaScript object, if JSON is used.
|
||||
if ( type == "json" )
|
||||
data = jQuery.parseJSON(jQuery(data).text());
|
||||
// evaluate scripts within html
|
||||
if ( type == "html" )
|
||||
jQuery("<div>").html(data).evalScripts();
|
||||
|
||||
return data;
|
||||
},
|
||||
|
||||
handleError: function( s, xml, status, e ) {
|
||||
// If a local callback was specified, fire it
|
||||
if ( s.error )
|
||||
s.error( xml, status, e );
|
||||
|
||||
// Fire the global callback
|
||||
if ( s.global )
|
||||
jQuery.event.trigger( "ajaxError", [xml, s, e] );
|
||||
}
|
||||
});
|
1
templates/green/static/javascript/authorinfo.js
Normal file
@ -0,0 +1 @@
|
||||
var authorInfoV3={"LogoImg":null,"Notes":null,"UId":0}
|
196
templates/green/static/javascript/bookclass.js
Normal file
@ -0,0 +1,196 @@
|
||||
var bClass = {
|
||||
"total": 16,
|
||||
"rows": [{
|
||||
"BId": 1,
|
||||
"BookTotal": null,
|
||||
"ClassId": null,
|
||||
"IsShow": null,
|
||||
"Ld": null,
|
||||
"Name": "玄幻",
|
||||
"ParentId": null,
|
||||
"Rank": null,
|
||||
"Remark": null,
|
||||
"SexClass": null,
|
||||
"Status": null
|
||||
}, {
|
||||
"BId": 2,
|
||||
"BookTotal": null,
|
||||
"ClassId": null,
|
||||
"IsShow": null,
|
||||
"Ld": null,
|
||||
"Name": "都市",
|
||||
"ParentId": null,
|
||||
"Rank": null,
|
||||
"Remark": null,
|
||||
"SexClass": null,
|
||||
"Status": null
|
||||
}, {
|
||||
"BId": 3,
|
||||
"BookTotal": null,
|
||||
"ClassId": null,
|
||||
"IsShow": null,
|
||||
"Ld": null,
|
||||
"Name": "仙侠",
|
||||
"ParentId": null,
|
||||
"Rank": null,
|
||||
"Remark": null,
|
||||
"SexClass": null,
|
||||
"Status": null
|
||||
}, {
|
||||
"BId": 4,
|
||||
"BookTotal": null,
|
||||
"ClassId": null,
|
||||
"IsShow": null,
|
||||
"Ld": null,
|
||||
"Name": "奇幻",
|
||||
"ParentId": null,
|
||||
"Rank": null,
|
||||
"Remark": null,
|
||||
"SexClass": null,
|
||||
"Status": null
|
||||
}, {
|
||||
"BId": 5,
|
||||
"BookTotal": null,
|
||||
"ClassId": null,
|
||||
"IsShow": null,
|
||||
"Ld": null,
|
||||
"Name": "历史",
|
||||
"ParentId": null,
|
||||
"Rank": null,
|
||||
"Remark": null,
|
||||
"SexClass": null,
|
||||
"Status": null
|
||||
}, {
|
||||
"BId": 6,
|
||||
"BookTotal": null,
|
||||
"ClassId": null,
|
||||
"IsShow": null,
|
||||
"Ld": null,
|
||||
"Name": "军事",
|
||||
"ParentId": null,
|
||||
"Rank": null,
|
||||
"Remark": null,
|
||||
"SexClass": null,
|
||||
"Status": null
|
||||
}, {
|
||||
"BId": 7,
|
||||
"BookTotal": null,
|
||||
"ClassId": null,
|
||||
"IsShow": null,
|
||||
"Ld": null,
|
||||
"Name": "游戏",
|
||||
"ParentId": null,
|
||||
"Rank": null,
|
||||
"Remark": null,
|
||||
"SexClass": null,
|
||||
"Status": null
|
||||
}, {
|
||||
"BId": 8,
|
||||
"BookTotal": null,
|
||||
"ClassId": null,
|
||||
"IsShow": null,
|
||||
"Ld": null,
|
||||
"Name": "竞技",
|
||||
"ParentId": null,
|
||||
"Rank": null,
|
||||
"Remark": null,
|
||||
"SexClass": null,
|
||||
"Status": null
|
||||
}, {
|
||||
"BId": 9,
|
||||
"BookTotal": null,
|
||||
"ClassId": null,
|
||||
"IsShow": null,
|
||||
"Ld": null,
|
||||
"Name": "科幻",
|
||||
"ParentId": null,
|
||||
"Rank": null,
|
||||
"Remark": null,
|
||||
"SexClass": null,
|
||||
"Status": null
|
||||
}, {
|
||||
"BId": 10,
|
||||
"BookTotal": null,
|
||||
"ClassId": null,
|
||||
"IsShow": null,
|
||||
"Ld": null,
|
||||
"Name": "武侠",
|
||||
"ParentId": null,
|
||||
"Rank": null,
|
||||
"Remark": null,
|
||||
"SexClass": null,
|
||||
"Status": null
|
||||
}, {
|
||||
"BId": 11,
|
||||
"BookTotal": null,
|
||||
"ClassId": null,
|
||||
"IsShow": null,
|
||||
"Ld": null,
|
||||
"Name": "同人",
|
||||
"ParentId": null,
|
||||
"Rank": null,
|
||||
"Remark": null,
|
||||
"SexClass": null,
|
||||
"Status": null
|
||||
}, {
|
||||
"BId": 12,
|
||||
"BookTotal": null,
|
||||
"ClassId": null,
|
||||
"IsShow": null,
|
||||
"Ld": null,
|
||||
"Name": "灵异",
|
||||
"ParentId": null,
|
||||
"Rank": null,
|
||||
"Remark": null,
|
||||
"SexClass": null,
|
||||
"Status": null
|
||||
}, {
|
||||
"BId": 13,
|
||||
"BookTotal": null,
|
||||
"ClassId": null,
|
||||
"IsShow": null,
|
||||
"Ld": null,
|
||||
"Name": "现代言情",
|
||||
"ParentId": null,
|
||||
"Rank": null,
|
||||
"Remark": null,
|
||||
"SexClass": null,
|
||||
"Status": null
|
||||
}, {
|
||||
"BId": 14,
|
||||
"BookTotal": null,
|
||||
"ClassId": null,
|
||||
"IsShow": null,
|
||||
"Ld": null,
|
||||
"Name": "古代言情",
|
||||
"ParentId": null,
|
||||
"Rank": null,
|
||||
"Remark": null,
|
||||
"SexClass": null,
|
||||
"Status": null
|
||||
}, {
|
||||
"BId": 15,
|
||||
"BookTotal": null,
|
||||
"ClassId": null,
|
||||
"IsShow": null,
|
||||
"Ld": null,
|
||||
"Name": "幻想言情",
|
||||
"ParentId": null,
|
||||
"Rank": null,
|
||||
"Remark": null,
|
||||
"SexClass": null,
|
||||
"Status": null
|
||||
}, {
|
||||
"BId": 16,
|
||||
"BookTotal": null,
|
||||
"ClassId": null,
|
||||
"IsShow": null,
|
||||
"Ld": null,
|
||||
"Name": "青春校园",
|
||||
"ParentId": null,
|
||||
"Rank": null,
|
||||
"Remark": null,
|
||||
"SexClass": null,
|
||||
"Status": null
|
||||
}]
|
||||
}
|
308
templates/green/static/javascript/bookdetail.js
Normal file
@ -0,0 +1,308 @@
|
||||
var BookDetail = {
|
||||
wepDomain: 'java2nb.com',
|
||||
msgStyle: 'background-color:#333; color:#fff; text-align:center; border:none; font-size:20px; padding:10px;',
|
||||
reShowCover: function () {
|
||||
//$(".cCover").height($(".cDetail").height());
|
||||
//$(".cCover").width($(".cDetail").width());
|
||||
},
|
||||
DescriptionMore: function (sClass) {
|
||||
if (sClass == "") {
|
||||
if ($("#pDesMore").html().length > 150) {
|
||||
$("#divDescription").html($("#pDesMore").html().substring(0, 150) + "<a href=\"javascript:void(0);\" class=\"info_txt_more\" onclick=\"javascript:BookDetail.DescriptionMore('down');\">展开<img src=\"../images/arrow_d.png\" /></a>");
|
||||
} else {
|
||||
$("#divDescription").html($("#pDesMore").html());
|
||||
}
|
||||
} else {
|
||||
$("#divDescription").html($("#pDesMore").html() + "<a href=\"javascript:void(0);\" class=\"info_txt_more\" onclick=\"javascript:BookDetail.DescriptionMore('');\">收起<img src=\"../images/arrow_t.png\" /></a>");
|
||||
}
|
||||
},
|
||||
AddFavorites: function (BId, CId, layerStatus) {
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "/user/addToBookShelf",
|
||||
data: {'bookId': $("#bookId").val(), 'preContentId': $("#preContentId").val()},
|
||||
dataType: "json",
|
||||
success: function (data) {
|
||||
if (data.code == 200) {
|
||||
if (layerStatus == 1) {
|
||||
$("#cFavs").html("<a class=\"ico_shelf\" href=\"javascript:void(0);\"><b>已收藏</b></a>");
|
||||
jQuery.cookie("u-faorites", "1");
|
||||
}
|
||||
else {
|
||||
$("#cFavs").html("<a class=\"btn_ora_white btn_addsj\" href=\"javascript:void(0);\">已在书架</a>");
|
||||
}
|
||||
|
||||
|
||||
} else if (data.code == 1001) {
|
||||
//未登录
|
||||
location.href = '/user/login.html?originUrl=' + decodeURIComponent(location.href);
|
||||
|
||||
} else {
|
||||
layer.alert(data.msg);
|
||||
}
|
||||
|
||||
},
|
||||
error: function () {
|
||||
layer.alert('网络异常');
|
||||
}
|
||||
})
|
||||
},
|
||||
GetFavorites: function (BId) {
|
||||
if (jQuery.cookie("u-faorites") == null) {
|
||||
} else {
|
||||
if (jQuery.cookie("u-faorites") == "1") {
|
||||
$("#cFavs").html("<a class=\"ico_shelf\" href=\"javascript:void(0);\"><b>已加书架</b></a>");
|
||||
}
|
||||
}
|
||||
/*BookDetail.SetWholeTip();*/
|
||||
},
|
||||
GetUserBookLevel: function (idList, bId) {
|
||||
if (idList.length > 2) {
|
||||
}
|
||||
},
|
||||
GetUserLevel: function (mTotal) {
|
||||
if (mTotal != undefined) {
|
||||
var iTotal = parseInt(mTotal);
|
||||
if (iTotal < 500) {
|
||||
return ["user_level1", "见习"];
|
||||
} else if (iTotal < 2000) {
|
||||
return ["user_level2", "学徒"];
|
||||
} else if (iTotal < 5000) {
|
||||
return ["user_level3", "弟子"];
|
||||
} else if (iTotal < 10000) {
|
||||
return ["user_level4", "执事"];
|
||||
} else if (iTotal < 20000) {
|
||||
return ["user_level5", "舵主"];
|
||||
} else if (iTotal < 30000) {
|
||||
return ["user_level6", "堂主"];
|
||||
} else if (iTotal < 40000) {
|
||||
return ["user_level7", "护法"];
|
||||
} else if (iTotal < 50000) {
|
||||
return ["user_level8", "长老"];
|
||||
} else if (iTotal < 70000) {
|
||||
return ["user_level9", "掌门"];
|
||||
} else if (iTotal < 100000) {
|
||||
return ["user_level10", "宗师"];
|
||||
} else {
|
||||
return ["user_level11", "盟主"];
|
||||
}
|
||||
} else {
|
||||
return ["user_level1", "见习"];
|
||||
}
|
||||
},
|
||||
SaveComment: function (cmtBId, cmtCId, cmtDetail) {
|
||||
if(!isLogin){
|
||||
layer.alert('请先登陆');
|
||||
return;
|
||||
}
|
||||
var cmtDetailTemp = cmtDetail.replace(/(^\s*)/g, "");
|
||||
if (cmtDetailTemp == '') {
|
||||
layer.alert('评论内容必须填写');
|
||||
return;
|
||||
}
|
||||
if (cmtDetailTemp.length < 5) {
|
||||
layer.alert('评论内容必须大于5个字');
|
||||
return;
|
||||
}
|
||||
if (cmtDetail.length < 5) {
|
||||
layer.alert('评论内容必须大于5个字');
|
||||
return;
|
||||
}
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "/book/addBookComment",
|
||||
data: {'bookId': $("#bookId").val(), 'commentContent': cmtDetail},
|
||||
dataType: "json",
|
||||
success: function (data) {
|
||||
if (data.code == 200) {
|
||||
$('#txtComment').val("")
|
||||
layer.alert('评价成功!');
|
||||
loadCommentList();
|
||||
|
||||
} else if (data.code == 1001) {
|
||||
//未登录
|
||||
location.href = '/user/login.html?originUrl=' + decodeURIComponent(location.href);
|
||||
|
||||
} else {
|
||||
layer.alert(data.msg);
|
||||
}
|
||||
|
||||
},
|
||||
error: function () {
|
||||
layer.alert('网络异常');
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
},
|
||||
GetFavoritesBook: function (BId) {
|
||||
},
|
||||
GetMoneyFlower: function () {
|
||||
},
|
||||
AddAgreeTotal: function (AId, objs) {
|
||||
},
|
||||
RelationBook: function () {
|
||||
relationStep++;
|
||||
var bListCount = 0;
|
||||
var bList = $("#relationBookList div");
|
||||
bListCount = bList.length;
|
||||
var sStep = 0, eStep = 2;
|
||||
if (bListCount > relationStep * 3) {
|
||||
sStep = relationStep * 3;
|
||||
eStep = sStep + 2;
|
||||
if (sStep > bListCount - 1) {
|
||||
eStep = bListCount;
|
||||
}
|
||||
} else {
|
||||
relationStep = -1;
|
||||
}
|
||||
for (var i = 0; i < bListCount; i++) {
|
||||
if (i >= sStep && i <= eStep) {
|
||||
bList[i].style.display = "";
|
||||
} else {
|
||||
bList[i].style.display = "none";
|
||||
}
|
||||
}
|
||||
},
|
||||
Click: function (bId) {
|
||||
//BookDetail.DescriptionMore("");
|
||||
},
|
||||
ClickChapter: function (bId, cId, isVip) {
|
||||
if (isVip == 1) {
|
||||
var m = Math.floor(6 * Math.random());
|
||||
if (m == 3) {
|
||||
}
|
||||
} else {
|
||||
}
|
||||
},
|
||||
SetReadFont: function (fonts) {
|
||||
var cFont = parseInt($("#cFonts").html());
|
||||
fonts = cFont + fonts;
|
||||
if (fonts < 8) {
|
||||
fonts = 8;
|
||||
}
|
||||
if (fonts > 48) {
|
||||
fonts = 48;
|
||||
}
|
||||
localStorage.setItem("fonts", fonts);
|
||||
$(".readBox").css("font-size", fonts + "px");
|
||||
$("#cFonts").html(fonts);
|
||||
$("#ChapterBody").attr("class","article-content font"+fonts);
|
||||
BookDetail.reShowCover();
|
||||
},
|
||||
SetBackUpColor: function (colorNum) {
|
||||
localStorage.setItem("colorNum", colorNum);
|
||||
document.body.className = 'read_style_' + colorNum;
|
||||
|
||||
},
|
||||
SetReadFontFamily: function (fontNum) {
|
||||
localStorage.setItem("fontNum", fontNum);
|
||||
BookDetail.SetReadFontFamilyClear(fontNum);
|
||||
},
|
||||
SetReadFontFamilyClear: function (fontNum) {
|
||||
$("#setup_font_yahei").removeClass("current");
|
||||
$("#setup_font_simsun").removeClass("current");
|
||||
$("#setup_font_ks").removeClass("current");
|
||||
if (fontNum == 1) {
|
||||
$("#setup_font_simsun").addClass("current");
|
||||
$(".readBox").css("font-family", "Simsun");
|
||||
} else if (fontNum == 2) {
|
||||
$("#setup_font_ks").addClass("current");
|
||||
$(".readBox").css("font-family", "kaiti");
|
||||
} else {
|
||||
$("#setup_font_yahei").addClass("current");
|
||||
$(".readBox").css("font-family", "microsoft yahei");
|
||||
}
|
||||
},
|
||||
GetReadSet: function (bid, cid, preId, nextId, crank) {
|
||||
/*$(".nextPageBox .prev,.ico_pagePrev").click(function () {
|
||||
if (preId > 0) {
|
||||
location.href = '/book/' + bid + '/' + preId + '.html';
|
||||
}
|
||||
else {
|
||||
location.href = '/book/chapterlist-' + bid + '.html';
|
||||
}
|
||||
});
|
||||
|
||||
$(".nextPageBox .next,.ico_pageNext").click(function () {
|
||||
if (nextId > 0) {
|
||||
location.href = '/book/' + bid + '/' + nextId + '.html';
|
||||
}
|
||||
else {
|
||||
location.href = '/book/chapterlist-' + bid + '.html';
|
||||
}
|
||||
});*/
|
||||
$(window).bind('keydown',
|
||||
function (e) {
|
||||
if (e.keyCode == 37) {
|
||||
if (preId > 0) {
|
||||
location.href = '/book/' + bid + '/' + preId + '.html';
|
||||
} else {
|
||||
location.href = '/book/indexList-' + bid + '.html';
|
||||
}
|
||||
} else if (e.keyCode == 39) {
|
||||
if (nextId > 0) {
|
||||
location.href = '/book/' + bid + '/' + nextId + '.html';
|
||||
} else {
|
||||
location.href = '/book/indexList-' + bid + '.html';
|
||||
}
|
||||
}
|
||||
});
|
||||
//BookDetail.SetReadHistory(bid, cid, crank);
|
||||
},
|
||||
SetReadHistory: function (bid, cid, crank) {
|
||||
var strHistory = jQuery.cookie("wapviewhistory");
|
||||
if (strHistory != null) {
|
||||
var r = new RegExp('b' + bid + '\\\|(.*?),', 'g');
|
||||
strHistory = strHistory.replace(r, '')
|
||||
strHistory = 'b' + bid + '|' + cid + '|' + crank + ',' + strHistory;
|
||||
if (strHistory.length > 500) {
|
||||
strHistory = strHistory.substring(0, 500);
|
||||
strHistory = strHistory.substring(0, strHistory.lastIndexOf(','));
|
||||
strHistory = strHistory + ',';
|
||||
}
|
||||
} else {
|
||||
strHistory = 'b' + bid + '|' + cid + '|' + crank + ',';
|
||||
}
|
||||
jQuery.cookie("wapviewhistory", strHistory, {path: '/', domain: BookDetail.wepDomain, expires: 365});
|
||||
},
|
||||
formatDate: function (now, types) {
|
||||
if (now != null && now != "") {
|
||||
var dateN = new Date(+/\d+/.exec(now)[0]);
|
||||
var year = dateN.getFullYear();
|
||||
var month = dateN.getMonth() + 1;
|
||||
var date = dateN.getDate();
|
||||
var hour = dateN.getHours();
|
||||
var minute = dateN.getMinutes();
|
||||
var second = dateN.getSeconds();
|
||||
if (typeof (types) != "undefined" && types != null) {
|
||||
return year + "-" + month + "-" + date;
|
||||
} else if (hour == 0 && minute == 0 && second == 0) {
|
||||
return year + "-" + month + "-" + date;
|
||||
} else {
|
||||
return year + "-" + month + "-" + date + " " + hour + ":" + minute + ":" + second;
|
||||
}
|
||||
} else {
|
||||
return "";
|
||||
}
|
||||
},
|
||||
SetWholeTip: function () {
|
||||
var str = '<li>1、此书为全网优质作品,按照整本定价折扣销售,购买之后可以阅读该书全部章节。</li>';
|
||||
str += '<li>2、支付屋币即可阅读收费章节,没有屋币的需要先充值。</li>';
|
||||
str += '<li>3、QQ、微信、微博3种账号之间的数据不互通,如果你发现充值成功但没有屋币到账,请切换账号查看是否充到了别的账号中。</li>';
|
||||
if ($("#HidIsWholeBook").val() == "1") {
|
||||
$(".tip_list").html(str);
|
||||
}
|
||||
},
|
||||
SetDZChapter: function (bId, cId, isDianZan) {
|
||||
if (isDianZan == 1) {
|
||||
/*是点赞,设置点赞数+1和不可点状态*/
|
||||
var dzData = parseInt($("#read_dz_bar a").text()) + 1;
|
||||
$("#read_dz_bar").html('<a class="read_dz on" href="javascript:void(0)"><i></i>' + dzData + '</a>');
|
||||
}
|
||||
}
|
||||
}
|
||||
var rand = {};
|
||||
rand.get = function (begin, end) {
|
||||
return Math.floor(Math.random() * (end - begin)) + begin;
|
||||
}
|
159
templates/green/static/javascript/common.js
Normal file
@ -0,0 +1,159 @@
|
||||
var needLoginPath = ['/user/favorites.html','/user/comment.html','/user/feedback.html',
|
||||
'/user/feedback_list.html','/user/read_history.html','/user/set_name.html',
|
||||
'/user/set_password.html','/user/set_sex.html','/user/setup.html','/user/userinfo.html',
|
||||
"/pay/index.html," +
|
||||
"/author/register.html","/author/index.html"];
|
||||
var isLogin = false;
|
||||
var url = window.location.search;
|
||||
//key(需要检索的键)
|
||||
function getSearchString(key) {
|
||||
var str = url;
|
||||
str = str.substring(1, str.length); // 获取URL中?之后的字符(去掉第一位的问号)
|
||||
// 以&分隔字符串,获得类似name=xiaoli这样的元素数组
|
||||
var arr = str.split("&");
|
||||
|
||||
for (var i = 0; i < arr.length; i++) {
|
||||
var tmp_arr = arr[i].split("=");
|
||||
if(tmp_arr[0] == key){
|
||||
return decodeURIComponent(tmp_arr[1]);
|
||||
}
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
var keyword = getSearchString("k");
|
||||
if(keyword != undefined) {
|
||||
$("#searchKey").val(keyword);
|
||||
$("#workDirection").remove();
|
||||
$("#idGirl").remove();
|
||||
}
|
||||
|
||||
function searchByK(k){
|
||||
if(!k){
|
||||
window.location.href='/book/bookclass.html?k='+encodeURIComponent(document.getElementById("searchKey").value)
|
||||
}else{
|
||||
window.location.href='/book/bookclass.html?k='+encodeURIComponent(k)
|
||||
}
|
||||
}
|
||||
$("#searchKey").keypress(function (even) {
|
||||
if (even.which == 13) {
|
||||
even.stopPropagation();
|
||||
//enter键按下
|
||||
searchByK();
|
||||
}
|
||||
});
|
||||
Array.prototype.indexOf = function (val) {
|
||||
for (var i = 0; i < this.length; i++) {
|
||||
if (this[i] == val) return i;
|
||||
}
|
||||
return -1;
|
||||
};
|
||||
|
||||
|
||||
var token = $.cookie('Authorization');
|
||||
if(!token){
|
||||
if(needLoginPath.indexOf(window.location.pathname) != -1){
|
||||
location.href = '/user/login.html?originUrl='+decodeURIComponent(location.href);
|
||||
}
|
||||
|
||||
$(".user_link").html("<i class=\"line mr20\">|</i><a href=\"/user/login.html\" class=\"mr15\">登录</a><a href=\"/user/register.html\" >注册</a>");
|
||||
}else{
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "/user/refreshToken",
|
||||
data: {},
|
||||
dataType: "json",
|
||||
success: function(data){
|
||||
if(data.code == 200){
|
||||
$(".user_link").html("<i class=\"line mr20\">|</i>" +
|
||||
"<a href=\"/user/userinfo.html\" class=\"mr15\">"+data.data.nickName+"</a>" +
|
||||
"<a href=\"javascript:logout()\" >退出</a>");
|
||||
;
|
||||
if("/user/login.html" == window.location.pathname){
|
||||
var orginUrl = getSearchString("originUrl");
|
||||
window.location.href = orginUrl == undefined || orginUrl.isBlank() ? "/" : orginUrl;
|
||||
return;
|
||||
}
|
||||
isLogin = true;
|
||||
if(localStorage.getItem("autoLogin") == 1){
|
||||
$.cookie('Authorization', data.data.token, { expires: 7 ,path: '/' });
|
||||
}else {
|
||||
$.cookie('Authorization', data.data.token,{ path: '/' });
|
||||
}
|
||||
}else{
|
||||
if(needLoginPath.indexOf(window.location.pathname) != -1){
|
||||
location.href = '/user/login.html';
|
||||
}
|
||||
$(".user_link").html("<i class=\"line mr20\">|</i><a href=\"/user/login.html\" class=\"mr15\">登录</a><a href=\"/user/register.html\" >注册</a>");
|
||||
}
|
||||
},
|
||||
error: function () {
|
||||
layer.alert('网络异常');
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
String.prototype.isPhone = function () {
|
||||
var strTemp = /^1[3|4|5|6|7|8|9][0-9]{9}$/;
|
||||
if (strTemp.test(this)) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
};
|
||||
|
||||
String.prototype.isBlank = function () {
|
||||
if(this == null || $.trim(this) == ""){
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
};
|
||||
String.prototype.isNickName = function () {
|
||||
var strTemp = /^[\u4E00-\u9FA5A-Za-z0-9_]+$/;
|
||||
if (strTemp.test(this)) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
function logout() {
|
||||
$.cookie('Authorization', null,{ path: '/' });
|
||||
location.reload();
|
||||
}
|
||||
|
||||
|
||||
function isImg(str) {
|
||||
return !str.search("[.]+(jpg|jpeg|swf|gif|png|JPG|JPEG|SWF|GIF|PNG)$");
|
||||
}
|
||||
|
||||
|
||||
//校验图片上传
|
||||
function checkPicUpload(file){
|
||||
|
||||
if(!isImg(file.value.substr(file.value.lastIndexOf(".")))){
|
||||
layer.alert('只能上传图片格式的文件!');
|
||||
return false;
|
||||
}
|
||||
var fileSize = 0;
|
||||
var isIE = /msie/i.test(navigator.userAgent) && !window.opera;
|
||||
if (isIE && !file.files) {
|
||||
var filePath = file.value;
|
||||
var fileSystem = new ActiveXObject("Scripting.FileSystemfileect");
|
||||
var file = fileSystem.GetFile (filePath);
|
||||
fileSize = file.Size;
|
||||
}else {
|
||||
fileSize = file.files[0].size;
|
||||
}
|
||||
fileSize=Math.round(fileSize/1024*100)/100; //单位为KB
|
||||
if(fileSize>=1024){
|
||||
layer.alert('上传的图片大小不能超过1M!');
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
16
templates/green/static/javascript/date.js
Normal file
@ -0,0 +1,16 @@
|
||||
//格式化时间函数
|
||||
Date.prototype.Format = function (fmt) {
|
||||
var o = {
|
||||
"M+": this.getMonth() + 1, //月份
|
||||
"d+": this.getDate(), //日
|
||||
"h+": this.getHours(), //小时
|
||||
"m+": this.getMinutes(), //分
|
||||
"s+": this.getSeconds(), //秒
|
||||
"q+": Math.floor((this.getMonth() + 3) / 3), //季度
|
||||
"S": this.getMilliseconds() //毫秒
|
||||
};
|
||||
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
|
||||
for (var k in o)
|
||||
if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
|
||||
return fmt;
|
||||
};
|
70
templates/green/static/javascript/easyui-lang-zh_CN.js
Normal file
@ -0,0 +1,70 @@
|
||||
if ($.fn.pagination){
|
||||
$.fn.pagination.defaults.beforePageText = '第';
|
||||
$.fn.pagination.defaults.afterPageText = '共{pages}页';
|
||||
$.fn.pagination.defaults.displayMsg = '显示{from}到{to},共{total}记录';
|
||||
}
|
||||
if ($.fn.datagrid){
|
||||
$.fn.datagrid.defaults.loadMsg = '请稍后…';
|
||||
}
|
||||
if ($.fn.treegrid && $.fn.datagrid){
|
||||
$.fn.treegrid.defaults.loadMsg = $.fn.datagrid.defaults.loadMsg;
|
||||
}
|
||||
if ($.messager){
|
||||
$.messager.defaults.ok = '确定';
|
||||
$.messager.defaults.cancel = '取消';
|
||||
}
|
||||
if ($.fn.validatebox){
|
||||
$.fn.validatebox.defaults.missingMessage = '该输入项为必输项';
|
||||
$.fn.validatebox.defaults.rules.email.message = '请输入有效的电子邮件地址';
|
||||
$.fn.validatebox.defaults.rules.url.message = '请输入有效的URL地址';
|
||||
$.fn.validatebox.defaults.rules.length.message = '输入内容长度必须介于{0}和{1}之间';
|
||||
$.fn.validatebox.defaults.rules.remote.message = '请修正该字段';
|
||||
}
|
||||
if ($.fn.numberbox){
|
||||
$.fn.numberbox.defaults.missingMessage = '该输入项为必输项';
|
||||
}
|
||||
if ($.fn.combobox){
|
||||
$.fn.combobox.defaults.missingMessage = '该输入项为必输项';
|
||||
}
|
||||
if ($.fn.combotree){
|
||||
$.fn.combotree.defaults.missingMessage = '该输入项为必输项';
|
||||
}
|
||||
if ($.fn.combogrid){
|
||||
$.fn.combogrid.defaults.missingMessage = '该输入项为必输项';
|
||||
}
|
||||
if ($.fn.calendar){
|
||||
$.fn.calendar.defaults.weeks = ['日','一','二','三','四','五','六'];
|
||||
$.fn.calendar.defaults.months = ['一月','二月','三月','四月','五月','六月','七月','八月','九月','十月','十一月','十二月'];
|
||||
}
|
||||
if ($.fn.datebox){
|
||||
$.fn.datebox.defaults.currentText = '今天';
|
||||
$.fn.datebox.defaults.closeText = '关闭';
|
||||
$.fn.datebox.defaults.okText = '确定';
|
||||
$.fn.datebox.defaults.missingMessage = '该输入项为必输项';
|
||||
$.fn.datebox.defaults.formatter = function(date){
|
||||
var y = date.getFullYear();
|
||||
var m = date.getMonth()+1;
|
||||
var d = date.getDate();
|
||||
return y+'-'+(m<10?('0'+m):m)+'-'+(d<10?('0'+d):d);
|
||||
};
|
||||
$.fn.datebox.defaults.parser = function(s){
|
||||
if (!s) return new Date();
|
||||
var ss = s.split('-');
|
||||
var y = parseInt(ss[0],10);
|
||||
var m = parseInt(ss[1],10);
|
||||
var d = parseInt(ss[2],10);
|
||||
if (!isNaN(y) && !isNaN(m) && !isNaN(d)){
|
||||
return new Date(y,m-1,d);
|
||||
} else {
|
||||
return new Date();
|
||||
}
|
||||
};
|
||||
}
|
||||
if ($.fn.datetimebox && $.fn.datebox){
|
||||
$.extend($.fn.datetimebox.defaults,{
|
||||
currentText: $.fn.datebox.defaults.currentText,
|
||||
closeText: $.fn.datebox.defaults.closeText,
|
||||
okText: $.fn.datebox.defaults.okText,
|
||||
missingMessage: $.fn.datebox.defaults.missingMessage
|
||||
});
|
||||
}
|
153
templates/green/static/javascript/header.js
Normal file
@ -0,0 +1,153 @@
|
||||
var $C = function (objName) {
|
||||
if (typeof (document.getElementById(objName)) != "object")
|
||||
{ return null; }
|
||||
else
|
||||
{ return document.getElementById(objName); }
|
||||
}
|
||||
jQuery.cookie = function (name, value, options) {
|
||||
if (typeof value != 'undefined') {
|
||||
options = options || {};
|
||||
if (value === null) {
|
||||
value = '';
|
||||
options.expires = -1;
|
||||
}
|
||||
var expires = '';
|
||||
if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
|
||||
var date;
|
||||
if (typeof options.expires == 'number') {
|
||||
date = new Date();
|
||||
date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
|
||||
} else {
|
||||
date = options.expires;
|
||||
}
|
||||
expires = '; expires=' + date.toUTCString();
|
||||
}
|
||||
var path = options.path ? '; path=' + options.path : '';
|
||||
var domain = options.domain ? '; domain=' + options.domain : '';
|
||||
var secure = options.secure ? '; secure' : '';
|
||||
document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
|
||||
} else {
|
||||
var cookieValue = null;
|
||||
if (document.cookie && document.cookie != '') {
|
||||
var cookies = document.cookie.split(';');
|
||||
for (var i = 0; i < cookies.length; i++) {
|
||||
var cookie = jQuery.trim(cookies[i]);
|
||||
if (cookie.substring(0, name.length + 1) == (name + '=')) {
|
||||
cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return cookieValue;
|
||||
}
|
||||
};
|
||||
$(function () {
|
||||
|
||||
|
||||
$(".rightList li").mouseover(function () {
|
||||
//$($(this).parent()).children().each(function () {
|
||||
// $(this).removeClass("on");
|
||||
//});
|
||||
//$(this).addClass("on");
|
||||
});
|
||||
$(".rightList_nobor li").mouseover(function () {
|
||||
$($(this).parent()).children().each(function () {
|
||||
$(this).addClass("on");
|
||||
});
|
||||
});
|
||||
|
||||
$("#headerUserHistoryBtn").mouseover(function () {
|
||||
HeaderShowUtil.headerShowHistory();
|
||||
});
|
||||
$("#headerUserHistory").mouseleave(function () {
|
||||
HeaderShowUtil.headerHideHistory();
|
||||
});
|
||||
});
|
||||
function getNote() {
|
||||
}
|
||||
function goPage(cpage) {
|
||||
location.href = '?page=' + cpage;
|
||||
}
|
||||
|
||||
|
||||
|
||||
function isWeiXin() {
|
||||
var ua = window.navigator.userAgent.toLowerCase();
|
||||
if (ua.indexOf("micromessenger") > 0) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
var HeaderShowUtil = {
|
||||
headerShowHistory: function (obj) {
|
||||
if ($("#headerUserHistory").html().length < 10) {
|
||||
var rStr = '<div class="record_box">';
|
||||
rStr += ' <div class="record_title" id="hdShowTitle"><a href="javascript:void(0);" class="record_tit1 on" onclick="javascript:HeaderShowUtil.headerShowHistoryLog(this);">最近阅读</a><a href="javascript:void(0);" class="record_tit2" onclick="javascript:HeaderShowUtil.headerShowFavLog(this);">我的书架</a></div>';
|
||||
rStr += ' <div class="record_list record_list1" id="hdShowHistory">';
|
||||
rStr += ' <ul>';
|
||||
rStr += ' </ul>';
|
||||
rStr += ' <a class="all" href="/" >查看全部</a>';
|
||||
rStr += ' </div>';
|
||||
rStr += ' <div class="record_list record_list2" style="display:none" id="hsShowFav">';
|
||||
rStr += ' <ul>';
|
||||
rStr += ' </ul>';
|
||||
rStr += ' <a class="all" href="/" >查看全部</a>';
|
||||
rStr += ' </div>';
|
||||
rStr += ' <p class="sp"></p>';
|
||||
rStr += ' </div>';
|
||||
$("#headerUserHistory").html(rStr);
|
||||
}
|
||||
$("#headerUserHistory").show();
|
||||
$("#headerUserHistoryBtn").addClass("on");
|
||||
HeaderShowUtil.headerShowHistoryLog();
|
||||
},
|
||||
headerHideHistory: function () {
|
||||
$("#headerUserHistory").hide();
|
||||
$("#headerUserHistoryBtn").removeClass("on");
|
||||
},
|
||||
headerShowHistoryLog: function (obj) {
|
||||
if (obj != undefined) {
|
||||
$("#hdShowTitle a").removeClass("on");
|
||||
$(obj).addClass("on");
|
||||
$("#hdShowHistory").show();
|
||||
$("#hsShowFav").hide();
|
||||
}
|
||||
var cookieHistory = jQuery.cookie("wapviewhistory");
|
||||
if (cookieHistory != undefined && cookieHistory.length > 0) {
|
||||
var bList, bIdList;
|
||||
var bIdArray = new Array();
|
||||
var cookieList = cookieHistory.split(',');
|
||||
for (var i = 0; i < cookieList.length && i < 3; i++) {
|
||||
var str = cookieList[i];
|
||||
if (str.indexOf('|') > 0) {
|
||||
bList = str.split('|');
|
||||
if (bList.length == 3) {
|
||||
bIdList += ',' + bList[0].replace("b", "");
|
||||
bIdArray[bList[0].replace("b", "")] = bList[1];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else {
|
||||
$("#hdShowHistory ul").html("<li>暂无看书历史</li>");
|
||||
}
|
||||
},
|
||||
headerShowFavLog: function (obj) {
|
||||
$("#hdShowTitle a").removeClass("on");
|
||||
$(obj).addClass("on");
|
||||
$("#hsShowFav").show();
|
||||
$("#hdShowHistory").hide();
|
||||
var rStr = '';
|
||||
var uname = jQuery.cookie("waplogname");
|
||||
if (uname != undefined && uname != "") {
|
||||
}
|
||||
else {
|
||||
rStr = '<li><a href="/user/login.html">请先登录</a></li>';
|
||||
$("#hsShowFav ul").html(rStr);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
2
templates/green/static/javascript/jquery-1.8.0.min.js
vendored
Normal file
16103
templates/green/static/javascript/jquery.easyui.min.js
vendored
Normal file
2
templates/green/static/javascript/layer.m.js
Normal file
@ -0,0 +1,2 @@
|
||||
/*! layer mobile-v1.6 弹层组件移动版 License LGPL http://layer.layui.com/mobile By 贤心 */
|
||||
;!function(a){"use strict";var b="";b=b?b:document.scripts[document.scripts.length-1].src.match(/[\s\S]*\//)[0];var c=document,d="querySelectorAll",e="getElementsByClassName",f=function(a){return c[d](a)};document.head.appendChild(function(){var a=c.createElement("link");return a.href=b+"need/layer.css",a.type="text/css",a.rel="styleSheet",a.id="layermcss",a}());var g={type:0,shade:!0,shadeClose:!0,fixed:!0,anim:!0};a.ready={extend:function(a){var b=JSON.parse(JSON.stringify(g));for(var c in a)b[c]=a[c];return b},timer:{},end:{}},ready.touch=function(a,b){var c;return/Android|iPhone|SymbianOS|Windows Phone|iPad|iPod/.test(navigator.userAgent)?(a.addEventListener("touchmove",function(){c=!0},!1),void a.addEventListener("touchend",function(a){a.preventDefault(),c||b.call(this,a),c=!1},!1)):void a.addEventListener("click",function(a){b.call(this,a)},!1)};var h=0,i=["layermbox"],j=function(a){var b=this;b.config=ready.extend(a),b.view()};j.prototype.view=function(){var a=this,b=a.config,d=c.createElement("div");a.id=d.id=i[0]+h,d.setAttribute("class",i[0]+" "+i[0]+(b.type||0)),d.setAttribute("index",h);var g=function(){var a="object"==typeof b.title;return b.title?'<h3 style="'+(a?b.title[1]:"")+'">'+(a?b.title[0]:b.title)+'</h3><button class="layermend"></button>':""}(),j=function(){var a,c=(b.btn||[]).length;return 0!==c&&b.btn?(a='<span type="1">'+b.btn[0]+"</span>",2===c&&(a='<span type="0">'+b.btn[1]+"</span>"+a),'<div class="layermbtn">'+a+"</div>"):""}();if(b.fixed||(b.top=b.hasOwnProperty("top")?b.top:100,b.style=b.style||"",b.style+=" top:"+(c.body.scrollTop+b.top)+"px"),2===b.type&&(b.content='<i></i><i class="laymloadtwo"></i><i></i><div>'+(b.content||"")+"</div>"),d.innerHTML=(b.shade?"<div "+("string"==typeof b.shade?'style="'+b.shade+'"':"")+' class="laymshade"></div>':"")+'<div class="layermmain" '+(b.fixed?"":'style="position:static;"')+'><div class="section"><div class="layermchild '+(b.className?b.className:"")+" "+(b.type||b.shade?"":"layermborder ")+(b.anim?"layermanim":"")+'" '+(b.style?'style="'+b.style+'"':"")+">"+g+'<div class="layermcont">'+b.content+"</div>"+j+"</div></div></div>",!b.type||2===b.type){var l=c[e](i[0]+b.type),m=l.length;m>=1&&k.close(l[0].getAttribute("index"))}document.body.appendChild(d);var n=a.elem=f("#"+a.id)[0];b.success&&b.success(n),a.index=h++,a.action(b,n)},j.prototype.action=function(a,b){var c=this;if(a.time&&(ready.timer[c.index]=setTimeout(function(){k.close(c.index)},1e3*a.time)),a.title){var d=b[e]("layermend")[0],f=function(){a.cancel&&a.cancel(),k.close(c.index)};ready.touch(d,f)}var g=function(){var b=this.getAttribute("type");0==b?(a.no&&a.no(),k.close(c.index)):a.yes?a.yes(c.index):k.close(c.index)};if(a.btn)for(var h=b[e]("layermbtn")[0].children,i=h.length,j=0;i>j;j++)ready.touch(h[j],g);if(a.shade&&a.shadeClose){var l=b[e]("laymshade")[0];ready.touch(l,function(){k.close(c.index,a.end)})}a.end&&(ready.end[c.index]=a.end)};var k={v:"1.6",index:h,open:function(a){var b=new j(a||{});return b.index},close:function(a){var b=f("#"+i[0]+a)[0];b&&(b.innerHTML="",c.body.removeChild(b),clearTimeout(ready.timer[a]),delete ready.timer[a],"function"==typeof ready.end[a]&&ready.end[a](),delete ready.end[a])},closeAll:function(){for(var a=c[e](i[0]),b=0,d=a.length;d>b;b++)k.close(0|a[0].getAttribute("index"))}};"function"==typeof define?define(function(){return k}):a.layer=k}(window);
|
180
templates/green/static/javascript/lazyload.js
Normal file
@ -0,0 +1,180 @@
|
||||
/*!
|
||||
* Lazy Load - JavaScript plugin for lazy loading images
|
||||
*
|
||||
* Copyright (c) 2007-2019 Mika Tuupola
|
||||
*
|
||||
* Licensed under the MIT license:
|
||||
* http://www.opensource.org/licenses/mit-license.php
|
||||
*
|
||||
* Project home:
|
||||
* https://appelsiini.net/projects/lazyload
|
||||
*
|
||||
* Version: 2.0.0-rc.2
|
||||
*
|
||||
*/
|
||||
|
||||
(function (root, factory) {
|
||||
if (typeof exports === "object") {
|
||||
module.exports = factory(root);
|
||||
} else if (typeof define === "function" && define.amd) {
|
||||
define([], factory);
|
||||
} else {
|
||||
root.LazyLoad = factory(root);
|
||||
}
|
||||
}) (typeof global !== "undefined" ? global : this.window || this.global, function (root) {
|
||||
|
||||
"use strict";
|
||||
|
||||
if (typeof define === "function" && define.amd){
|
||||
root = window;
|
||||
}
|
||||
|
||||
const defaults = {
|
||||
src: "data-src",
|
||||
srcset: "data-srcset",
|
||||
selector: ".lazyload",
|
||||
root: null,
|
||||
rootMargin: "0px",
|
||||
threshold: 0
|
||||
};
|
||||
|
||||
/**
|
||||
* Merge two or more objects. Returns a new object.
|
||||
* @private
|
||||
* @param {Boolean} deep If true, do a deep (or recursive) merge [optional]
|
||||
* @param {Object} objects The objects to merge together
|
||||
* @returns {Object} Merged values of defaults and options
|
||||
*/
|
||||
const extend = function () {
|
||||
|
||||
let extended = {};
|
||||
let deep = false;
|
||||
let i = 0;
|
||||
let length = arguments.length;
|
||||
|
||||
/* Check if a deep merge */
|
||||
if (Object.prototype.toString.call(arguments[0]) === "[object Boolean]") {
|
||||
deep = arguments[0];
|
||||
i++;
|
||||
}
|
||||
|
||||
/* Merge the object into the extended object */
|
||||
let merge = function (obj) {
|
||||
for (let prop in obj) {
|
||||
if (Object.prototype.hasOwnProperty.call(obj, prop)) {
|
||||
/* If deep merge and property is an object, merge properties */
|
||||
if (deep && Object.prototype.toString.call(obj[prop]) === "[object Object]") {
|
||||
extended[prop] = extend(true, extended[prop], obj[prop]);
|
||||
} else {
|
||||
extended[prop] = obj[prop];
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
/* Loop through each object and conduct a merge */
|
||||
for (; i < length; i++) {
|
||||
let obj = arguments[i];
|
||||
merge(obj);
|
||||
}
|
||||
|
||||
return extended;
|
||||
};
|
||||
|
||||
function LazyLoad(images, options) {
|
||||
this.settings = extend(defaults, options || {});
|
||||
this.images = images || document.querySelectorAll(this.settings.selector);
|
||||
this.observer = null;
|
||||
this.init();
|
||||
}
|
||||
|
||||
LazyLoad.prototype = {
|
||||
init: function() {
|
||||
|
||||
/* Without observers load everything and bail out early. */
|
||||
if (!root.IntersectionObserver) {
|
||||
this.loadImages();
|
||||
return;
|
||||
}
|
||||
|
||||
let self = this;
|
||||
let observerConfig = {
|
||||
root: this.settings.root,
|
||||
rootMargin: this.settings.rootMargin,
|
||||
threshold: [this.settings.threshold]
|
||||
};
|
||||
|
||||
this.observer = new IntersectionObserver(function(entries) {
|
||||
Array.prototype.forEach.call(entries, function (entry) {
|
||||
if (entry.isIntersecting) {
|
||||
self.observer.unobserve(entry.target);
|
||||
let src = entry.target.getAttribute(self.settings.src);
|
||||
let srcset = entry.target.getAttribute(self.settings.srcset);
|
||||
if ("img" === entry.target.tagName.toLowerCase()) {
|
||||
if (src) {
|
||||
entry.target.src = src;
|
||||
}
|
||||
if (srcset) {
|
||||
entry.target.srcset = srcset;
|
||||
}
|
||||
} else {
|
||||
entry.target.style.backgroundImage = "url(" + src + ")";
|
||||
}
|
||||
}
|
||||
});
|
||||
}, observerConfig);
|
||||
|
||||
Array.prototype.forEach.call(this.images, function (image) {
|
||||
self.observer.observe(image);
|
||||
});
|
||||
},
|
||||
|
||||
loadAndDestroy: function () {
|
||||
if (!this.settings) { return; }
|
||||
this.loadImages();
|
||||
this.destroy();
|
||||
},
|
||||
|
||||
loadImages: function () {
|
||||
if (!this.settings) { return; }
|
||||
|
||||
let self = this;
|
||||
Array.prototype.forEach.call(this.images, function (image) {
|
||||
let src = image.getAttribute(self.settings.src);
|
||||
let srcset = image.getAttribute(self.settings.srcset);
|
||||
if ("img" === image.tagName.toLowerCase()) {
|
||||
if (src) {
|
||||
image.src = src;
|
||||
}
|
||||
if (srcset) {
|
||||
image.srcset = srcset;
|
||||
}
|
||||
} else {
|
||||
image.style.backgroundImage = "url('" + src + "')";
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
destroy: function () {
|
||||
if (!this.settings) { return; }
|
||||
this.observer.disconnect();
|
||||
this.settings = null;
|
||||
}
|
||||
};
|
||||
|
||||
root.lazyload = function(images, options) {
|
||||
return new LazyLoad(images, options);
|
||||
};
|
||||
|
||||
if (root.jQuery) {
|
||||
const $ = root.jQuery;
|
||||
$.fn.lazyload = function (options) {
|
||||
options = options || {};
|
||||
options.attribute = options.attribute || "data-src";
|
||||
new LazyLoad($.makeArray(this), options);
|
||||
return this;
|
||||
};
|
||||
}
|
||||
|
||||
return LazyLoad;
|
||||
});
|
239
templates/green/static/javascript/need/layer.css
Normal file
@ -0,0 +1,239 @@
|
||||
.layermbox {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
z-index: 19891014
|
||||
}
|
||||
|
||||
.layermmain, .laymshade {
|
||||
position: fixed;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 100%
|
||||
}
|
||||
|
||||
.layermbtn span, .layermchild {
|
||||
display: inline-block;
|
||||
position: relative
|
||||
}
|
||||
|
||||
.laymshade {
|
||||
background-color: rgba(0, 0, 0, .5);
|
||||
pointer-events: auto
|
||||
}
|
||||
|
||||
.layermmain {
|
||||
display: table;
|
||||
font-family: Helvetica, arial, sans-serif;
|
||||
pointer-events: none
|
||||
}
|
||||
|
||||
.layermmain .section {
|
||||
display: table-cell;
|
||||
vertical-align: middle;
|
||||
text-align: center
|
||||
}
|
||||
|
||||
.layermchild {
|
||||
text-align: left;
|
||||
background-color: #fff;
|
||||
font-size: 14px;
|
||||
border-radius: 6px;
|
||||
box-shadow: 0 0 8px rgba(0, 0, 0, .1);
|
||||
pointer-events: auto;
|
||||
-webkit-animation-fill-mode: both;
|
||||
animation-fill-mode: both;
|
||||
-webkit-animation-duration: .18s;
|
||||
animation-duration: .18s
|
||||
}
|
||||
|
||||
.layermborder {
|
||||
border: 1px solid #999
|
||||
}
|
||||
|
||||
@-webkit-keyframes bounceIn {
|
||||
0% {
|
||||
opacity: 0;
|
||||
-webkit-transform: scale(.5);
|
||||
transform: scale(.5)
|
||||
}
|
||||
100% {
|
||||
opacity: 1;
|
||||
-webkit-transform: scale(1);
|
||||
transform: scale(1)
|
||||
}
|
||||
}
|
||||
|
||||
.layermanim {
|
||||
animation-name: bounceIn;
|
||||
-webkit-animation-name: bounceIn
|
||||
}
|
||||
|
||||
.layermbox0 .layermchild {
|
||||
max-width: 260px;
|
||||
min-width: 150px
|
||||
}
|
||||
|
||||
.layermbox1 .layermchild {
|
||||
border: none;
|
||||
border-radius: 0
|
||||
}
|
||||
|
||||
.layermbox2 .layermchild {
|
||||
width: auto;
|
||||
max-width: 260px;
|
||||
min-width: 40px;
|
||||
border: none;
|
||||
background-color: rgba(0, 0, 0, .6);
|
||||
color: #fff
|
||||
}
|
||||
|
||||
.layermchild h3 {
|
||||
padding: 0 45px 0 10px;
|
||||
height: 50px;
|
||||
line-height: 50px;
|
||||
font-size: 16px;
|
||||
font-weight: 400;
|
||||
border-radius: 5px 5px 0 0;
|
||||
border-bottom: 1px solid #EBEBEB
|
||||
}
|
||||
|
||||
.layermbtn span, .layermchild h3 {
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
white-space: nowrap
|
||||
}
|
||||
|
||||
.layermcont {
|
||||
padding: 20px 15px;
|
||||
line-height: 22px;
|
||||
border-radius: 5px
|
||||
}
|
||||
|
||||
.layermbox1 .layermcont {
|
||||
padding: 0
|
||||
}
|
||||
|
||||
.layermbox2 .layermcont {
|
||||
text-align: center;
|
||||
padding: 30px 30px 0;
|
||||
line-height: 0
|
||||
}
|
||||
|
||||
.layermbox2 .layermcont i {
|
||||
width: 1.5rem;
|
||||
height: 1.5rem;
|
||||
margin-left: 8px;
|
||||
display: inline-block;
|
||||
background-color: #fff;
|
||||
border-radius: 100%;
|
||||
-webkit-animation: bouncedelay 1.4s infinite ease-in-out;
|
||||
animation: bouncedelay 1.4s infinite ease-in-out;
|
||||
-webkit-animation-fill-mode: both;
|
||||
animation-fill-mode: both
|
||||
}
|
||||
|
||||
@-webkit-keyframes bouncedelay {
|
||||
0%, 100%, 80% {
|
||||
-webkit-transform: scale(0)
|
||||
}
|
||||
40% {
|
||||
-webkit-transform: scale(1)
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes bouncedelay {
|
||||
0%, 100%, 80% {
|
||||
transform: scale(0);
|
||||
-webkit-transform: scale(0)
|
||||
}
|
||||
40% {
|
||||
transform: scale(1);
|
||||
-webkit-transform: scale(1)
|
||||
}
|
||||
}
|
||||
|
||||
.layermbox2 .layermcont i:first-child {
|
||||
margin-left: 0;
|
||||
-webkit-animation-delay: -.32s;
|
||||
animation-delay: -.32s
|
||||
}
|
||||
|
||||
.layermbox2 .layermcont i.laymloadtwo {
|
||||
-webkit-animation-delay: -.16s;
|
||||
animation-delay: -.16s
|
||||
}
|
||||
|
||||
.layermbox2 .layermcont > div {
|
||||
line-height: 22px;
|
||||
padding-top: 7px;
|
||||
margin-bottom: 20px;
|
||||
font-size: 14px
|
||||
}
|
||||
|
||||
.layermbtn {
|
||||
position: relative;
|
||||
height: 40px;
|
||||
line-height: 40px;
|
||||
font-size: 0;
|
||||
text-align: center;
|
||||
border-top: 1px solid #EBEBEB
|
||||
}
|
||||
|
||||
.layermbtn span {
|
||||
width: 50%;
|
||||
text-align: center;
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
border-radius: 0 5px 0 0
|
||||
}
|
||||
|
||||
.layermbtn span:first-child {
|
||||
height: 39px;
|
||||
background-color: #fff;
|
||||
border-radius: 0 0 0 5px
|
||||
}
|
||||
|
||||
.layermbtn:before {
|
||||
content: '\20';
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
height: 39px;
|
||||
left: 50%;
|
||||
top: 0;
|
||||
background-color: #EBEBEB
|
||||
}
|
||||
|
||||
.layermend {
|
||||
position: absolute;
|
||||
right: 7px;
|
||||
top: 10px;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
border: 0;
|
||||
font-weight: 400;
|
||||
background: 0 0;
|
||||
cursor: pointer;
|
||||
-webkit-appearance: none;
|
||||
font-size: 30px
|
||||
}
|
||||
|
||||
.layermend::after, .layermend::before {
|
||||
position: absolute;
|
||||
left: 5px;
|
||||
top: 13px;
|
||||
content: '';
|
||||
width: 20px;
|
||||
height: 2px;
|
||||
background-color: rgba(0, 0, 0, .3);
|
||||
transform: rotate(45deg);
|
||||
-webkit-transform: rotate(45deg);
|
||||
border-radius: 3px
|
||||
}
|
||||
|
||||
.layermend::after {
|
||||
transform: rotate(-45deg);
|
||||
-webkit-transform: rotate(-45deg)
|
||||
}
|
69
templates/green/static/javascript/pay.js
Normal file
@ -0,0 +1,69 @@
|
||||
var UserPay = {
|
||||
czData: [[30, "3000屋币"], [50, "5000屋币"], [100, "10000屋币"], [200, "20000屋币"], [500, "50000屋币"], [365, "全站包年阅读"] ],
|
||||
czPayPalData: [[20, "10000屋币"], [50, "25000屋币"], [100, "50000屋币"], [80, "全站包年阅读"]],
|
||||
sendPay: function () {
|
||||
$("#payform").submit();
|
||||
}
|
||||
}
|
||||
|
||||
$(function () {
|
||||
$("#ulPayType li").click(function () {
|
||||
|
||||
if($(this).attr("valp")==2){
|
||||
layer.alert("微信支付暂未开通,敬请期待");
|
||||
}
|
||||
|
||||
return ;
|
||||
|
||||
|
||||
|
||||
$($(this).parent()).children().each(function () {
|
||||
$(this).removeClass("on");
|
||||
});
|
||||
$(this).addClass("on");
|
||||
|
||||
var type = $(this).attr("valp");
|
||||
if (type == "3") {
|
||||
$("#ulPayPal").show();
|
||||
$("#ulPayPalXJ").show();
|
||||
$("#ulZFWX").hide();
|
||||
$("#ulZFWXXJ").hide();
|
||||
}
|
||||
else {
|
||||
$("#ulPayPal").hide();
|
||||
$("#ulPayPalXJ").hide();
|
||||
$("#ulZFWX").show();
|
||||
$("#ulZFWXXJ").show();
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
$("#ulZFWX li").click(function () {
|
||||
$("#ulZFWX li").removeClass("on");
|
||||
$(this).addClass("on");
|
||||
if ($(this).attr("vals") > 0) {
|
||||
$("#pValue").val($(this).attr("vals"));
|
||||
$("#showTotal").html('¥' + $(this).attr("vals") + '元');
|
||||
for (var i = 0; i < UserPay.czData.length; i++) {
|
||||
if (UserPay.czData[i][0] == $(this).attr("vals")) {
|
||||
$("#showRemark").html(UserPay.czData[i][1]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
$("#ulPayPal li").click(function () {
|
||||
$("#ulPayPal li").removeClass("on");
|
||||
$(this).addClass("on");
|
||||
if ($(this).attr("vals") > 0) {
|
||||
$("#pValue").val($(this).attr("vals"));
|
||||
$("#showPayPalTotal").html($(this).attr("vals") + '美元');
|
||||
for (var i = 0; i < UserPay.czData.length; i++) {
|
||||
if (UserPay.czPayPalData[i][0] == $(this).attr("vals")) {
|
||||
$("#showPayPalRemark").html(UserPay.czPayPalData[i][1]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
167
templates/green/static/javascript/ufans.js
Normal file
@ -0,0 +1,167 @@
|
||||
var uFans = {
|
||||
startSupportRead: function () {
|
||||
var uname = jQuery.cookie("waplogname");
|
||||
if (uname != undefined && uname != "") {
|
||||
if (spmymoney == 0) {
|
||||
}
|
||||
else {
|
||||
uFans.startSupport();
|
||||
}
|
||||
}
|
||||
else {
|
||||
layer.open({
|
||||
content: '请先登录',
|
||||
style: BookDetail.msgStyle,
|
||||
time: 2
|
||||
});
|
||||
}
|
||||
},
|
||||
startSupport: function () {
|
||||
var rStr = '<a class="closePopup" href="javascript:void(0);" onclick="javascript:uFans.closeBox();"></a>';
|
||||
rStr += '<div class="popupTit">';
|
||||
rStr += ' <h3>我要捧场作品</h3>';
|
||||
rStr += '</div>';
|
||||
rStr += '<div class="propsList cf">';
|
||||
rStr += ' <ul>';
|
||||
rStr += ' <li vals="100">';
|
||||
rStr += ' <a class="propWrap" href="javascript:void(0);">';
|
||||
rStr += ' <i class="icon_check"></i>';
|
||||
rStr += ' <span class="propsBox">100屋币</span>';
|
||||
rStr += ' </a>';
|
||||
rStr += ' </li>';
|
||||
rStr += ' <li class="on" vals="500">';
|
||||
rStr += ' <a class="propWrap" href="javascript:void(0);">';
|
||||
rStr += ' <i class="icon_check"></i>';
|
||||
rStr += ' <span class="propsBox">500屋币</span>';
|
||||
rStr += ' </a>';
|
||||
rStr += ' </li>';
|
||||
rStr += ' <li vals="2000">';
|
||||
rStr += ' <a class="propWrap" href="javascript:void(0);">';
|
||||
rStr += ' <i class="icon_check"></i>';
|
||||
rStr += ' <span class="propsBox">2000屋币</span>';
|
||||
rStr += ' </a>';
|
||||
rStr += ' </li>';
|
||||
rStr += ' <li vals="5000">';
|
||||
rStr += ' <a class="propWrap" href="javascript:void(0);">';
|
||||
rStr += ' <i class="icon_check"></i>';
|
||||
rStr += ' <span class="propsBox">5000屋币</span>';
|
||||
rStr += ' </a>';
|
||||
rStr += ' </li>';
|
||||
rStr += ' <li vals="10000">';
|
||||
rStr += ' <a class="propWrap" href="javascript:void(0);">';
|
||||
rStr += ' <i class="icon_check"></i>';
|
||||
rStr += ' <span class="propsBox">10000屋币</span>';
|
||||
rStr += ' </a>';
|
||||
rStr += ' </li>';
|
||||
rStr += ' <li vals="100000">';
|
||||
rStr += ' <a class="propWrap" href="javascript:void(0);">';
|
||||
rStr += ' <i class="icon_check"></i>';
|
||||
rStr += ' <span class="propsBox">100000屋币</span>';
|
||||
rStr += ' </a>';
|
||||
rStr += ' </li>';
|
||||
rStr += ' </ul>';
|
||||
rStr += '</div>';
|
||||
rStr += '<p class="have_num">当前剩余<span class="red">' + spmymoney + '</span>屋币 本次捧场<span class="red" id="pcTotal">500</span>屋币<a class="red" href="../pay/" >[充值]</a></p>';
|
||||
rStr += '<p><textarea class="popup_text" id="sendSupportNote" placeholder="感谢您的捧场,留句话鼓励作者吧!"></textarea></p>';
|
||||
rStr += '<p class="tc"><a class="btn_red btn_send_pc" href="javascript:void(0);" onclick="javascript:uFans.SendSupport();">立即捧场</a></p>';
|
||||
$("#showPC").html(rStr);
|
||||
$("#showPC").show();
|
||||
$(".maskBox").show();
|
||||
$(".pcBox .propsList li").click(function () {
|
||||
$(".pcBox .propsList li").removeClass("on");
|
||||
$(this).addClass("on");
|
||||
$("#pcTotal").html($(this).attr("vals"));
|
||||
})
|
||||
},
|
||||
closeBox: function () {
|
||||
$(".pcBox,.flowerBox,.newsTipBox,.maskBox").hide();
|
||||
},
|
||||
SendSupport: function () {
|
||||
var uname = jQuery.cookie("waplogname");
|
||||
if (uname != undefined && uname != "") {
|
||||
var moneyTotal = spmymoney;
|
||||
var moneySupport = parseInt($("#pcTotal").html());
|
||||
var sendNote = $("#sendSupportNote").val();
|
||||
var clearSendNote = sendNote.replace(/[\ |\~|\`|\!|\@|\#|\$|\%|\^|\&|\*|\(|\)|\-|\_|\+|\=|\||\\|\[|\]|\{|\}|\;|\:|\"|\'|\,|\<|\.|\>|\/|\?]/g, "");
|
||||
if (sendNote == "") {
|
||||
layer.open({
|
||||
content: '感谢您的捧场,留句话鼓励作者吧!',
|
||||
style: BookDetail.msgStyle,
|
||||
time: 2
|
||||
});
|
||||
return;
|
||||
}
|
||||
if (clearSendNote.length<5)
|
||||
{
|
||||
layer.open({
|
||||
content: '评论最少5个字符!',
|
||||
style: BookDetail.msgStyle,
|
||||
time: 2
|
||||
});
|
||||
return;
|
||||
}
|
||||
if (moneyTotal >= moneySupport) {
|
||||
var BId = currentBId;
|
||||
}
|
||||
else {
|
||||
layer.open({
|
||||
content: '屋币余额不足',
|
||||
style: BookDetail.msgStyle,
|
||||
time: 2
|
||||
});
|
||||
}
|
||||
}
|
||||
else {
|
||||
layer.open({
|
||||
content: '请先登录',
|
||||
style: BookDetail.msgStyle,
|
||||
time: 2
|
||||
});
|
||||
}
|
||||
},
|
||||
GetSupport: function (BId) {
|
||||
},
|
||||
GetFlower: function (BId) {
|
||||
},
|
||||
showNote: function (noteClass) {
|
||||
uFans.closeBox();
|
||||
$(".maskBox").show();
|
||||
var rStr = '<a class="closePopup" href="javascript:void(0);" onclick="javascript:uFans.closeBox();"></a>';
|
||||
rStr += '<div class="popupTit">';
|
||||
rStr += ' <h3>消息提示</h3>';
|
||||
rStr += '</div>';
|
||||
if (noteClass == 'pc') {
|
||||
rStr += '<div class="tipWrap suc_txt_pc">捧场作品成功!</div>';
|
||||
}
|
||||
else {
|
||||
rStr += '<div class="tipWrap suc_txt_flw">点赞作品成功!</div>';
|
||||
}
|
||||
rStr += '<div class="tc">';
|
||||
rStr += ' <a href="javascript:void(0);" class="btn_red btn_sure" onclick="javascript:uFans.closeBox();">确定</a>';
|
||||
rStr += '</div>';
|
||||
$("#showNote").html(rStr);
|
||||
$("#showNote").show();
|
||||
},
|
||||
formatDateTime: function (now) {
|
||||
if (now != null && now != "") {
|
||||
var dateN = new Date(+/\d+/.exec(now)[0]);
|
||||
var year = dateN.getFullYear();
|
||||
var month = dateN.getMonth() + 1;
|
||||
var date = dateN.getDate();
|
||||
var hour = dateN.getHours();
|
||||
var minute = dateN.getMinutes();
|
||||
var second = dateN.getSeconds();
|
||||
minute = parseInt(minute) < 10 ? "0" + minute : minute;
|
||||
|
||||
if (hour == 0 && minute == 0 && second == 0) {
|
||||
return year + "-" + month + "-" + date;
|
||||
}
|
||||
else {
|
||||
return month + "-" + date + " " + hour + ":" + minute;
|
||||
}
|
||||
}
|
||||
else {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
}
|
77
templates/green/static/javascript/user.js
Normal file
@ -0,0 +1,77 @@
|
||||
var UserUtil = {
|
||||
msgStyle: 'background-color:#333; color:#fff; text-align:center; border:none; font-size:20px; padding:10px;',
|
||||
GetFavoritesNew: function () {
|
||||
var bIdList = "";
|
||||
$(".book_list").each(function () {
|
||||
bIdList += "," + $(this).attr("vals");
|
||||
});
|
||||
if (bIdList != "") {
|
||||
}
|
||||
},
|
||||
GetHistory: function () {
|
||||
var bIdList = "";
|
||||
$(".book_list").each(function () {
|
||||
bIdList += "," + $(this).attr("vals");
|
||||
});
|
||||
if (bIdList != "") {
|
||||
}
|
||||
},
|
||||
GetChapterInfo: function () {
|
||||
var cIdList = "";
|
||||
$(".showCName").each(function () {
|
||||
cIdList += "," + $(this).attr("vals");
|
||||
});
|
||||
if (cIdList != "") {
|
||||
}
|
||||
},
|
||||
SignDay: function () {
|
||||
if (!signed) {
|
||||
signed = true;
|
||||
}
|
||||
},
|
||||
SignDayStatus: function () {
|
||||
},
|
||||
RegSendSms: function () {
|
||||
var mob = $("#txtUName").val();
|
||||
var cCode = $("#TxtChkCode").val();
|
||||
if (mob != "" && cCode != "") {
|
||||
$("#btnSendSms").attr("disabled", "disabled");
|
||||
$("#txtUName").attr("readonly", "true");
|
||||
}
|
||||
else {
|
||||
layer.open({
|
||||
content: '手机号码和验证码必须填写',
|
||||
style: UserUtil.msgStyle,
|
||||
time: 2
|
||||
});
|
||||
}
|
||||
},
|
||||
GetPassSendSms: function () {
|
||||
var mob = $("#txtMobile").val();
|
||||
var cCode = $("#TxtChkCode").val();
|
||||
if (mob != "" && cCode != "") {
|
||||
$("#btnSendSms").attr("disabled", "disabled");
|
||||
$("#txtMobile").attr("readonly", "true");
|
||||
}
|
||||
else {
|
||||
layer.open({
|
||||
content: '手机号码和验证码必须填写',
|
||||
style: UserUtil.msgStyle,
|
||||
time: 2
|
||||
});
|
||||
}
|
||||
},
|
||||
RegSmsWait: function () {
|
||||
if (secondStep > 0) {
|
||||
$("#btnSendSms").val("重新发送(" + secondStep + ")");
|
||||
secondStep--;
|
||||
setTimeout("UserUtil.RegSmsWait()", 1000);
|
||||
}
|
||||
else {
|
||||
secondStep = 180;
|
||||
$("#btnSendSms").val("重新获取验证码");
|
||||
$("#btnSendSms").removeAttr("disabled");
|
||||
$("#txtUName").removeAttr("readonly");
|
||||
}
|
||||
}
|
||||
}
|
32
templates/green/static/javascript/ycUtils.js
Normal file
@ -0,0 +1,32 @@
|
||||
var SCYC = {
|
||||
}
|
||||
|
||||
$.extend($.fn.validatebox.defaults.rules, {
|
||||
checkPenName: {
|
||||
validator: function (value, param) {
|
||||
var url = "/author/checkPenName";
|
||||
var data = { penName: value};
|
||||
var bool = false;
|
||||
$.ajax({
|
||||
type: "get",
|
||||
dataType: 'json',
|
||||
async: false,
|
||||
url: url,
|
||||
data: data,
|
||||
cache: false,
|
||||
success: function (result) {
|
||||
if (result.data) {
|
||||
$.fn.validatebox.defaults.rules.checkPenName.message = '笔名已存在,请重新输入';
|
||||
bool = false;
|
||||
} else {
|
||||
$.fn.validatebox.defaults.rules.checkPenName.message = '';
|
||||
bool = true;
|
||||
}
|
||||
}
|
||||
});
|
||||
return bool;
|
||||
message: '';
|
||||
}
|
||||
}
|
||||
|
||||
});
|
5018
templates/green/static/layui/css/layui.css
Normal file
2
templates/green/static/layui/css/layui.mobile.css
Normal file
2
templates/green/static/layui/css/modules/code.css
Normal file
@ -0,0 +1,2 @@
|
||||
/** layui-v2.4.5 MIT License By https://www.layui.com */
|
||||
html #layuicss-skincodecss{display:none;position:absolute;width:1989px}.layui-code-h3,.layui-code-view{position:relative;font-size:12px}.layui-code-view{display:block;margin:10px 0;padding:0;border:1px solid #e2e2e2;border-left-width:6px;background-color:#F2F2F2;color:#333;font-family:Courier New}.layui-code-h3{padding:0 10px;height:32px;line-height:32px;border-bottom:1px solid #e2e2e2}.layui-code-h3 a{position:absolute;right:10px;top:0;color:#999}.layui-code-view .layui-code-ol{position:relative;overflow:auto}.layui-code-view .layui-code-ol li{position:relative;margin-left:45px;line-height:20px;padding:0 5px;border-left:1px solid #e2e2e2;list-style-type:decimal-leading-zero;*list-style-type:decimal;background-color:#fff}.layui-code-view pre{margin:0}.layui-code-notepad{border:1px solid #0C0C0C;border-left-color:#3F3F3F;background-color:#0C0C0C;color:#C2BE9E}.layui-code-notepad .layui-code-h3{border-bottom:none}.layui-code-notepad .layui-code-ol li{background-color:#3F3F3F;border-left:none}
|
After Width: | Height: | Size: 5.8 KiB |
BIN
templates/green/static/layui/css/modules/layer/default/icon.png
Normal file
After Width: | Height: | Size: 11 KiB |
919
templates/green/static/layui/css/modules/layer/default/layer.css
Normal file
@ -0,0 +1,919 @@
|
||||
/** layui-v2.4.5 MIT License By https://www.layui.com */
|
||||
.layui-layer-imgbar, .layui-layer-imgtit a, .layui-layer-tab .layui-layer-title span, .layui-layer-title {
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap
|
||||
}
|
||||
|
||||
html #layuicss-layer {
|
||||
display: none;
|
||||
position: absolute;
|
||||
width: 1989px
|
||||
}
|
||||
|
||||
.layui-layer, .layui-layer-shade {
|
||||
position: fixed;
|
||||
_position: absolute;
|
||||
pointer-events: auto
|
||||
}
|
||||
|
||||
.layui-layer-shade {
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
_height: expression(document.body.offsetHeight+"px")
|
||||
}
|
||||
|
||||
.layui-layer {
|
||||
-webkit-overflow-scrolling: touch;
|
||||
top: 150px;
|
||||
left: 0;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
background-color: #fff;
|
||||
-webkit-background-clip: content;
|
||||
border-radius: 2px;
|
||||
box-shadow: 1px 1px 50px rgba(0, 0, 0, .3)
|
||||
}
|
||||
|
||||
.layui-layer-close {
|
||||
position: absolute
|
||||
}
|
||||
|
||||
.layui-layer-content {
|
||||
position: relative
|
||||
}
|
||||
|
||||
.layui-layer-border {
|
||||
border: 1px solid #B2B2B2;
|
||||
border: 1px solid rgba(0, 0, 0, .1);
|
||||
box-shadow: 1px 1px 5px rgba(0, 0, 0, .2)
|
||||
}
|
||||
|
||||
.layui-layer-load {
|
||||
background: url(loading-1.gif) center center no-repeat #eee
|
||||
}
|
||||
|
||||
.layui-layer-ico {
|
||||
background: url(icon.png) no-repeat
|
||||
}
|
||||
|
||||
.layui-layer-btn a, .layui-layer-dialog .layui-layer-ico, .layui-layer-setwin a {
|
||||
display: inline-block;
|
||||
*display: inline;
|
||||
*zoom: 1;
|
||||
vertical-align: top
|
||||
}
|
||||
|
||||
.layui-layer-move {
|
||||
display: none;
|
||||
position: fixed;
|
||||
*position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
cursor: move;
|
||||
opacity: 0;
|
||||
filter: alpha(opacity=0);
|
||||
background-color: #fff;
|
||||
z-index: 2147483647
|
||||
}
|
||||
|
||||
.layui-layer-resize {
|
||||
position: absolute;
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
cursor: se-resize
|
||||
}
|
||||
|
||||
.layer-anim {
|
||||
-webkit-animation-fill-mode: both;
|
||||
animation-fill-mode: both;
|
||||
-webkit-animation-duration: .3s;
|
||||
animation-duration: .3s
|
||||
}
|
||||
|
||||
@-webkit-keyframes layer-bounceIn {
|
||||
0% {
|
||||
opacity: 0;
|
||||
-webkit-transform: scale(.5);
|
||||
transform: scale(.5)
|
||||
}
|
||||
100% {
|
||||
opacity: 1;
|
||||
-webkit-transform: scale(1);
|
||||
transform: scale(1)
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes layer-bounceIn {
|
||||
0% {
|
||||
opacity: 0;
|
||||
-webkit-transform: scale(.5);
|
||||
-ms-transform: scale(.5);
|
||||
transform: scale(.5)
|
||||
}
|
||||
100% {
|
||||
opacity: 1;
|
||||
-webkit-transform: scale(1);
|
||||
-ms-transform: scale(1);
|
||||
transform: scale(1)
|
||||
}
|
||||
}
|
||||
|
||||
.layer-anim-00 {
|
||||
-webkit-animation-name: layer-bounceIn;
|
||||
animation-name: layer-bounceIn
|
||||
}
|
||||
|
||||
@-webkit-keyframes layer-zoomInDown {
|
||||
0% {
|
||||
opacity: 0;
|
||||
-webkit-transform: scale(.1) translateY(-2000px);
|
||||
transform: scale(.1) translateY(-2000px);
|
||||
-webkit-animation-timing-function: ease-in-out;
|
||||
animation-timing-function: ease-in-out
|
||||
}
|
||||
60% {
|
||||
opacity: 1;
|
||||
-webkit-transform: scale(.475) translateY(60px);
|
||||
transform: scale(.475) translateY(60px);
|
||||
-webkit-animation-timing-function: ease-out;
|
||||
animation-timing-function: ease-out
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes layer-zoomInDown {
|
||||
0% {
|
||||
opacity: 0;
|
||||
-webkit-transform: scale(.1) translateY(-2000px);
|
||||
-ms-transform: scale(.1) translateY(-2000px);
|
||||
transform: scale(.1) translateY(-2000px);
|
||||
-webkit-animation-timing-function: ease-in-out;
|
||||
animation-timing-function: ease-in-out
|
||||
}
|
||||
60% {
|
||||
opacity: 1;
|
||||
-webkit-transform: scale(.475) translateY(60px);
|
||||
-ms-transform: scale(.475) translateY(60px);
|
||||
transform: scale(.475) translateY(60px);
|
||||
-webkit-animation-timing-function: ease-out;
|
||||
animation-timing-function: ease-out
|
||||
}
|
||||
}
|
||||
|
||||
.layer-anim-01 {
|
||||
-webkit-animation-name: layer-zoomInDown;
|
||||
animation-name: layer-zoomInDown
|
||||
}
|
||||
|
||||
@-webkit-keyframes layer-fadeInUpBig {
|
||||
0% {
|
||||
opacity: 0;
|
||||
-webkit-transform: translateY(2000px);
|
||||
transform: translateY(2000px)
|
||||
}
|
||||
100% {
|
||||
opacity: 1;
|
||||
-webkit-transform: translateY(0);
|
||||
transform: translateY(0)
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes layer-fadeInUpBig {
|
||||
0% {
|
||||
opacity: 0;
|
||||
-webkit-transform: translateY(2000px);
|
||||
-ms-transform: translateY(2000px);
|
||||
transform: translateY(2000px)
|
||||
}
|
||||
100% {
|
||||
opacity: 1;
|
||||
-webkit-transform: translateY(0);
|
||||
-ms-transform: translateY(0);
|
||||
transform: translateY(0)
|
||||
}
|
||||
}
|
||||
|
||||
.layer-anim-02 {
|
||||
-webkit-animation-name: layer-fadeInUpBig;
|
||||
animation-name: layer-fadeInUpBig
|
||||
}
|
||||
|
||||
@-webkit-keyframes layer-zoomInLeft {
|
||||
0% {
|
||||
opacity: 0;
|
||||
-webkit-transform: scale(.1) translateX(-2000px);
|
||||
transform: scale(.1) translateX(-2000px);
|
||||
-webkit-animation-timing-function: ease-in-out;
|
||||
animation-timing-function: ease-in-out
|
||||
}
|
||||
60% {
|
||||
opacity: 1;
|
||||
-webkit-transform: scale(.475) translateX(48px);
|
||||
transform: scale(.475) translateX(48px);
|
||||
-webkit-animation-timing-function: ease-out;
|
||||
animation-timing-function: ease-out
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes layer-zoomInLeft {
|
||||
0% {
|
||||
opacity: 0;
|
||||
-webkit-transform: scale(.1) translateX(-2000px);
|
||||
-ms-transform: scale(.1) translateX(-2000px);
|
||||
transform: scale(.1) translateX(-2000px);
|
||||
-webkit-animation-timing-function: ease-in-out;
|
||||
animation-timing-function: ease-in-out
|
||||
}
|
||||
60% {
|
||||
opacity: 1;
|
||||
-webkit-transform: scale(.475) translateX(48px);
|
||||
-ms-transform: scale(.475) translateX(48px);
|
||||
transform: scale(.475) translateX(48px);
|
||||
-webkit-animation-timing-function: ease-out;
|
||||
animation-timing-function: ease-out
|
||||
}
|
||||
}
|
||||
|
||||
.layer-anim-03 {
|
||||
-webkit-animation-name: layer-zoomInLeft;
|
||||
animation-name: layer-zoomInLeft
|
||||
}
|
||||
|
||||
@-webkit-keyframes layer-rollIn {
|
||||
0% {
|
||||
opacity: 0;
|
||||
-webkit-transform: translateX(-100%) rotate(-120deg);
|
||||
transform: translateX(-100%) rotate(-120deg)
|
||||
}
|
||||
100% {
|
||||
opacity: 1;
|
||||
-webkit-transform: translateX(0) rotate(0);
|
||||
transform: translateX(0) rotate(0)
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes layer-rollIn {
|
||||
0% {
|
||||
opacity: 0;
|
||||
-webkit-transform: translateX(-100%) rotate(-120deg);
|
||||
-ms-transform: translateX(-100%) rotate(-120deg);
|
||||
transform: translateX(-100%) rotate(-120deg)
|
||||
}
|
||||
100% {
|
||||
opacity: 1;
|
||||
-webkit-transform: translateX(0) rotate(0);
|
||||
-ms-transform: translateX(0) rotate(0);
|
||||
transform: translateX(0) rotate(0)
|
||||
}
|
||||
}
|
||||
|
||||
.layer-anim-04 {
|
||||
-webkit-animation-name: layer-rollIn;
|
||||
animation-name: layer-rollIn
|
||||
}
|
||||
|
||||
@keyframes layer-fadeIn {
|
||||
0% {
|
||||
opacity: 0
|
||||
}
|
||||
100% {
|
||||
opacity: 1
|
||||
}
|
||||
}
|
||||
|
||||
.layer-anim-05 {
|
||||
-webkit-animation-name: layer-fadeIn;
|
||||
animation-name: layer-fadeIn
|
||||
}
|
||||
|
||||
@-webkit-keyframes layer-shake {
|
||||
0%, 100% {
|
||||
-webkit-transform: translateX(0);
|
||||
transform: translateX(0)
|
||||
}
|
||||
10%, 30%, 50%, 70%, 90% {
|
||||
-webkit-transform: translateX(-10px);
|
||||
transform: translateX(-10px)
|
||||
}
|
||||
20%, 40%, 60%, 80% {
|
||||
-webkit-transform: translateX(10px);
|
||||
transform: translateX(10px)
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes layer-shake {
|
||||
0%, 100% {
|
||||
-webkit-transform: translateX(0);
|
||||
-ms-transform: translateX(0);
|
||||
transform: translateX(0)
|
||||
}
|
||||
10%, 30%, 50%, 70%, 90% {
|
||||
-webkit-transform: translateX(-10px);
|
||||
-ms-transform: translateX(-10px);
|
||||
transform: translateX(-10px)
|
||||
}
|
||||
20%, 40%, 60%, 80% {
|
||||
-webkit-transform: translateX(10px);
|
||||
-ms-transform: translateX(10px);
|
||||
transform: translateX(10px)
|
||||
}
|
||||
}
|
||||
|
||||
.layer-anim-06 {
|
||||
-webkit-animation-name: layer-shake;
|
||||
animation-name: layer-shake
|
||||
}
|
||||
|
||||
@-webkit-keyframes fadeIn {
|
||||
0% {
|
||||
opacity: 0
|
||||
}
|
||||
100% {
|
||||
opacity: 1
|
||||
}
|
||||
}
|
||||
|
||||
.layui-layer-title {
|
||||
padding: 0 80px 0 20px;
|
||||
height: 42px;
|
||||
line-height: 42px;
|
||||
border-bottom: 1px solid #eee;
|
||||
font-size: 14px;
|
||||
color: #333;
|
||||
overflow: hidden;
|
||||
background-color: #F8F8F8;
|
||||
border-radius: 2px 2px 0 0
|
||||
}
|
||||
|
||||
.layui-layer-setwin {
|
||||
position: absolute;
|
||||
right: 15px;
|
||||
*right: 0;
|
||||
top: 15px;
|
||||
font-size: 0;
|
||||
line-height: initial
|
||||
}
|
||||
|
||||
.layui-layer-setwin a {
|
||||
position: relative;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
margin-left: 10px;
|
||||
font-size: 12px;
|
||||
_overflow: hidden
|
||||
}
|
||||
|
||||
.layui-layer-setwin .layui-layer-min cite {
|
||||
position: absolute;
|
||||
width: 14px;
|
||||
height: 2px;
|
||||
left: 0;
|
||||
top: 50%;
|
||||
margin-top: -1px;
|
||||
background-color: #2E2D3C;
|
||||
cursor: pointer;
|
||||
_overflow: hidden
|
||||
}
|
||||
|
||||
.layui-layer-setwin .layui-layer-min:hover cite {
|
||||
background-color: #2D93CA
|
||||
}
|
||||
|
||||
.layui-layer-setwin .layui-layer-max {
|
||||
background-position: -32px -40px
|
||||
}
|
||||
|
||||
.layui-layer-setwin .layui-layer-max:hover {
|
||||
background-position: -16px -40px
|
||||
}
|
||||
|
||||
.layui-layer-setwin .layui-layer-maxmin {
|
||||
background-position: -65px -40px
|
||||
}
|
||||
|
||||
.layui-layer-setwin .layui-layer-maxmin:hover {
|
||||
background-position: -49px -40px
|
||||
}
|
||||
|
||||
.layui-layer-setwin .layui-layer-close1 {
|
||||
background-position: 1px -40px;
|
||||
cursor: pointer
|
||||
}
|
||||
|
||||
.layui-layer-setwin .layui-layer-close1:hover {
|
||||
opacity: .7
|
||||
}
|
||||
|
||||
.layui-layer-setwin .layui-layer-close2 {
|
||||
position: absolute;
|
||||
right: -28px;
|
||||
top: -28px;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
margin-left: 0;
|
||||
background-position: -149px -31px;
|
||||
*right: -18px;
|
||||
_display: none
|
||||
}
|
||||
|
||||
.layui-layer-setwin .layui-layer-close2:hover {
|
||||
background-position: -180px -31px
|
||||
}
|
||||
|
||||
.layui-layer-btn {
|
||||
text-align: right;
|
||||
padding: 0 15px 12px;
|
||||
pointer-events: auto;
|
||||
user-select: none;
|
||||
-webkit-user-select: none
|
||||
}
|
||||
|
||||
.layui-layer-btn a {
|
||||
height: 28px;
|
||||
line-height: 28px;
|
||||
margin: 5px 5px 0;
|
||||
padding: 0 15px;
|
||||
border: 1px solid #dedede;
|
||||
background-color: #fff;
|
||||
color: #333;
|
||||
border-radius: 2px;
|
||||
font-weight: 400;
|
||||
cursor: pointer;
|
||||
text-decoration: none
|
||||
}
|
||||
|
||||
.layui-layer-btn a:hover {
|
||||
opacity: .9;
|
||||
text-decoration: none
|
||||
}
|
||||
|
||||
.layui-layer-btn a:active {
|
||||
opacity: .8
|
||||
}
|
||||
|
||||
.layui-layer-btn .layui-layer-btn0 {
|
||||
border-color: #3eaf7c;
|
||||
background-color: #3eaf7c;
|
||||
color: #fff
|
||||
}
|
||||
|
||||
.layui-layer-btn-l {
|
||||
text-align: left
|
||||
}
|
||||
|
||||
.layui-layer-btn-c {
|
||||
text-align: center
|
||||
}
|
||||
|
||||
.layui-layer-dialog {
|
||||
min-width: 260px
|
||||
}
|
||||
|
||||
.layui-layer-dialog .layui-layer-content {
|
||||
position: relative;
|
||||
padding: 20px;
|
||||
line-height: 24px;
|
||||
word-break: break-all;
|
||||
overflow: hidden;
|
||||
font-size: 14px;
|
||||
overflow-x: hidden;
|
||||
overflow-y: auto
|
||||
}
|
||||
|
||||
.layui-layer-dialog .layui-layer-content .layui-layer-ico {
|
||||
position: absolute;
|
||||
top: 16px;
|
||||
left: 15px;
|
||||
_left: -40px;
|
||||
width: 30px;
|
||||
height: 30px
|
||||
}
|
||||
|
||||
.layui-layer-ico1 {
|
||||
background-position: -30px 0
|
||||
}
|
||||
|
||||
.layui-layer-ico2 {
|
||||
background-position: -60px 0
|
||||
}
|
||||
|
||||
.layui-layer-ico3 {
|
||||
background-position: -90px 0
|
||||
}
|
||||
|
||||
.layui-layer-ico4 {
|
||||
background-position: -120px 0
|
||||
}
|
||||
|
||||
.layui-layer-ico5 {
|
||||
background-position: -150px 0
|
||||
}
|
||||
|
||||
.layui-layer-ico6 {
|
||||
background-position: -180px 0
|
||||
}
|
||||
|
||||
.layui-layer-rim {
|
||||
border: 6px solid #8D8D8D;
|
||||
border: 6px solid rgba(0, 0, 0, .3);
|
||||
border-radius: 5px;
|
||||
box-shadow: none
|
||||
}
|
||||
|
||||
.layui-layer-msg {
|
||||
min-width: 180px;
|
||||
border: 1px solid #D3D4D3;
|
||||
box-shadow: none
|
||||
}
|
||||
|
||||
.layui-layer-hui {
|
||||
min-width: 100px;
|
||||
background-color: #000;
|
||||
filter: alpha(opacity=60);
|
||||
background-color: rgba(0, 0, 0, .6);
|
||||
color: #fff;
|
||||
border: none
|
||||
}
|
||||
|
||||
.layui-layer-hui .layui-layer-content {
|
||||
padding: 12px 25px;
|
||||
text-align: center
|
||||
}
|
||||
|
||||
.layui-layer-dialog .layui-layer-padding {
|
||||
padding: 20px 20px 20px 55px;
|
||||
text-align: left
|
||||
}
|
||||
|
||||
.layui-layer-page .layui-layer-content {
|
||||
position: relative;
|
||||
overflow: auto
|
||||
}
|
||||
|
||||
.layui-layer-iframe .layui-layer-btn, .layui-layer-page .layui-layer-btn {
|
||||
padding-top: 10px
|
||||
}
|
||||
|
||||
.layui-layer-nobg {
|
||||
background: 0 0
|
||||
}
|
||||
|
||||
.layui-layer-iframe iframe {
|
||||
display: block;
|
||||
width: 100%
|
||||
}
|
||||
|
||||
.layui-layer-loading {
|
||||
border-radius: 100%;
|
||||
background: 0 0;
|
||||
box-shadow: none;
|
||||
border: none
|
||||
}
|
||||
|
||||
.layui-layer-loading .layui-layer-content {
|
||||
width: 60px;
|
||||
height: 24px;
|
||||
background: url(loading-0.gif) no-repeat
|
||||
}
|
||||
|
||||
.layui-layer-loading .layui-layer-loading1 {
|
||||
width: 37px;
|
||||
height: 37px;
|
||||
background: url(loading-1.gif) no-repeat
|
||||
}
|
||||
|
||||
.layui-layer-ico16, .layui-layer-loading .layui-layer-loading2 {
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
background: url(loading-2.gif) no-repeat
|
||||
}
|
||||
|
||||
.layui-layer-tips {
|
||||
background: 0 0;
|
||||
box-shadow: none;
|
||||
border: none
|
||||
}
|
||||
|
||||
.layui-layer-tips .layui-layer-content {
|
||||
position: relative;
|
||||
line-height: 22px;
|
||||
min-width: 12px;
|
||||
padding: 8px 15px;
|
||||
font-size: 12px;
|
||||
_float: left;
|
||||
border-radius: 2px;
|
||||
box-shadow: 1px 1px 3px rgba(0, 0, 0, .2);
|
||||
background-color: #000;
|
||||
color: #fff
|
||||
}
|
||||
|
||||
.layui-layer-tips .layui-layer-close {
|
||||
right: -2px;
|
||||
top: -1px
|
||||
}
|
||||
|
||||
.layui-layer-tips i.layui-layer-TipsG {
|
||||
position: absolute;
|
||||
width: 0;
|
||||
height: 0;
|
||||
border-width: 8px;
|
||||
border-color: transparent;
|
||||
border-style: dashed;
|
||||
*overflow: hidden
|
||||
}
|
||||
|
||||
.layui-layer-tips i.layui-layer-TipsB, .layui-layer-tips i.layui-layer-TipsT {
|
||||
left: 5px;
|
||||
border-right-style: solid;
|
||||
border-right-color: #000
|
||||
}
|
||||
|
||||
.layui-layer-tips i.layui-layer-TipsT {
|
||||
bottom: -8px
|
||||
}
|
||||
|
||||
.layui-layer-tips i.layui-layer-TipsB {
|
||||
top: -8px
|
||||
}
|
||||
|
||||
.layui-layer-tips i.layui-layer-TipsL, .layui-layer-tips i.layui-layer-TipsR {
|
||||
top: 5px;
|
||||
border-bottom-style: solid;
|
||||
border-bottom-color: #000
|
||||
}
|
||||
|
||||
.layui-layer-tips i.layui-layer-TipsR {
|
||||
left: -8px
|
||||
}
|
||||
|
||||
.layui-layer-tips i.layui-layer-TipsL {
|
||||
right: -8px
|
||||
}
|
||||
|
||||
.layui-layer-lan[type=dialog] {
|
||||
min-width: 280px
|
||||
}
|
||||
|
||||
.layui-layer-lan .layui-layer-title {
|
||||
background: #4476A7;
|
||||
color: #fff;
|
||||
border: none
|
||||
}
|
||||
|
||||
.layui-layer-lan .layui-layer-btn {
|
||||
padding: 5px 10px 10px;
|
||||
text-align: right;
|
||||
border-top: 1px solid #E9E7E7
|
||||
}
|
||||
|
||||
.layui-layer-lan .layui-layer-btn a {
|
||||
background: #fff;
|
||||
border-color: #E9E7E7;
|
||||
color: #333
|
||||
}
|
||||
|
||||
.layui-layer-lan .layui-layer-btn .layui-layer-btn1 {
|
||||
background: #C9C5C5
|
||||
}
|
||||
|
||||
.layui-layer-molv .layui-layer-title {
|
||||
background: #009f95;
|
||||
color: #fff;
|
||||
border: none
|
||||
}
|
||||
|
||||
.layui-layer-molv .layui-layer-btn a {
|
||||
background: #009f95;
|
||||
border-color: #009f95
|
||||
}
|
||||
|
||||
.layui-layer-molv .layui-layer-btn .layui-layer-btn1 {
|
||||
background: #92B8B1
|
||||
}
|
||||
|
||||
.layui-layer-iconext {
|
||||
background: url(icon-ext.png) no-repeat
|
||||
}
|
||||
|
||||
.layui-layer-prompt .layui-layer-input {
|
||||
display: block;
|
||||
width: 230px;
|
||||
height: 36px;
|
||||
margin: 0 auto;
|
||||
line-height: 30px;
|
||||
padding-left: 10px;
|
||||
border: 1px solid #e6e6e6;
|
||||
color: #333
|
||||
}
|
||||
|
||||
.layui-layer-prompt textarea.layui-layer-input {
|
||||
width: 300px;
|
||||
height: 100px;
|
||||
line-height: 20px;
|
||||
padding: 6px 10px
|
||||
}
|
||||
|
||||
.layui-layer-prompt .layui-layer-content {
|
||||
padding: 20px
|
||||
}
|
||||
|
||||
.layui-layer-prompt .layui-layer-btn {
|
||||
padding-top: 0
|
||||
}
|
||||
|
||||
.layui-layer-tab {
|
||||
box-shadow: 1px 1px 50px rgba(0, 0, 0, .4)
|
||||
}
|
||||
|
||||
.layui-layer-tab .layui-layer-title {
|
||||
padding-left: 0;
|
||||
overflow: visible
|
||||
}
|
||||
|
||||
.layui-layer-tab .layui-layer-title span {
|
||||
position: relative;
|
||||
float: left;
|
||||
min-width: 80px;
|
||||
max-width: 260px;
|
||||
padding: 0 20px;
|
||||
text-align: center;
|
||||
overflow: hidden;
|
||||
cursor: pointer
|
||||
}
|
||||
|
||||
.layui-layer-tab .layui-layer-title span.layui-this {
|
||||
height: 43px;
|
||||
border-left: 1px solid #eee;
|
||||
border-right: 1px solid #eee;
|
||||
background-color: #fff;
|
||||
z-index: 10
|
||||
}
|
||||
|
||||
.layui-layer-tab .layui-layer-title span:first-child {
|
||||
border-left: none
|
||||
}
|
||||
|
||||
.layui-layer-tabmain {
|
||||
line-height: 24px;
|
||||
clear: both
|
||||
}
|
||||
|
||||
.layui-layer-tabmain .layui-layer-tabli {
|
||||
display: none
|
||||
}
|
||||
|
||||
.layui-layer-tabmain .layui-layer-tabli.layui-this {
|
||||
display: block
|
||||
}
|
||||
|
||||
.layui-layer-photos {
|
||||
-webkit-animation-duration: .8s;
|
||||
animation-duration: .8s
|
||||
}
|
||||
|
||||
.layui-layer-photos .layui-layer-content {
|
||||
overflow: hidden;
|
||||
text-align: center
|
||||
}
|
||||
|
||||
.layui-layer-photos .layui-layer-phimg img {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
display: inline-block;
|
||||
*display: inline;
|
||||
*zoom: 1;
|
||||
vertical-align: top
|
||||
}
|
||||
|
||||
.layui-layer-imgbar, .layui-layer-imguide {
|
||||
display: none
|
||||
}
|
||||
|
||||
.layui-layer-imgnext, .layui-layer-imgprev {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
width: 27px;
|
||||
_width: 44px;
|
||||
height: 44px;
|
||||
margin-top: -22px;
|
||||
outline: 0;
|
||||
blr: expression(this.onFocus=this.blur())
|
||||
}
|
||||
|
||||
.layui-layer-imgprev {
|
||||
left: 10px;
|
||||
background-position: -5px -5px;
|
||||
_background-position: -70px -5px
|
||||
}
|
||||
|
||||
.layui-layer-imgprev:hover {
|
||||
background-position: -33px -5px;
|
||||
_background-position: -120px -5px
|
||||
}
|
||||
|
||||
.layui-layer-imgnext {
|
||||
right: 10px;
|
||||
_right: 8px;
|
||||
background-position: -5px -50px;
|
||||
_background-position: -70px -50px
|
||||
}
|
||||
|
||||
.layui-layer-imgnext:hover {
|
||||
background-position: -33px -50px;
|
||||
_background-position: -120px -50px
|
||||
}
|
||||
|
||||
.layui-layer-imgbar {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
height: 32px;
|
||||
line-height: 32px;
|
||||
background-color: rgba(0, 0, 0, .8);
|
||||
background-color: #000 \9;
|
||||
filter: Alpha(opacity=80);
|
||||
color: #fff;
|
||||
overflow: hidden;
|
||||
font-size: 0
|
||||
}
|
||||
|
||||
.layui-layer-imgtit * {
|
||||
display: inline-block;
|
||||
*display: inline;
|
||||
*zoom: 1;
|
||||
vertical-align: top;
|
||||
font-size: 12px
|
||||
}
|
||||
|
||||
.layui-layer-imgtit a {
|
||||
max-width: 65%;
|
||||
overflow: hidden;
|
||||
color: #fff
|
||||
}
|
||||
|
||||
.layui-layer-imgtit a:hover {
|
||||
color: #fff;
|
||||
text-decoration: underline
|
||||
}
|
||||
|
||||
.layui-layer-imgtit em {
|
||||
padding-left: 10px;
|
||||
font-style: normal
|
||||
}
|
||||
|
||||
@-webkit-keyframes layer-bounceOut {
|
||||
100% {
|
||||
opacity: 0;
|
||||
-webkit-transform: scale(.7);
|
||||
transform: scale(.7)
|
||||
}
|
||||
30% {
|
||||
-webkit-transform: scale(1.05);
|
||||
transform: scale(1.05)
|
||||
}
|
||||
0% {
|
||||
-webkit-transform: scale(1);
|
||||
transform: scale(1)
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes layer-bounceOut {
|
||||
100% {
|
||||
opacity: 0;
|
||||
-webkit-transform: scale(.7);
|
||||
-ms-transform: scale(.7);
|
||||
transform: scale(.7)
|
||||
}
|
||||
30% {
|
||||
-webkit-transform: scale(1.05);
|
||||
-ms-transform: scale(1.05);
|
||||
transform: scale(1.05)
|
||||
}
|
||||
0% {
|
||||
-webkit-transform: scale(1);
|
||||
-ms-transform: scale(1);
|
||||
transform: scale(1)
|
||||
}
|
||||
}
|
||||
|
||||
.layer-anim-close {
|
||||
-webkit-animation-name: layer-bounceOut;
|
||||
animation-name: layer-bounceOut;
|
||||
-webkit-animation-fill-mode: both;
|
||||
animation-fill-mode: both;
|
||||
-webkit-animation-duration: .2s;
|
||||
animation-duration: .2s
|
||||
}
|
||||
|
||||
@media screen and (max-width: 1100px) {
|
||||
.layui-layer-iframe {
|
||||
overflow-y: auto;
|
||||
-webkit-overflow-scrolling: touch
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 5.7 KiB |
After Width: | Height: | Size: 701 B |
After Width: | Height: | Size: 1.7 KiB |
@ -0,0 +1,96 @@
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<title>聊天记录</title>
|
||||
|
||||
<link rel="stylesheet" href="http://local.res.layui.com/layui/src/css/layui.css">
|
||||
<style>
|
||||
body .layim-chat-main{height: auto;}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="layim-chat-main">
|
||||
<ul id="LAY_view"></ul>
|
||||
</div>
|
||||
|
||||
<div id="LAY_page" style="margin: 0 10px;"></div>
|
||||
|
||||
|
||||
<textarea title="消息模版" id="LAY_tpl" style="display:none;">
|
||||
{{# layui.each(d.data, function(index, item){
|
||||
if(item.id == parent.layui.layim.cache().mine.id){ }}
|
||||
<li class="layim-chat-mine"><div class="layim-chat-user"><img src="{{ item.avatar }}"><cite><i>{{ layui.data.date(item.timestamp) }}</i>{{ item.username }}</cite></div><div class="layim-chat-text">{{ layui.layim.content(item.content) }}</div></li>
|
||||
{{# } else { }}
|
||||
<li><div class="layim-chat-user"><img src="{{ item.avatar }}"><cite>{{ item.username }}<i>{{ layui.data.date(item.timestamp) }}</i></cite></div><div class="layim-chat-text">{{ layui.layim.content(item.content) }}</div></li>
|
||||
{{# }
|
||||
}); }}
|
||||
</textarea>
|
||||
|
||||
<!--
|
||||
上述模版采用了 laytpl 语法,不了解的同学可以去看下文档:http://www.layui.com/doc/modules/laytpl.html
|
||||
|
||||
-->
|
||||
|
||||
|
||||
<script src="http://local.res.layui.com/layui/src/layui.js"></script>
|
||||
<script>
|
||||
layui.use(['layim', 'laypage'], function(){
|
||||
var layim = layui.layim
|
||||
,layer = layui.layer
|
||||
,laytpl = layui.laytpl
|
||||
,$ = layui.jquery
|
||||
,laypage = layui.laypage;
|
||||
|
||||
//聊天记录的分页此处不做演示,你可以采用laypage,不了解的同学见文档:http://www.layui.com/doc/modules/laypage.html
|
||||
|
||||
|
||||
//开始请求聊天记录
|
||||
var param = location.search //获得URL参数。该窗口url会携带会话id和type,他们是你请求聊天记录的重要凭据
|
||||
|
||||
//实际使用时,下述的res一般是通过Ajax获得,而此处仅仅只是演示数据格式
|
||||
,res = {
|
||||
code: 0
|
||||
,msg: ''
|
||||
,data: [{
|
||||
username: '纸飞机'
|
||||
,id: 100000
|
||||
,avatar: 'http://tva3.sinaimg.cn/crop.0.0.512.512.180/8693225ajw8f2rt20ptykj20e80e8weu.jpg'
|
||||
,timestamp: 1480897882000
|
||||
,content: 'face[抱抱] face[心] 你好啊小美女'
|
||||
}, {
|
||||
username: 'Z_子晴'
|
||||
,id: 108101
|
||||
,avatar: 'http://tva3.sinaimg.cn/crop.0.0.512.512.180/8693225ajw8f2rt20ptykj20e80e8weu.jpg'
|
||||
,timestamp: 1480897892000
|
||||
,content: '你没发错吧?face[微笑]'
|
||||
},{
|
||||
username: 'Z_子晴'
|
||||
,id: 108101
|
||||
,avatar: 'http://tva3.sinaimg.cn/crop.0.0.512.512.180/8693225ajw8f2rt20ptykj20e80e8weu.jpg'
|
||||
,timestamp: 1480897898000
|
||||
,content: '你是谁呀亲。。我爱的是贤心!我爱的是贤心!我爱的是贤心!重要的事情要说三遍~'
|
||||
},{
|
||||
username: 'Z_子晴'
|
||||
,id: 108101
|
||||
,avatar: 'http://tva3.sinaimg.cn/crop.0.0.512.512.180/8693225ajw8f2rt20ptykj20e80e8weu.jpg'
|
||||
,timestamp: 1480897908000
|
||||
,content: '注意:这些都是模拟数据,实际使用时,需将其中的模拟接口改为你的项目真实接口。\n该模版文件所在目录(相对于layui.js):\n/css/modules/layim/html/chatlog.html'
|
||||
}]
|
||||
}
|
||||
|
||||
//console.log(param)
|
||||
|
||||
var html = laytpl(LAY_tpl.value).render({
|
||||
data: res.data
|
||||
});
|
||||
$('#LAY_view').html(html);
|
||||
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,38 @@
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<title>发现</title>
|
||||
|
||||
<link rel="stylesheet" href="http://local.res.layui.com/layui/src/css/layui.css">
|
||||
<style>
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div style="margin: 15px;">
|
||||
<blockquote class="layui-elem-quote">此为自定义的【查找】页面,因需求不一,所以官方暂不提供该模版结构与样式,实际使用时,可移至该文件到你的项目中,对页面自行把控。
|
||||
<br>文件所在目录(相对于layui.js):/css/modules/layim/html/find.html</blockquote>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<script src="http://local.res.layui.com/layui/src/layui.js"></script>
|
||||
<script>
|
||||
layui.use(['layim', 'laypage'], function(){
|
||||
var layim = layui.layim
|
||||
,layer = layui.layer
|
||||
,laytpl = layui.laytpl
|
||||
,$ = layui.jquery
|
||||
,laypage = layui.laypage;
|
||||
|
||||
//一些添加好友请求之类的交互参见文档
|
||||
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,87 @@
|
||||
{
|
||||
"code": 0,
|
||||
"pages": 1,
|
||||
"data": [
|
||||
{
|
||||
"id": 76,
|
||||
"content": "申请添加你为好友",
|
||||
"uid": 168,
|
||||
"from": 166488,
|
||||
"from_group": 0,
|
||||
"type": 1,
|
||||
"remark": "有问题要问",
|
||||
"href": null,
|
||||
"read": 1,
|
||||
"time": "刚刚",
|
||||
"user": {
|
||||
"id": 166488,
|
||||
"avatar": "http://q.qlogo.cn/qqapp/101235792/B704597964F9BD0DB648292D1B09F7E8/100",
|
||||
"username": "李彦宏",
|
||||
"sign": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 75,
|
||||
"content": "申请添加你为好友",
|
||||
"uid": 168,
|
||||
"from": 347592,
|
||||
"from_group": 0,
|
||||
"type": 1,
|
||||
"remark": "你好啊!",
|
||||
"href": null,
|
||||
"read": 1,
|
||||
"time": "刚刚",
|
||||
"user": {
|
||||
"id": 347592,
|
||||
"avatar": "http://q.qlogo.cn/qqapp/101235792/B78751375E0531675B1272AD994BA875/100",
|
||||
"username": "麻花疼",
|
||||
"sign": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 62,
|
||||
"content": "雷军 拒绝了你的好友申请",
|
||||
"uid": 168,
|
||||
"from": null,
|
||||
"from_group": null,
|
||||
"type": 1,
|
||||
"remark": null,
|
||||
"href": null,
|
||||
"read": 1,
|
||||
"time": "10天前",
|
||||
"user": {
|
||||
"id": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 60,
|
||||
"content": "马小云 已经同意你的好友申请",
|
||||
"uid": 168,
|
||||
"from": null,
|
||||
"from_group": null,
|
||||
"type": 1,
|
||||
"remark": null,
|
||||
"href": null,
|
||||
"read": 1,
|
||||
"time": "10天前",
|
||||
"user": {
|
||||
"id": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 61,
|
||||
"content": "贤心 已经同意你的好友申请",
|
||||
"uid": 168,
|
||||
"from": null,
|
||||
"from_group": null,
|
||||
"type": 1,
|
||||
"remark": null,
|
||||
"href": null,
|
||||
"read": 1,
|
||||
"time": "10天前",
|
||||
"user": {
|
||||
"id": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
208
templates/green/static/layui/css/modules/layim/html/msgbox.html
Normal file
@ -0,0 +1,208 @@
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<title>消息盒子</title>
|
||||
|
||||
<link rel="stylesheet" href="../../../layui.css?v=1">
|
||||
<style>
|
||||
.layim-msgbox{margin: 15px;}
|
||||
.layim-msgbox li{position: relative; margin-bottom: 10px; padding: 0 130px 10px 60px; padding-bottom: 10px; line-height: 22px; border-bottom: 1px dotted #e2e2e2;}
|
||||
.layim-msgbox .layim-msgbox-tips{margin: 0; padding: 10px 0; border: none; text-align: center; color: #999;}
|
||||
.layim-msgbox .layim-msgbox-system{padding: 0 10px 10px 10px;}
|
||||
.layim-msgbox li p span{padding-left: 5px; color: #999;}
|
||||
.layim-msgbox li p em{font-style: normal; color: #FF5722;}
|
||||
|
||||
.layim-msgbox-avatar{position: absolute; left: 0; top: 0; width: 50px; height: 50px;}
|
||||
.layim-msgbox-user{padding-top: 5px;}
|
||||
.layim-msgbox-content{margin-top: 3px;}
|
||||
.layim-msgbox .layui-btn-small{padding: 0 15px; margin-left: 5px;}
|
||||
.layim-msgbox-btn{position: absolute; right: 0; top: 12px; color: #999;}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<ul class="layim-msgbox" id="LAY_view"></ul>
|
||||
|
||||
<div style="margin: 0 15px;">
|
||||
<blockquote class="layui-elem-quote">注意:这些都是模拟数据,实际使用时,需将其中的模拟接口改为你的项目真实接口。
|
||||
<br>该模版文件所在目录(相对于layui.js):/css/modules/layim/html/msgbox.html</blockquote>
|
||||
</div>
|
||||
|
||||
<textarea title="消息模版" id="LAY_tpl" style="display:none;">
|
||||
{{# layui.each(d.data, function(index, item){
|
||||
if(item.from){ }}
|
||||
<li data-uid="{{ item.from }}" data-fromGroup="{{ item.from_group }}">
|
||||
<a href="/u/{{ item.from }}/" >
|
||||
<img src="{{ item.user.avatar }}" class="layui-circle layim-msgbox-avatar">
|
||||
</a>
|
||||
<p class="layim-msgbox-user">
|
||||
<a href="/u/{{ item.from }}/" >{{ item.user.username||'' }}</a>
|
||||
<span>{{ item.time }}</span>
|
||||
</p>
|
||||
<p class="layim-msgbox-content">
|
||||
{{ item.content }}
|
||||
<span>{{ item.remark ? '附言: '+item.remark : '' }}</span>
|
||||
</p>
|
||||
<p class="layim-msgbox-btn">
|
||||
<button class="layui-btn layui-btn-small" data-type="agree">同意</button>
|
||||
<button class="layui-btn layui-btn-small layui-btn-primary" data-type="refuse">拒绝</button>
|
||||
</p>
|
||||
</li>
|
||||
{{# } else { }}
|
||||
<li class="layim-msgbox-system">
|
||||
<p><em>系统:</em>{{ item.content }}<span>{{ item.time }}</span></p>
|
||||
</li>
|
||||
{{# }
|
||||
}); }}
|
||||
</textarea>
|
||||
|
||||
<!--
|
||||
上述模版采用了 laytpl 语法,不了解的同学可以去看下文档:http://www.layui.com/doc/modules/laytpl.html
|
||||
-->
|
||||
|
||||
|
||||
<script src="../../../../layui.js?v=1"></script>
|
||||
<script>
|
||||
layui.use(['layim', 'flow'], function(){
|
||||
var layim = layui.layim
|
||||
,layer = layui.layer
|
||||
,laytpl = layui.laytpl
|
||||
,$ = layui.jquery
|
||||
,flow = layui.flow;
|
||||
|
||||
var cache = {}; //用于临时记录请求到的数据
|
||||
|
||||
//请求消息
|
||||
var renderMsg = function(page, callback){
|
||||
|
||||
//实际部署时,请将下述 getmsg.json 改为你的接口地址
|
||||
|
||||
$.get('getmsg.json', {
|
||||
page: page || 1
|
||||
}, function(res){
|
||||
if(res.code != 0){
|
||||
return layer.msg(res.msg);
|
||||
}
|
||||
|
||||
//记录来源用户信息
|
||||
layui.each(res.data, function(index, item){
|
||||
cache[item.from] = item.user;
|
||||
});
|
||||
|
||||
callback && callback(res.data, res.pages);
|
||||
});
|
||||
};
|
||||
|
||||
//消息信息流
|
||||
flow.load({
|
||||
elem: '#LAY_view' //流加载容器
|
||||
,isAuto: false
|
||||
,end: '<li class="layim-msgbox-tips">暂无更多新消息</li>'
|
||||
,done: function(page, next){ //加载下一页
|
||||
renderMsg(page, function(data, pages){
|
||||
var html = laytpl(LAY_tpl.value).render({
|
||||
data: data
|
||||
,page: page
|
||||
});
|
||||
next(html, page < pages);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
//打开页面即把消息标记为已读
|
||||
/*
|
||||
$.post('/message/read', {
|
||||
type: 1
|
||||
});
|
||||
*/
|
||||
|
||||
//操作
|
||||
var active = {
|
||||
//同意
|
||||
agree: function(othis){
|
||||
var li = othis.parents('li')
|
||||
,uid = li.data('uid')
|
||||
,from_group = li.data('fromGroup')
|
||||
,user = cache[uid];
|
||||
|
||||
//选择分组
|
||||
parent.layui.layim.setFriendGroup({
|
||||
type: 'friend'
|
||||
,username: user.username
|
||||
,avatar: user.avatar
|
||||
,group: parent.layui.layim.cache().friend //获取好友分组数据
|
||||
,submit: function(group, index){
|
||||
|
||||
//将好友追加到主面板
|
||||
parent.layui.layim.addList({
|
||||
type: 'friend'
|
||||
,avatar: user.avatar //好友头像
|
||||
,username: user.username //好友昵称
|
||||
,groupid: group //所在的分组id
|
||||
,id: uid //好友ID
|
||||
,sign: user.sign //好友签名
|
||||
});
|
||||
parent.layer.close(index);
|
||||
othis.parent().html('已同意');
|
||||
|
||||
|
||||
//实际部署时,请开启下述注释,并改成你的接口地址
|
||||
/*
|
||||
$.post('/im/agreeFriend', {
|
||||
uid: uid //对方用户ID
|
||||
,from_group: from_group //对方设定的好友分组
|
||||
,group: group //我设定的好友分组
|
||||
}, function(res){
|
||||
if(res.code != 0){
|
||||
return layer.msg(res.msg);
|
||||
}
|
||||
|
||||
//将好友追加到主面板
|
||||
parent.layui.layim.addList({
|
||||
type: 'friend'
|
||||
,avatar: user.avatar //好友头像
|
||||
,username: user.username //好友昵称
|
||||
,groupid: group //所在的分组id
|
||||
,id: uid //好友ID
|
||||
,sign: user.sign //好友签名
|
||||
});
|
||||
parent.layer.close(index);
|
||||
othis.parent().html('已同意');
|
||||
});
|
||||
*/
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
//拒绝
|
||||
,refuse: function(othis){
|
||||
var li = othis.parents('li')
|
||||
,uid = li.data('uid');
|
||||
|
||||
layer.confirm('确定拒绝吗?', function(index){
|
||||
$.post('/im/refuseFriend', {
|
||||
uid: uid //对方用户ID
|
||||
}, function(res){
|
||||
if(res.code != 0){
|
||||
return layer.msg(res.msg);
|
||||
}
|
||||
layer.close(index);
|
||||
othis.parent().html('<em>已拒绝</em>');
|
||||
});
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
$('body').on('click', '.layui-btn', function(){
|
||||
var othis = $(this), type = othis.data('type');
|
||||
active[type] ? active[type].call(this, othis) : '';
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
2
templates/green/static/layui/css/modules/layim/layim.css
Normal file
BIN
templates/green/static/layui/css/modules/layim/skin/1.jpg
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
templates/green/static/layui/css/modules/layim/skin/2.jpg
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
templates/green/static/layui/css/modules/layim/skin/3.jpg
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
templates/green/static/layui/css/modules/layim/skin/4.jpg
Normal file
After Width: | Height: | Size: 38 KiB |
BIN
templates/green/static/layui/css/modules/layim/skin/5.jpg
Normal file
After Width: | Height: | Size: 33 KiB |
BIN
templates/green/static/layui/css/modules/layim/skin/logo.jpg
Normal file
After Width: | Height: | Size: 3.2 KiB |
BIN
templates/green/static/layui/css/modules/layim/voice/default.mp3
Normal file
BIN
templates/green/static/layui/font/iconfont.eot
Normal file
473
templates/green/static/layui/font/iconfont.svg
Normal file
After Width: | Height: | Size: 274 KiB |
BIN
templates/green/static/layui/font/iconfont.ttf
Normal file
BIN
templates/green/static/layui/font/iconfont.woff
Normal file
BIN
templates/green/static/layui/images/face/0.gif
Normal file
After Width: | Height: | Size: 2.6 KiB |
BIN
templates/green/static/layui/images/face/1.gif
Normal file
After Width: | Height: | Size: 5.4 KiB |
BIN
templates/green/static/layui/images/face/10.gif
Normal file
After Width: | Height: | Size: 2.7 KiB |
BIN
templates/green/static/layui/images/face/11.gif
Normal file
After Width: | Height: | Size: 4.0 KiB |
BIN
templates/green/static/layui/images/face/12.gif
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
templates/green/static/layui/images/face/13.gif
Normal file
After Width: | Height: | Size: 7.3 KiB |
BIN
templates/green/static/layui/images/face/14.gif
Normal file
After Width: | Height: | Size: 2.3 KiB |
BIN
templates/green/static/layui/images/face/15.gif
Normal file
After Width: | Height: | Size: 1.8 KiB |
BIN
templates/green/static/layui/images/face/16.gif
Normal file
After Width: | Height: | Size: 6.6 KiB |
BIN
templates/green/static/layui/images/face/17.gif
Normal file
After Width: | Height: | Size: 4.3 KiB |
BIN
templates/green/static/layui/images/face/18.gif
Normal file
After Width: | Height: | Size: 2.9 KiB |
BIN
templates/green/static/layui/images/face/19.gif
Normal file
After Width: | Height: | Size: 3.0 KiB |
BIN
templates/green/static/layui/images/face/2.gif
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
templates/green/static/layui/images/face/20.gif
Normal file
After Width: | Height: | Size: 5.0 KiB |
BIN
templates/green/static/layui/images/face/21.gif
Normal file
After Width: | Height: | Size: 5.1 KiB |
BIN
templates/green/static/layui/images/face/22.gif
Normal file
After Width: | Height: | Size: 9.6 KiB |
BIN
templates/green/static/layui/images/face/23.gif
Normal file
After Width: | Height: | Size: 3.7 KiB |
BIN
templates/green/static/layui/images/face/24.gif
Normal file
After Width: | Height: | Size: 7.9 KiB |
BIN
templates/green/static/layui/images/face/25.gif
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
templates/green/static/layui/images/face/26.gif
Normal file
After Width: | Height: | Size: 3.2 KiB |
BIN
templates/green/static/layui/images/face/27.gif
Normal file
After Width: | Height: | Size: 4.3 KiB |
BIN
templates/green/static/layui/images/face/28.gif
Normal file
After Width: | Height: | Size: 2.7 KiB |
BIN
templates/green/static/layui/images/face/29.gif
Normal file
After Width: | Height: | Size: 4.7 KiB |
BIN
templates/green/static/layui/images/face/3.gif
Normal file
After Width: | Height: | Size: 3.9 KiB |
BIN
templates/green/static/layui/images/face/30.gif
Normal file
After Width: | Height: | Size: 2.5 KiB |
BIN
templates/green/static/layui/images/face/31.gif
Normal file
After Width: | Height: | Size: 2.0 KiB |