This commit is contained in:
kenlee 2025-07-07 20:01:40 +08:00
parent ca6dcab963
commit b1cd9fbe3f
78 changed files with 2888 additions and 557 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 273 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 559 B

BIN
assets/images/titleicon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,10 @@
@charset "utf-8";
@import "initial";
@media (max-width: 1150px) {
.black-screen-social-window {
display: none !important;
}
}
@media(max-width: 767px) {
.modules-menu .modules-menu-level-0>li { margin: 0; }
.modules-menu .modules-menu-level-0>li:hover { background: transparent; }

View File

@ -2,6 +2,36 @@
@import "../initial";
@import "variables";
#orbit-bar .orbit-bar-title a{
color: #333!important;
}
#orbit-bar .orbit-bar-inner > label:focus, #orbit-bar .orbit-bar-inner > label.focus{
.orbit-bar-search-sign-language{
display: block
}
}
.orbit-bar-search-sign-language{
@media(max-width:767px){
position: absolute !important;
width: 100%;
margin: 0 !important;
right: 0 !important;
top: 2.5em !important;
}
}
body #orbit-bar .orbit-bar-search-sign-language #search input[type="search"]{
&:hover{
outline: 3px solid $theme-color-second;
background-color: #e6f0ff;
border-radius: 4px;
}
&:focus{
outline: 3px solid $theme-color-second;
background-color: #e6f0ff;
border-radius: 4px;
}
}
#orbit-bar .orbit-bar-inner > ul > li > ul li{
list-style: none!important;
}
@ -33,8 +63,9 @@ a:focus {
}
img {
max-width: 100%;
height: auto;
width: 100%;
height: 100%;
object-fit: cover;
}
.admin-edit {
@ -120,7 +151,11 @@ a.btn-primary {
}
}
}
img{
width: 100%;
height: 100%;
object-fit: cover;
}
// Take care of exceeding content
// body[data-module="page_content"],
// body[data-module="announcement"] {
@ -128,3 +163,6 @@ a.btn-primary {
// overflow-x: auto;
// }
// }
*[data-pp]>.editmode-ps>a, .admin-subpart-area .content>.editmode-ps>a{
position: !important;
}

View File

@ -1,21 +1,55 @@
@charset "utf-8";
@import "variables";
.internal-page{
.page-module-title{
display: block !important;
text-align: left !important;
&:before{
display: block;
position: relative;
text-align: center;
content: '';
height: 6px;
width: 80px;
background-color: $theme-color-second;
margin-bottom: 0.2em;
}
}
}
.page-home{
.unity-title {
span{
width: 100%;
display: flex;
justify-content: center;
align-items: center;
&:before{
background: url(/assets/titleicon.png) no-repeat left center;
display: block;
position: relative;
text-align: center;
content: '';
width: 35px;
height: 35px;
background-size: contain;
margin-top: 9px;
margin-right: 4px;
}
}
}
}
// Title
.unity-title {
margin: 0.5em 0;
line-height: 1.5;
font-family: $main-font;
font-size: $font-h3;
font-weight: bold;
color: $theme-color-main;
display: -webkit-box;
text-align: center;
.layout-footer & {
margin-bottom: 0.625em;
border-bottom: none;
span {
display: inline;
margin-bottom: 0;

View File

@ -16,7 +16,7 @@ $theme-red: #d20001;
$theme-blue: #003d7e;
$theme-color-main: #333333;
$theme-color-second:#1a1b20;
$theme-color-second:#1273eb;
$theme-color-third: #1273eb;
$theme-color-green: #32D9C3;
$theme-color-hover:#1e71c1;
@ -33,29 +33,41 @@ $sub-font: "Noto Sans TC", sans-serif;
$font-15: 0.9375rem;
$font-13: 0.8125rem;
$font-h1: 2.5rem;
$font-h2: 2rem;
$font-h3: 1.8rem;
$font-h4: 1.5rem;
$font-h5: 1.2rem;
$font-h6: 1rem;
$font-h1: 2rem;
$font-h2: 1.8rem;
$font-h3: 1.3rem;
$font-h4: 1rem;
$font-h5: 0.9rem;
$font-h6: 0.85rem;
h1{
font-size:2.5rem;
font-size:2rem;
@media(max-width:$screen-xs){
font-size:2rem;
}
}
h2{
font-size: 2rem;
font-size: 1.8rem;
@media(max-width:$screen-xs){
font-size:1.8rem;
}
}
h3{
font-size:1.8rem;
font-size:1.3rem;
@media(max-width:$screen-xs){
font-size:1.3rem;
}
}
h4{
font-size: 1.5rem;
font-size: 1rem;
@media(max-width:$screen-xs){
font-size:1rem;
}
}
h5{
font-size: 1.2rem;
font-size: 0.9rem;
}
h6{
font-size: 1rem;
font-size: 0.85rem;
}
// $font-h1: 1.8rem;
// $font-h2: 1.5rem;

View File

@ -9,12 +9,11 @@
.verticalhome{
position: relative;
width: 100%;
background-color: #F8F9FA;
overflow: hidden;
}
.internal-page{
.layout-content{
background: #F8F9FA;
background: transparent;
padding-bottom: 4em;
}
}
@ -130,3 +129,70 @@
.image-carousel{
padding: 15px 0px 25px 0px;
}
.downIcon {
a{
bottom: 0;
position: absolute;
left: 0;
right: 0;
top: 0;
}
position: absolute;
left: 48.8%;
bottom: 10%;
z-index:2;
display: block;
cursor: pointer;
@media(max-width:$screen-xs){
left: 45%;
}
&:hover{
transform:scale(1.1);
-webkit-transition: .3s ease-out;
-moz-transition: .3s ease-out;
-ms-transition: .3s ease-out;
-o-transition: .3s ease-out;
transition: .3s ease-out;
}
width: 3px;
padding: 10px 15px;
height: 35px;
border: 2px solid #fff;
border-radius: 25px;
opacity: 0.75;
box-sizing: content-box;
animation: move 3s ease-out 1s infinite;
}
.scroller {
width: 3px;
height: 10px;
border-radius: 25%;
background-color: #fff;
animation-name: scroll;
animation-duration: 2.2s;
animation-timing-function: cubic-bezier(.15,.41,.69,.94);
animation-iteration-count: infinite;
}
@keyframes scroll {
0% { opacity: 0; }
10% { transform: translateY(0); opacity: 1; }
100% { transform: translateY(15px); opacity: 0;}
}
@keyframes move {
25% {
opacity: 1;
}
33% {
opacity: 1;
transform: translateY(30px);
}
67% {
opacity: 1;
transform: translateY(40px);
}
100% {
opacity: 0;
transform: translateY(55px) scale3d(0.5, 0.5, 0.5);
}
}

View File

@ -3,12 +3,17 @@
@import "../initial";
.layout-footer {
z-index: 1;
clear: both;
background:#1a1b20;
position: relative;
padding: 2em 0;
color: $theme-color-main;
font-size: 0.8125em;
.footer-updated-date{
clear: both;
padding-left: 1em;
}
ul{
padding: 0;
}
@ -54,6 +59,8 @@
font-size: 0.8125em;
border: #e0e0e0 1px solid;
padding: 0.5em 1em;
display: inline-block;
margin-bottom: 1em;
}
.fatfooter{
display: none;

View File

@ -7,11 +7,14 @@
.outdropdowns{
position: relative;
z-index: 1;
padding: 0.5em 0;
padding: 0.5em 0;
}
.dropdowns{
padding: 0;
}
.header-nav {
ul{
padding: 0;
padding: 0;
}
@media(max-width: 769px){
ul{
@ -29,6 +32,7 @@
outline: 0.3125em auto -webkit-focus-ring-color !important;
}
.layout-header {
width: 100%;
z-index: 10;
position: relative;
margin-bottom: 0;
@ -227,7 +231,7 @@
}
.outdropdowns{
.dropdowns{
position: static!important;
}
}
.nav-menu{
@ -282,7 +286,7 @@
::-moz-placeholder { /* Firefox 19+ */
opacity: 0;
}
input {
input {
position: relative;
background: none;
z-index: 2;
@ -295,34 +299,34 @@
border: 2px solid #33333326;
// box-shadow: #0000000f 0 0px 1px 1px;
border-radius: 3em;
&:hover {
cursor: pointer;
&:focus {
cursor: text;
}
+ span {
background: rgba(255,255,255,0.2);
}
}
&:focus {
width: 200px;
padding: 0 10px;
outline: none;
color: $theme-color-second;
background:none;
&:hover {
cursor: pointer;
&:focus {
cursor: text;
}
+ span {
background: rgba(255,255,255,0.2);
}
}
&:focus {
width: 200px;
padding: 0 10px;
outline: none;
color: $theme-color-second;
background:none;
@media(max-width: $screen-xs){
width: 100px;
}
+ span {
width: 200px;
&::before {
width:2px;
opacity:1;
transition: all .25s ease-in;
}
}
}
}
+ span {
width: 200px;
&::before {
width:2px;
opacity:1;
transition: all .25s ease-in;
}
}
}
}
.kenspan{
.fa-search{
color: $theme-color-second;

View File

@ -8,6 +8,10 @@
// Widget
// ## gerenral styles
ul.button-mid{
margin:0;
z-index: 101;
}
.banner-pager .active-slide button{
background: $theme-color-second!important;
}
@ -18,8 +22,6 @@ iframe{
border:0;
}
.w-ba-banner {
position: relative;
height: fit-content !important;
.cursor {
cursor: pointer;
}
@ -232,12 +234,15 @@ ul.button-mid{
z-index: 102;
display: none;
}
.button-mid{
z-index: 101;
}
.ad-overlay{
text-align: center;
position: relative;
background: none;
color: #fff;
z-index: 99;
z-index: 100;
padding-left: 10%;
padding-right: 10%;
// text-shadow: 1px 1px 1px #0000008c;
@ -246,7 +251,7 @@ ul.button-mid{
position: fixed;
top:0;
@media(max-width: 1500px){
width: auto;
// width: auto;
max-width: unset;
// transform: translateX(-9%);
height: 100vh;
@ -255,25 +260,25 @@ ul.button-mid{
&,& .jp-jplayer{
@media(min-width:1801px){
.ad-overlay{
bottom: 20%;
bottom: 50%;
position: absolute;
}
}
@media screen and (min-width:1451px) and (max-width:1800px){
.ad-overlay{
bottom: 20%;
bottom: 50%;
position: absolute;
}
}
@media screen and (min-width:1281px) and (max-width:1450px){
.ad-overlay{
bottom: 20%;
bottom: 50%;
position: absolute;
}
}
@media screen and (min-width:1026px) and (max-width:1280px){
.ad-overlay{
bottom: 20%;
bottom: 40%;
position: absolute;
}
}
@ -440,6 +445,7 @@ ul.button-mid{
}
// Widget 7
.ba-banner-widget-7 {
position: relative;
@media(min-width:1024px){
display: flex;
flex-direction: row-reverse;
@ -508,3 +514,88 @@ ul.button-mid{
}
}
}
// widget9
.ba-banner-widget-9{
iframe{
border-radius: 2em;
border:1px solid #fff;
padding: 10px;
background: #4cae4c8c;
&:hover{
transform: translate(-10px, -10px);
transition: .5s;
box-shadow: 30px 30px 60px #0000008a;
}
}
&::before{
position: absolute;
content: '';
width: 60%;
height: 100%;
background: linear-gradient(to right, $theme-color-second 0%, #03162700 100%);
display: block;
z-index: 100;
@media(max-width:768px){
}
}
height: 90vh !important;
.w-ba-banner__slide{
-webkit-filter: brightness(50%);
filter: brightness(50%);
position: fixed!important;
}
.w-ba-banner__wrap{
height: 90vh !important;
}
.jp-jplayer{
position: fixed;
}
.jp-video{
height: 90vh !important;
}
.banner-overlay{
background: none!important;
z-index:100;
position: absolute;
@media(min-width:769px){
padding-bottom: 24vh!important;
}
@media(max-width: 768px){
position: absolute!important;
padding-bottom:16vh !important;
}
}
.banner-overlay{
color: #fff;
padding: 3.5em 5em;
background-image: linear-gradient(180deg, transparent 0, #00000066 40%, #000);
.ad-overlay2{
margin: 0 3em;
}
}
.w-ba-banner__caption {
h2 {
font-family: $main-font;
font-size: $w-caption-font-size;
margin: 0.5em 0;
}
p {
font-family: $main-font;
font-size: $w-caption-desc;
}
}
@media(max-width: $screen-sm) {
.ad-overlay {
padding:1em;
position: relative;
background: #333333;
}
.controlplay {
right: 0;
a { padding: 0 5px;}
a i { font-size: 0.75em; }
}
}
}

View File

@ -74,6 +74,7 @@
z-index: 1;
.w-annc__widget-title {
@extend .unity-title;
display: block;
}
.w-annc__list {
@ -1017,6 +1018,9 @@
}
// Widget-24
.widget-announcement-24 {
.w-annc__widget-title{
display: block;
}
.cycle-carousel-wrap{
display: flex;
align-items: baseline;
@ -1282,6 +1286,292 @@
transition: height .6s;
}
}
//widget-25
.widget-announcement-25 {
.w-annc__widget-title{
span{
display: block;
}
}
.w-annc__more-wrap{
display: flex;
justify-content: center;
}
.btn-right,.btn-left{
&:hover{
background: #e5e5e5!important;
}
}
@media(min-width:1024px){
.prevnext{
width: 8% !important;
left: 10%;
}
display: flex;
flex-wrap: wrap;
.w-annc__more-wrap{
width:29%;
display: flex;
justify-content: center;
}
.w-annc__list{
width:71%;
}
}
.w-annc__item{
padding: 0;
margin-right: 1em;
overflow: hidden;
position: relative !important;
@media(max-width: $screen-xs){
width: 100% !important;
}
@media(min-width: 1600px){
height: 28em;
.w-annc__img-wrap{
height: 28em;
}
}
@media(min-width: $screen-xs)and(max-width: 1599px){
height: 20em;
.w-annc__img-wrap{
height: 20em;
}
}
@media(max-width: $screen-xs){
height: 20em;
.w-annc__img-wrap{
height: 20em;
}
}
}
.w-annc__item{
box-shadow:none!important;
-webkit-box-shadow:none!important;
}
.w-annc__entry-title{
margin: 0;
width: 100%;
}
.w-annc__meta i{
color: #fff!important;
}
.w-annc__list{
display: flex;
justify-content: center;
}
.w-annc__postdate-wrap{
color: #fff!important;
}
.w-annc__status-wrap{
color: #fff!important;
}
.w-annc__category-wrap{
color: #fff!important;
}
.w-annc__title{
color: #fff;
}
.w-annc__title {
font-family: $main-font;
white-space: normal;
}
.w-annc__widget-title { text-align: center; }
.w-annc__more { margin-top: 1.5em; }
.w-annc__list > .w-annc__item:nth-child(3n+1) {
clear: both;
}
.w-annc__img-wrap {
margin:0;
height: auto;
}
.w-annc__content-wrap{
padding: 1.5em;
div{
display: -webkit-box;
overflow: hidden;
text-overflow: ellipsis;
-webkit-box-decoration-break: clone;
box-decoration-break: clone;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
}
}
.clearfix{
// text-align: center;
// display: flex;
// justify-content: center;
}
.w-annc__subtitle {
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
text-overflow: ellipsis;
}
.w-annc__content-wrap {
display: inline-block;
&:after {
content: '';
display: block;
margin-top: 5px;
height: 4px;
width: 0;
background: transparent;
transition: width .5s ease, background-color .5s ease;
}
}
.w-annc__item{
-webkit-transition: .3s all ease;
-o-transition: .3s all ease;
transition: .3s all ease;
padding-bottom: 1em;
@media(min-width: $screen-lg){
width:382px !important;
}
@media(max-width: 1025px)and(min-width: 821px){
width: 30.5vw !important;
}
@media(max-width: 820px)and(min-width: 768px){
width: 356px!important;
}
@media (max-width: $screen-xs) {
width: 93.5vw !important;
margin-left: 0 !important;
margin-right: 1em !important;
}
&:hover{
-webkit-transition: all .3s ease;
-moz-transition: all .3s ease;
-ms-transition: all .3s ease;
-o-transition: all .3s ease;
transition: all .3s ease;
.w-annc__content-wrap:after{
width: 100%;
background: #f2f2f2;
}
}
}
.w-annc__item{
&:hover{
-webkit-transform: translateY(-6px);
-ms-transform: translateY(-6px);
transform: translateY(-6px);
.card{
top: 0;
display: flex;
align-items: end;
flex-wrap: wrap;
}
.w-annc__img-wrap{
box-shadow: 0 12px 24px #0000004d, 0 10px 10px #00000033;
-webkit-box-shadow: 0 12px 24px #0000004d, 0 10px 10px #00000033;
}
img{
transform: scale(1.2)!important;
-webkit-transition: .3s ease-out;
-moz-transition: .3s ease-out;
-ms-transition: .3s ease-out;
-o-transition: .3s ease-out;
transition: .3s ease-out;
}
.transitionfade{
height: inherit;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
background-color: rgba(0,0,0,.4);
-webkit-transition: .3s ease-out;
-moz-transition: .3s ease-out;
-ms-transition: .3s ease-out;
-o-transition: .3s ease-out;
transition: .3s ease-out;
}
}
}
.w-annc__subtitle{
color: #fff;
font-size: 1rem;
display: -webkit-box;
overflow: hidden;
text-overflow: ellipsis;
-webkit-box-decoration-break: clone;
box-decoration-break: clone;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
max-height: 0;
opacity: 0;
-webkit-transition: max-height .6s,opacity .6s;
transition: max-height .6s,opacity .6s;
@media(min-width:1920px){
font-size: 1.2em;
}
}
.w-annc__item{
padding: 0;
margin-right: 0.5em;
margin-left: 0.5em;
overflow: hidden;
position: relative !important;
@media(min-width: 1600px){
height: 28em;
.w-annc__img-wrap{
height: 28em;
}
}
@media(min-width: $screen-xs)and(max-width: 1599px){
height: 20em;
.w-annc__img-wrap{
height: 20em;
}
}
}
li{
&:hover{
.card:before{
height:100%;
}
.w-annc__subtitle{
max-height: 100px;
opacity: 1;
}
}
position: relative;
}
.card{
position: absolute;
z-index:0;
padding: 20px 25px;
bottom: 0;
left: 0;
background-color: transparent;
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(32%, #ffffff00), color-stop(89%, #00000080));
background-image: linear-gradient(
180deg
, #ffffff00 32%, #00000080 89%);
width: 100%;
}
.card:before{
content: "";
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 8px;
background-color: #00356aab;
z-index: -1;
-webkit-transition: height .6s;
transition: height .6s;
}
}
// Widget-5
.widget-announcement-5 {
.w-annc__title {
@ -1758,7 +2048,7 @@
}
.w-annc__item{
@media(min-width: 769px){
width: calc(33.3333% - 1em);
width: calc(33.3333% - 2em);
}
@media (min-width: $screen-xs) {
margin-right: 0.5em;
@ -2046,14 +2336,6 @@
}
}
.i-annc__img {
width: 100%;
max-width: 100%;
height: auto;
}
.i-annc__table{
}
.i-annc__th {
color: $theme-color-main;
@extend .i-title;

View File

@ -0,0 +1,62 @@
@charset "utf-8";
@import "../initial";
#ticket-status-form{
background-color: #fdfdfd;
padding: 2em;
border-radius: 10px;
border: 1px solid #E4E6EA;
label{
width: 100%;
}
}
.CheckHistory{
margin-top: 1em;
padding: 0.5em;
border-radius: 0.5em;
margin-bottom: 1em;
font-size: 0.8125rem;
-webkit-transition: all 200ms cubic-bezier(0.39, 0.5, 0.15, 1.36);
-moz-transition: all 200ms cubic-bezier(0.39, 0.5, 0.15, 1.36);
-ms-transition: all 200ms cubic-bezier(0.39, 0.5, 0.15, 1.36);
-o-transition: all 200ms cubic-bezier(0.39, 0.5, 0.15, 1.36);
transition: all 200ms cubic-bezier(0.39, 0.5, 0.15, 1.36);
background: none;
border: none;
color: $theme-color-main;
box-shadow: $theme-color-main 0 0px 0px 2px inset;
&:hover {
color: #fff;
box-shadow:$theme-color-main 0 0px 0px 40px inset;
}
}
#new-ask-question{
clear: both;
}
.CheckStatus{
@media(min-width: 1025px){
right: 20%;
position: relative;
}
float: right;
padding: 0.5em;
border-radius: 0.5em;
margin-bottom: 1em;
font-size: 0.8125rem;
-webkit-transition: all 200ms cubic-bezier(0.39, 0.5, 0.15, 1.36);
-moz-transition: all 200ms cubic-bezier(0.39, 0.5, 0.15, 1.36);
-ms-transition: all 200ms cubic-bezier(0.39, 0.5, 0.15, 1.36);
-o-transition: all 200ms cubic-bezier(0.39, 0.5, 0.15, 1.36);
transition: all 200ms cubic-bezier(0.39, 0.5, 0.15, 1.36);
background: none;
border: none;
color:#337ab7!important;
box-shadow: #337ab7 0 0px 0px 2px inset;
&:hover {
color: #fff!important;
box-shadow:#337ab7 0 0px 0px 40px inset;
}
}

View File

@ -268,7 +268,7 @@
}
}
.form-horizontal{
@media(min-width:769px){
@media(min-width:1025px){
margin: auto;
width: 60%;
}

View File

@ -844,6 +844,341 @@
display: inline-block;
}
}
// Index-21
.index-eventnews-21 {
.i-annc__postdate-wrap{
display: flex !important;
align-items: center;
}
.speakercss{
font-size: 0.8rem;
}
.i-annc__postdate{
font-size: 0.8rem;
}
.viewcss{
opacity: 0;
}
.i-annc__category-wrap{
display: none;
}
.i-annc__meta{
justify-content: center;
}
.i-annc__post-notes{
color: #fff;
}
.cycle-carousel-wrap{
display: flex;
align-items: baseline;
}
.i-annc__entry-title{
margin: 0;
}
.i-annc__meta i{
color: #fff!important;
}
.i-annc__list{
display: flex;
justify-content: center;
flex-wrap: wrap;
}
.i-annc__postdate-wrap{
color: #fff!important;
}
.i-annc__status-wrap{
color: #fff!important;
}
.i-annc__category-wrap{
color: #fff!important;
}
.i-annc__title{
color: #fff;
}
.i-annc__title {
font-family: $main-font;
}
.i-annc__widget-title { text-align: center; }
.i-annc__more { margin-top: 1.5em; }
.i-annc__list > .i-annc__item:nth-child(3n+1) {
clear: both;
}
.i-annc__img-wrap {
margin:0;
height: auto;
}
.i-annc__content-wrap{
padding: 1.5em;
// div{
// display: -webkit-box;
// overflow: hidden;
// text-overflow: ellipsis;
// -webkit-box-decoration-break: clone;
// box-decoration-break: clone;
// -webkit-line-clamp: 3;
// -webkit-box-orient: vertical;
// }
}
.clearfix{
// text-align: center;
// display: flex;
// justify-content: center;
}
.i-annc__post-notes,.i-annc__meta,.speakercss,.hostcss{
color: #fff;
max-height: 0;
opacity: 0;
-webkit-transition: max-height .6s,opacity .6s;
transition: max-height .6s,opacity .6s;
}
.i-annc__content-wrap {
display: inline-block;
text-align: center;
// &:after {
// content: '';
// display: block;
// margin-top: 5px;
// height: 4px;
// width: 0;
// background: transparent;
// transition: width .5s ease, background-color .5s ease;
// }
}
.i-annc__item{
-webkit-transition: .3s all ease;
-o-transition: .3s all ease;
transition: .3s all ease;
padding-bottom: 1em;
@media (max-width: $screen-xs) {
margin: 0;
margin-bottom: 1em;
}
&:hover{
-webkit-transition: all .3s ease;
-moz-transition: all .3s ease;
-ms-transition: all .3s ease;
-o-transition: all .3s ease;
transition: all .3s ease;
// .i-annc__content-wrap:after{
// width: 100%;
// background: #f2f2f2;
// }
}
}
.i-annc__item{
&:hover{
-webkit-transform: translateY(-6px);
-ms-transform: translateY(-6px);
transform: translateY(-6px);
.card{
height:100%;
display: flex;
justify-content: center;
align-items: center;
}
.i-annc__img-wrap{
box-shadow: 0 12px 24px #0000004d, 0 10px 10px #00000033;
-webkit-box-shadow: 0 12px 24px #0000004d, 0 10px 10px #00000033;
}
img{
// transform: scale(1.2)!important;
// -webkit-transition: .3s ease-out;
// -moz-transition: .3s ease-out;
// -ms-transition: .3s ease-out;
// -o-transition: .3s ease-out;
// transition: .3s ease-out;
}
.transitionfade{
height: inherit;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
background-color: rgba(0,0,0,.4);
-webkit-transition: .3s ease-out;
-moz-transition: .3s ease-out;
-ms-transition: .3s ease-out;
-o-transition: .3s ease-out;
transition: .3s ease-out;
}
}
}
.i-annc__subtitle{
margin-bottom: 0;
margin-top: 0.7em;
margin-bottom: 0.7em;
color: #fff;
font-size: 0.8rem;
display: -webkit-box;
overflow: hidden;
text-overflow: ellipsis;
-webkit-box-decoration-break: clone;
box-decoration-break: clone;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
max-height: 0;
opacity: 0;
-webkit-transition: max-height .6s,opacity .6s;
transition: max-height .6s,opacity .6s;
@media(min-width:1920px){
font-size: 1.2em;
}
}
.i-annc__img-wrap {
img{
// height: 100% !important;
width:100%!important;
@media(max-width:767px){
}
}
}
.i-annc__item{
padding: 0;
margin-right: 0.5em;
margin-left: 0.5em;
margin-bottom: 1em;
overflow: hidden;
position: relative !important;
@media(min-width:768px){
&:nth-child(3n + 1),
&:nth-child(3n + 4),
&:nth-child(3n + 5) {
width: calc(100% / 3 - 1em) !important;
}
&:nth-child(3n + 2),
&:nth-child(3n + 3),
&:nth-child(3n + 6) {
width: calc(200% / 3 - 1em) !important;
}
}
@media(max-width:767px){
&:nth-child(2){
width: calc(100% / 2 - 1em) !important;
margin-right: 0.5em;
}
&:nth-child(3){
width: calc(100% / 2 - 1em) !important;
margin-left: 0.5em;
}
}
@media(max-width: $screen-xs){
width: 100% !important;
}
@media(min-width: 1100px){
height: 17em;
.i-annc__img-wrap{
height: 17em;
}
}
@media(min-width: 821px)and(max-width: 1100px){
height: 17em;
.i-annc__img-wrap{
height: 17em;
}
}
@media(min-width: $screen-xs)and(max-width: 820px){
height: 15em;
.i-annc__img-wrap{
height: 15em;
}
}
@media(max-width: $screen-xs){
height: 20em;
.i-annc__img-wrap{
height:20em;
}
}
}
li{
&:hover{
.card:before{
height:200%;
}
.i-annc__subtitle{
max-height: 100px;
opacity: 1;
}
.i-annc__post-notes,.i-annc__meta,.speakercss,.hostcss{
max-height: 100px;
opacity: 1;
}
.viewcss{
opacity: 1;
}
}
position: relative;
}
.card{
position: absolute;
z-index:0;
padding: 0;
bottom: 0;
left: 0;
background-color: transparent;
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(32%, #ffffff00), color-stop(89%, #00000080));
background-image: linear-gradient(
180deg
, #ffffff00 32%, #00000080 89%);
width: 100%;
@media(max-width:$screen-xs){
padding: 10px;
}
}
.card:before{
content: "";
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 8px;
background: linear-gradient(180deg, transparent, #000);
z-index: -1;
-webkit-transition: height .6s;
transition: height .6s;
}
.i-annc__list {
display: flex;
flex-wrap: wrap;
justify-content: center;
}
.i-annc__title {
font-family: $main-font;
}
.i-annc__list > .i-annc__item {
margin-right: 0.5em;
margin-left: 0.5em;
@media (max-width:767px) {
width: calc( 100%/2 - 1.25em );
min-height: unset;
}
@media (max-width: $screen-xs) {
width: 100%!important;
}
}
.i-annc__list > .i-annc__item:nth-child(3n+1) {
clear: both;
}
.i-annc__img-wrap {
overflow: hidden;
height: 12.5em;
margin: 0 0 1em 0;
img {
@media (max-width:767px) {
transform: scale(1) !important;
}
}
}
}
.widget-event-news-calendar-2.w-calendar .w-calendar-title{
background:$theme-color-second;
}

View File

@ -2,9 +2,21 @@
@import "../initial";
.index-pic{
overflow: hidden;
padding: 0;
.img-thumbnail{
width: 100%;
}
&:hover{
img{
transform: scale(1.15) !important;
-webkit-transition: .3s ease-out;
-moz-transition: .3s ease-out;
-ms-transition: .3s ease-out;
-o-transition: .3s ease-out;
transition: .3s ease-out;
}
}
}
// Gallery MODULES
.widget-gallery {
@ -163,7 +175,7 @@
}
}
.index-content {
padding: 1.5625em 0.9375em;
padding: 1em;
background: lighten($theme-gray, 60%);
margin-bottom: 1.25em;
border-radius: 0.125em;
@ -176,7 +188,7 @@
}
.index-content-inner {
margin-bottom: 1.5625em;
}
.index-img {
@ -208,7 +220,7 @@
.img-thumbnail{
width: 100%;
border: 0;
transform: scale(1.6);
padding: 0;
&:hover{
transform: scale(2);
-webkit-transition: .3s all ease;

View File

@ -361,6 +361,86 @@
.i-member-profile-item {
font-size: 1em;
letter-spacing: 1px;
}
.i-member-title { display: none; }
.i-member-item:nth-child(4n+1) {
clear: both;
}
.i-member-pic-wrap {
padding: 0;
}
}
//index 8
.index-member-8 {
.member-data-value-name,.member-data-value-2{
white-space: unset!important;
}
.i-member-item{
background-color: transparent!important;
}
.i-member-section {
margin: auto;
}
.i-member-list {
display: flex;
flex-flow: row wrap;
margin: 0;
}
.i-member-item {
float: none;
padding: 15px;
@media (max-width:1280px) {
width: calc( 100% / 3 );
}
@media (max-width:767px) {
width: calc( 100% / 2 );
}
@media (max-width:580px) {
width: 100%;
}
}
.i-member-item-inner {
height: auto !important;
display: block;
}
.i-member-status-title {
@extend .unity-title;
}
.i-member-item-inner {
background: #fff;
border-radius: 0.8em;
overflow: hidden;
padding: 0 0 1em;
}
.i-member-profile-data-wrap {
height: 3em;
padding: 0 2em;
}
.i-member-pic-wrap {
height:12em;
margin-bottom: 16px;
}
.i-member-pic {
width: 100%;
}
.i-member-profile-list {
@include list-reset;
word-break: break-all;
text-align: center;
}
.i-member-profile-item {
font-size: 0.8em;
line-height: 1.3;
padding-top: 0.5em;
letter-spacing: 1px;

View File

@ -507,7 +507,6 @@
.fa-chevron-right{
align-self: center;
margin-left: 10px;
font-size: 3px;
font-weight: 100!important;
}
.show{

View File

@ -32,6 +32,9 @@
.universal-table-index caption {
width: 100%;
position: relative;
@media(max-width:$screen-xs){
margin-top: 3em;
}
}
.universal-btn{
position: relative;
@ -89,12 +92,15 @@
}
}
}
.theadsearch .universal-th-icon, .theadsearch .universal-dropdown {
display: none !important;
}
.searchbtn{
cursor: pointer;
padding: 0;
position: absolute;
right:1em;
z-index:1;
z-index:2;
@media(max-width: $screen-xs){
margin-top: 0.5em;
right:0;
@ -127,6 +133,7 @@
background-color: $theme-color-second;
behavior: url("/assets/ie_support/PIE2/PIE.htc");
text-align: center;
border: 0;
&:hover{
background-color:$theme-color-third;
}
@ -159,6 +166,7 @@
display: flex;
flex-wrap: wrap;
padding: 0;
margin-top: 3em;
}
.row > div {
@ -197,7 +205,9 @@
}
.searchbox{
display: none;
margin-top: 6em;
margin-top: 1em;
z-index: 1;
position: relative;
.fa-search{
color: #333!important;
}
@ -207,9 +217,6 @@
}
.theadsearch{
width: 100%;
.universal-th-icon,.universal-dropdown{
display: none!important;
}
}
.column_entry_files{
padding-left:0;
@ -217,11 +224,16 @@
.column_entry_file{
list-style: none;
}
.ken-click2{
margin-top:-3em;
-webkit-transition: .3s all ease;
-o-transition: .3s all ease;
transition: .3s all ease;
// .ken-click2{
// margin-top:-3em;
// -webkit-transition: .3s all ease;
// -o-transition: .3s all ease;
// transition: .3s all ease;
// }
.submit-btn-wrap{
@media(min-width:769px){
margin-top: 3em;
}
}
.universal-table-index.table td{
padding: 15px 10px!important;

View File

@ -1,6 +1,9 @@
@charset "utf-8";
@import "../initial";
.i-annc__page-title{
@extend .unity-title;
}
.video_desc{
cite{
display: none;
@ -714,7 +717,7 @@
}
.video_linkwrapper{
position:relative;
height: 12em;
height: 13.5em;
overflow:hidden;
width: 100%;
img{
@ -754,7 +757,7 @@
height:13em;
}
@media(max-width:768px)and(min-width: 600px){
height: 12em;
height: 13.5em;
}
@media(max-width: $screen-xs){
height:13em;
@ -771,7 +774,7 @@
height: 23.5em;
}
@media(max-width: $screen-xs){
height: 12em;
height: 13.5em;
}
}
.video_linkwrapper2{
@ -791,7 +794,7 @@
height: 22.5em;
}
@media(max-width:$screen-xs){
height: 12em;
height: 13.5em;
}
}
.video_linkwrapper3{
@ -809,11 +812,11 @@
}
@media(max-width:768px)and(min-width:$screen-xs){
height: 12em;
height: 13.5em;
}
@media(max-width: $screen-xs){
height:12em;
height:13.5em;
}
}
.video_linkwrapper5{
@ -836,7 +839,7 @@
}
@media(max-width: $screen-xs){
height:12em;
height:13.5em;
}
}

View File

@ -34,7 +34,8 @@
.widget-content{
list-style: none;
@media(min-width: $screen-xs)and(max-width: 768px){
width: 50%
width: 50%!important;
margin:0 auto;
}
}
.widget-link__item{
@ -44,11 +45,12 @@
padding: 0;
}
.widget-content-title,.widget-content-context{
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
overflow: hidden;
text-overflow: ellipsis;
white-space: normal;
}
.widget-link {
// layout-content 下的樣式
@ -92,9 +94,11 @@
}
}
&.widget2{
.link-img-wrap{
height: 14em;
}
.list-unstyled{
display: flex;
justify-content: center;
flex-wrap: wrap;
overflow: hidden;
li:nth-child(n+5){
@ -132,16 +136,23 @@
width: 20%;
padding: 2em;
text-align: center;
@media(max-width:1200px)and(min-width: 769px){
@media(max-width:1200px)and(min-width: 1025px){
padding: 1em !important;
}
@media(max-width:1024px){
@media(max-width:1024px)and(min-width: 769px){
width: 33.3% !important;
padding: 0.5em !important;
}
@media(max-width:$screen-xs){
width: 50% !important;
padding: 0.5em !important;
}
.link-img-wrap{
border-radius:10em;
width: 10em;
height: 10em;
overflow: hidden;
margin: auto;
&:hover{
border-radius:2em;
-webkit-transition: .3s all ease;
@ -177,13 +188,17 @@
}
}
}
&.widget8{
&.widget8{
.widget-content{
padding-top: 2em;
@media(max-width:$screen-xs){
width: 100%;
}
}
.link-img-wrap{
border-radius: 2em;
overflow: hidden;
height: 20em;
&:hover{
img{
transform: scale(1.2) translateY(-1%);
@ -196,7 +211,107 @@
img{
width: 100%;
}
}
&.widget9{
margin-bottom: 2em;
margin-top: 2em;
.list-unstyled{
display: flex;
justify-content: center;
flex-wrap: wrap;
li:nth-child(n+16){
display: none;
}
}
.hex-border {
width: 95%;
height: 95%;
background: #f8f8f8;
color: #6D6D6D;
display: flex;
justify-content: center;
align-items: center;
text-align: center;
clip-path: inherit;
transition: background 0.4s ease;
font-weight: bold;
border-radius: 100%;
}
.widget-content {
// clip-path: polygon(
// 25% 5.77%,
// 75% 5.77%,
// 100% 50%,
// 75% 94.23%,
// 25% 94.23%,
// 0% 50%
// );
width: 10em!important;
height: 10em;
border-radius: 100%;
background: #d7d7d7; /* 邊框顏色 */
display: flex;
justify-content: center;
align-items: center;
margin: 1em;
transition: transform 0.4s ease;
&:hover{
transform: rotate(45deg);
background:$theme-color-second;
}
@media(max-width:$screen-xs){
width: 8em!important;
height: 8em;
}
&:hover{
.hex-border{
background:linear-gradient(180deg, $theme-color-second 0, #e8f6ff 100%);
}
background:$theme-color-second;
-webkit-transition: .3s all ease;
-o-transition: .3s all ease;
transition: .3s all ease;
-webkit-transform:rotate(15deg) translateY(-6px);
-ms-transform: rotate(15deg) translateY(-6px);
transform:rotate(15deg) translateY(-6px);
}
@media(max-width:1200px)and(min-width: 769px){
padding: 1em !important;
}
.link-img-wrap{
border-radius:10em;
overflow: hidden;
&:hover{
border-radius:2em;
-webkit-transition: .3s all ease;
-o-transition: .3s all ease;
transition: .3s all ease;
}
}
& + .widget-content {
}
.widget-content-title {
padding:0 0.5em;
border-radius: 0.5em;
color: #333;
font-weight: bold;
text-align: center;
width: fit-content;
margin: auto;
@media(max-width: 768px){
width: auto;
padding: 0.2em 0.5em;
display: -webkit-box;
-webkit-line-clamp: 2;
line-height: normal;
}
}
}
}
}
// Link INDEX

View File

@ -1,4 +1,3 @@
@import url("http://fonts.googleapis.com/css?family=Droid+Sans:400,700");
// Base
@import "base/orbitbar-override";
@ -22,6 +21,17 @@
//RWD
@import "RWD";
.visually-hidden{
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0;
}
.sr-only{
position: absolute;
width: 1px;
@ -202,10 +212,9 @@ ul.tab_nav {
padding: 0.5em;
}
.black-screen-social-window .content-social .social_wrap i{
font-size: 2em;
font-size: 1.5em;
}
.black-screen-social-window.reactable .content-social .social_wrap > div{
width: 3.3em;
line-height: unset;
}
.black-screen-social-window.reactable .content-social .social_wrap > div:hover, .black-screen-social-window.reactable .content-social .social_wrap > div.hover-class{
@ -220,7 +229,21 @@ ul.tab_nav {
padding-bottom:0;
}
.black-screen-social-window{
border-radius: 0!important;
-webkit-backdrop-filter: saturate(180%) blur(20px);
backdrop-filter: saturate(180%) blur(20px);
background-color: #ffffffa6!important;
min-width: fit-content;
border:0!important;
padding: 0;
ul{
margin-top: 60px;
width: 40px;
padding: 0;
}
li{
list-style: none;
}
}
.table-bordered{
border: 0;

View File

@ -1,6 +1,10 @@
@charset "utf-8";
@import "../initial";
.sitemenu{
z-index: 1;
position: relative;
}
.sitemenu-wrap{
// padding-right: 0.9375em!important;
// padding-left: 0.9375em!important;

View File

@ -19,22 +19,24 @@
</div>
<header class="navbar layout-header no-print" role="navigation">
<div class="outdropdowns">
<div class="outdropdowns kenjohn">
<div class="container dropdowns">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#layout-navigation">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar icon-bar-top"></span>
<span class="icon-bar icon-bar-middle"></span>
<span class="icon-bar icon-bar-bottom"></span>
</button>
<a title="{{site_title_1}}" class="navbar-brand" href="{{home_link_1}}"><img class="site-logo" src="{{logo_url_1}}" alt="site-logo"></a>
<script>$(document).ready(function(){var url =$('.site-logo').eq(0).attr('src');if(url == "/assets/default-site-logo.png"){$('.navbar-brand').eq(0).remove();};if($('.navbar-brand').length == 2){$('.site-logo').css('height','auto')};$('.site-logo').eq(0).css('margin-right',0);$('.navbar-brand').css('padding-right',0)})</script>
<a title="{{site_title}}" class="navbar-brand" href="{{home_link}}"><img class="site-logo" src="{{logo_url}}" alt="site-logo"> {{site_name}}</a>
</div>
<a title="{{site_title_1}}" class="navbar-brand" href="{{home_link_1}}"><img class="site-logo" src="{{logo_url_1}}" alt="site-logo"></a>
<script>$(document).ready(function(){var url =$('.site-logo').eq(0).attr('src');if(url == "/assets/default-site-logo.png"){$('.navbar-brand').eq(0).remove();};if($('.navbar-brand').length == 2){$('.site-logo').css('height','auto')};$('.site-logo').eq(0).css('margin-right',0);$('.navbar-brand').css('padding-right',0)})</script>
<a title="{{site_title}}" class="navbar-brand" href="{{home_link}}"><img class="site-logo" src="{{logo_url}}" alt="site-logo"> {{site_name}}</a>
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#layout-navigation">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar icon-bar-top"></span>
<span class="icon-bar icon-bar-middle"></span>
<span class="icon-bar icon-bar-bottom"></span>
</button>
</div>
<div class="header-nav">
<a id="accesskey_top" accesskey="U" title="accesskey top" href="#" title="Toolbar">:::</a>
{{header-data}}
<div class="container">
<a id="accesskey_top" accesskey="U" title="accesskey top" href="#" title="Toolbar">:::</a>
{{header-data}}
</div>
</div>
<div class="collapse navbar-collapse modules-menu" id="layout-navigation">
<a id="accesskey_menu" title="accesskey menu" accesskey="M" href="#" title="Main menu">:::</a>

View File

@ -9,7 +9,13 @@
<%= render_orbit_bar %>
<div class="background" data-pp="100"></div>
<%= render_header %>
<div class="downIcon" ><div class="scroller"></div><a href="#onesection" tabindex="0" title="移動到第一個區塊" aria-label="往下導覽">
<span class="visually-hidden">往下導覽</span></a></div>
<div class="no-print single-child-datapp homebanner text_marqueewrapper" data-pp="999"></div>
<div class="layout-slide no-print single-child-datapp homebanner" data-pp="300"></div>
<div class="layout-content2 topcontent">
<div class=" single-child-datapp onesection" id="onesection" data-pp="1999"></div>
</div>
<div class="video-banner" data-pp="301" ></div>
<div class="verticalhome">
<div class="layout-content topcontent">

View File

@ -8,6 +8,7 @@
<%= render_orbit_bar %>
<div class="background" data-pp="100"></div>
<%= render_header %>
<div class="no-print single-child-datapp homebanner text_marqueewrapper" data-pp="998"></div>
<section class="layout-slide no-print single-child-datapp homebanner" data-pp="300"></section>
<!-- <div class="contentwrap">
<div class="container ">

View File

@ -1,5 +1,7 @@
<ul class="pagination pagination-sm" data-pagination="true">
<li class="{{pagination_active}}">
<a href="{{pagination_link}}">{{page_number}}</a>
<a href="{{pagination_link}}" title="第{{page_number}}頁">
{{page_number}}
</a>
</li>
</ul>

View File

@ -27,11 +27,18 @@
</div>
<div class="w-ad-banner__caption ad-overlay w-ba-banner__caption w-ad-banner__caption w-ad-banner__overlay_{{subpart-id}}"></div>
<div class="w-ad-banner__pager-1 w-ba-banner__caption banner-pager banner_caption_{{subpart-id}}" data-list="images" data-level="0">
<li><button title="Slide {{slide_number}}"><span style="display: none;">Slide {{slide_number}}</span></button></li>
<li><button title="Slide {{slide_number}}" aria-label="Pager"><span style="display: none;">Slide {{slide_number}}</span></button></li>
</div>
<ul class="controlplay">
<a role="button" class="resume-slide" title = "<%= (I18n.locale.to_s =="zh_tw") ? "繼續播放" : "resume" %>"><i></i></a>
<a class="pause-slide" title = "<%= (I18n.locale.to_s =="zh_tw") ? "暫停播放" : "pause"%>"><i></i></a>
<ul class="controlplay" role="radiogroup" aria-label="播放控制選項">
<a role="radio" aria-checked="true" href="javascript:;" class="resume-slide active" title="繼續播放" aria-label="繼續播放" aria-live="assertive">
<i aria-hidden="true"></i>
<p style="display: none;"><%= I18n.t("ad_banner.resume") %></p>
</a>
<a role="radio" aria-checked="false" href="javascript:;" class="pause-slide" title="暫停播放" aria-label="暫停播放" aria-live="assertive">
<i aria-hidden="true"></i>
<p style="display: none;"><%= I18n.t("ad_banner.pause") %></p>
</a>
</ul>
<ul class="button-mid">
<i class="fa fa-angle-left prev-button" aria-label="<%= I18n.t("ad_banner.prev") %>"></i>

View File

@ -30,11 +30,18 @@
</div>
<div class="w-ad-banner__caption ad-overlay w-ba-banner__caption w-ad-banner__caption w-ad-banner__overlay_{{subpart-id}}"></div>
<div class="w-ad-banner__pager-1 w-ba-banner__caption banner-pager banner_caption_{{subpart-id}}" data-list="images" data-level="0">
<li><button title="Slide {{slide_number}}"><span style="display: none;">Slide {{slide_number}}</span></button></li>
<li><button title="Slide {{slide_number}}" aria-label="Pager"><span style="display: none;">Slide {{slide_number}}</span></button></li>
</div>
<ul class="controlplay">
<a role="button" class="resume-slide" title = "<%= (I18n.locale.to_s =="zh_tw") ? "繼續播放" : "resume" %>"><i></i></a>
<a class="pause-slide" title = "<%= (I18n.locale.to_s =="zh_tw") ? "暫停播放" : "pause"%>"><i></i></a>
<ul class="controlplay" role="radiogroup" aria-label="播放控制選項">
<a role="radio" aria-checked="true" href="javascript:;" class="resume-slide active" title="繼續播放" aria-label="繼續播放" aria-live="assertive">
<i aria-hidden="true"></i>
<p style="display: none;"><%= I18n.t("ad_banner.resume") %></p>
</a>
<a role="radio" aria-checked="false" href="javascript:;" class="pause-slide" title="暫停播放" aria-label="暫停播放" aria-live="assertive">
<i aria-hidden="true"></i>
<p style="display: none;"><%= I18n.t("ad_banner.pause") %></p>
</a>
</ul>
<ul class="button-mid">
<i class="fa fa-angle-left prev-button" aria-label="<%= I18n.t("ad_banner.prev") %>"></i>

View File

@ -30,7 +30,17 @@
</div>
</div>
<ul class="w-ba-banner__pager-2 banner-pager banner_caption_{{subpart-id}}"></ul>
<ul class="controlplay"><a role="button" class="resume-slide" title = "<%= (I18n.locale.to_s =="zh_tw") ? "繼續播放" : "resume" %>"><i></i></a><a class="pause-slide" title = "<%= (I18n.locale.to_s =="zh_tw") ? "暫停播放" : "pause"%>"><i></i></a></ul>
<ul class="controlplay" role="radiogroup" aria-label="播放控制選項">
<a role="radio" aria-checked="true" href="javascript:;" class="resume-slide active" title="繼續播放" aria-label="繼續播放" aria-live="assertive">
<i aria-hidden="true"></i>
<p style="display: none;"><%= I18n.t("ad_banner.resume") %></p>
</a>
<a role="radio" aria-checked="false" href="javascript:;" class="pause-slide" title="暫停播放" aria-label="暫停播放" aria-live="assertive">
<i aria-hidden="true"></i>
<p style="display: none;"><%= I18n.t("ad_banner.pause") %></p>
</a>
</ul>
<ul class="button-mid">
<i class="fa fa-angle-left prev-button" aria-hidden="true" title = "<%= (I18n.locale.to_s =="zh_tw") ? "上一張" : "prev" %>"></i>
<i class="fa fa-angle-right next-button" aria-hidden="true" title = "<%= (I18n.locale.to_s =="zh_tw") ? "下一張" : "next" %>"></i>

View File

@ -11,7 +11,7 @@
data-cycle-timeout="{{timeout}}"
data-cycle-fx="{{ad_fx}}"
data-pager=".banner_caption_{{subpart-id}}"
data-pager-template="<li><button title='pager'></button></li>"
data-pager-template="<li><button title='pager' aria-label='Pager'></button></li>"
data-pager-active-class="active-slide"
data-cycle-youtube="true"
data-cycle-youtube-autostart="false"
@ -26,9 +26,16 @@
</div>
<div class="ad-overlay w-ad-banner__overlay_{{subpart-id}}"></div>
<div class="w-ba-banner__caption w-ad-banner__pager-2 banner-pager banner_caption_{{subpart-id}}"></div>
<ul class="controlplay">
<a role="button" class="resume-slide" title = "<%= (I18n.locale.to_s =="zh_tw") ? "繼續播放" : "resume" %>"><i></i></a>
<a class="pause-slide" title = "<%= (I18n.locale.to_s =="zh_tw") ? "暫停播放" : "pause"%>"><i></i></a>
<ul class="controlplay" role="radiogroup" aria-label="播放控制選項">
<a role="radio" aria-checked="true" href="javascript:;" class="resume-slide active" title="繼續播放" aria-label="繼續播放" aria-live="assertive">
<i aria-hidden="true"></i>
<p style="display: none;"><%= I18n.t("ad_banner.resume") %></p>
</a>
<a role="radio" aria-checked="false" href="javascript:;" class="pause-slide" title="暫停播放" aria-label="暫停播放" aria-live="assertive">
<i aria-hidden="true"></i>
<p style="display: none;"><%= I18n.t("ad_banner.pause") %></p>
</a>
</ul>
<ul class="button-mid">
<i class="fa fa-angle-left prev-button" aria-label="<%= I18n.t("ad_banner.prev") %>"></i>
@ -110,9 +117,19 @@
}
});
button_container.find('.jarallax-video-audio').remove();
button_container.append(audio_div);
var caption = button_container.find('.w-ba-banner__caption');
var banner_overlay = button_container.find('.banner-overlay');
if (banner_overlay.length) {
audio_div.insertBefore(banner_overlay);
} else {
button_container.append(audio_div);
}
if(control_play_btn != null){
audio_div.after(control_play_btn);
if (banner_overlay.length) {
control_play_btn.insertBefore(banner_overlay);
} else {
button_container.append(control_play_btn);
}
control_play_btn.click(function(){
var cycle_slideshow = button_container.find('.cycle-slideshow');
var opts = cycle_slideshow.data('cycle.opts');
@ -387,10 +404,9 @@
controlplay.find(".pause-slide").removeClass("active");
}
}
})
/*
var height = opts.slides.filter('.active').height() || opts.slides.height();
banner_wrap.height(height)*/
});
banner_wrap.css("padding-bottom","");
{{extra_document_ready_script}}
$('[data-subpart-id="{{subpart-id}}"] .pause-slide').click(function(){
@ -409,7 +425,8 @@
$('[data-subpart-id="{{subpart-id}}"] .prev-button').click(function(){
$(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").cycle("prev");
})
})
});
</script>
<style type="text/css">
.jarallax-video-audio, .jarallax-video-control-play{

View File

@ -27,17 +27,34 @@
</div>
</div>
<ul class="w-ba-banner__pager-3 banner-pager banner_caption_{{subpart-id}}"></ul>
<ul class="controlplay">
<a role="button" class="resume-slide" title = "<%= (I18n.locale.to_s =="zh_tw") ? "繼續播放" : "resume" %>"><i></i></a>
<a class="pause-slide" title = "<%= (I18n.locale.to_s =="zh_tw") ? "暫停播放" : "pause"%>"><i></i></a>
<ul class="controlplay" role="radiogroup" aria-label="播放控制選項">
<a role="radio" aria-checked="true" href="javascript:;" class="resume-slide active" title="繼續播放" aria-label="繼續播放" aria-live="assertive">
<i aria-hidden="true"></i>
<p style="display: none;"><%= I18n.t("ad_banner.resume") %></p>
</a>
<a role="radio" aria-checked="false" href="javascript:;" class="pause-slide" title="暫停播放" aria-label="暫停播放" aria-live="assertive">
<i aria-hidden="true"></i>
<p style="display: none;"><%= I18n.t("ad_banner.pause") %></p>
</a>
</ul>
<ul class="button-mid">
<button class="prev-button" title = "<%= (I18n.locale.to_s =="zh_tw") ? "上一張" : "prev" %>"></button>
<button class="next-button" title = "<%= (I18n.locale.to_s =="zh_tw") ? "下一張" : "next" %>"></button>
<button class="prev-button" title = "<%= (I18n.locale.to_s =="zh_tw") ? "上一張" : "prev" %>" aria-label="Pager"></button>
<button class="next-button" title = "<%= (I18n.locale.to_s =="zh_tw") ? "下一張" : "next" %>" aria-label="Pager"></button>
</ul>
</div>
<script>
var flag = 1;
$('[data-subpart-id="{{subpart-id}}"] .pause-slide').click(function(){
$(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").cycle('pause');
$(this).addClass('active')
$(this).parents('.controlplay').eq(0).find('.resume-slide').removeClass('active')
});
$('[data-subpart-id="{{subpart-id}}"] .resume-slide').click(function(){
$(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").cycle('resume');
$(this).addClass('active')
$(this).parents('.controlplay').eq(0).find('.pause-slide').removeClass('active')
});
$('.pause-slide').click(function(){
$(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").cycle('pause');
});

View File

@ -34,9 +34,16 @@
</div>
</div>
<div class="w-ba-banner__caption banner-pager banner_caption_{{subpart-id}}"></div>
<ul class="controlplay">
<a role="button" class="resume-slide" title = "<%= (I18n.locale.to_s =="zh_tw") ? "繼續播放" : "resume" %>"><i></i></a>
<a class="pause-slide" title = "<%= (I18n.locale.to_s =="zh_tw") ? "暫停播放" : "pause"%>"><i></i></a>
<ul class="controlplay" role="radiogroup" aria-label="播放控制選項">
<a role="radio" aria-checked="true" href="javascript:;" class="resume-slide active" title="繼續播放" aria-label="繼續播放" aria-live="assertive">
<i aria-hidden="true"></i>
<p style="display: none;"><%= I18n.t("ad_banner.resume") %></p>
</a>
<a role="radio" aria-checked="false" href="javascript:;" class="pause-slide" title="暫停播放" aria-label="暫停播放" aria-live="assertive">
<i aria-hidden="true"></i>
<p style="display: none;"><%= I18n.t("ad_banner.pause") %></p>
</a>
</ul>
<ul class="button-mid">
<i class="fa fa-angle-left prev-button" aria-hidden="true" title = "<%= (I18n.locale.to_s =="zh_tw") ? "上一張" : "prev" %>"></i>

View File

@ -30,11 +30,18 @@
</div>
<div class="ad-overlay w-ba-banner__caption w-ad-banner__caption w-ad-banner__overlay_{{subpart-id}}"></div>
<div class="w-ba-banner__caption banner-pager banner_caption_{{subpart-id}}" data-list="images" data-level="0">
<li><button title="Slide {{slide_number}}"><span style="display: none;">Slide {{slide_number}}</span></button></li>
<li><button title="Slide {{slide_number}}" aria-label="Pager"><span style="display: none;">Slide {{slide_number}}</span></button></li>
</div>
<ul class="controlplay">
<a role="button" class="resume-slide" title = "<%= (I18n.locale.to_s =="zh_tw") ? "繼續播放" : "resume" %>"><i></i></a>
<a class="pause-slide" title = "<%= (I18n.locale.to_s =="zh_tw") ? "暫停播放" : "pause"%>"><i></i></a>
<ul class="controlplay" role="radiogroup" aria-label="播放控制選項">
<a role="radio" aria-checked="true" href="javascript:;" class="resume-slide active" title="繼續播放" aria-label="繼續播放" aria-live="assertive">
<i aria-hidden="true"></i>
<p style="display: none;"><%= I18n.t("ad_banner.resume") %></p>
</a>
<a role="radio" aria-checked="false" href="javascript:;" class="pause-slide" title="暫停播放" aria-label="暫停播放" aria-live="assertive">
<i aria-hidden="true"></i>
<p style="display: none;"><%= I18n.t("ad_banner.pause") %></p>
</a>
</ul>
<ul class="button-mid">
<i class="fa fa-angle-left prev-button" aria-hidden="true" title = "<%= (I18n.locale.to_s =="zh_tw") ? "上一張" : "prev" %>"></i>

View File

@ -30,11 +30,15 @@
</div>
<div class="w-ad-banner__caption ad-overlay w-ba-banner__caption w-ad-banner__caption w-ad-banner__overlay_{{subpart-id}}"></div>
<div class="w-ad-banner__pager-1 w-ba-banner__caption banner-pager banner_caption_{{subpart-id}}" data-list="images" data-level="0">
<li><button title="Slide {{slide_number}}"><span style="display: none;">Slide {{slide_number}}</span></button></li>
<li><button title="Slide {{slide_number}}" aria-label="Pager"><span style="display: none;">Slide {{slide_number}}</span></button></li>
</div>
<ul class="controlplay">
<a role="button" class="resume-slide" title = "<%= (I18n.locale.to_s =="zh_tw") ? "繼續播放" : "resume" %>"><i></i></a>
<a class="pause-slide" title = "<%= (I18n.locale.to_s =="zh_tw") ? "暫停播放" : "pause"%>"><i></i></a>
<a href="javascript:;" class="resume-slide active" title="<%= I18n.t("ad_banner.resume") %>" aria-label="<%= I18n.t("ad_banner.resume") %>">
<i aria-hidden="true" aria-label="<%= I18n.t("ad_banner.resume") %>"></i>
<p style="display: none;"><%= I18n.t("ad_banner.resume") %></p></a>
<a href="javascript:;" class="pause-slide" title="<%= I18n.t("ad_banner.pause") %>" aria-label="<%= I18n.t("ad_banner.pause") %>">
<i aria-hidden="true" aria-label="<%= I18n.t("ad_banner.pause") %>"></i>
<p style="display: none;"><%= I18n.t("ad_banner.pause") %></p></a>
</ul>
<ul class="button-mid">
<i class="fa fa-angle-left prev-button" aria-label="<%= I18n.t("ad_banner.prev") %>"></i>

View File

@ -14,7 +14,7 @@
data-cycle-carousel-visible="3"
data-cycle-carousel-fluid="true"
data-pager=".banner_caption_{{subpart-id}}"
data-pager-template="<li><button title='pager'></button></li>"
data-pager-template="<li><button title='pager' aria-label='Pager'></button></li>"
data-pager-active-class="active-slide"
data-cycle-youtube="true"
data-cycle-youtube-autostart="false"

View File

@ -0,0 +1,461 @@
<div class="w-ad-banner ad-banner-widget-2 w-ba-banner ba-banner-widget-9 ba-banner-widget-youtube">
<div class="w-ad-banner__wrap w-ba-banner__wrap cycle-slideshow"
data-list="images"
data-level="0"
data-cycle-slides=".w-ba-banner__slide"
data-cycle-log="false"
data-overlay=".w-ad-banner__overlay_{{subpart-id}}"
data-overlay-template="<h2><span>{{title}}</span></h2>{{desc}}"
data-cycle-auto-height="{{base_image}}"
data-cycle-speed="{{speed}}"
data-cycle-timeout="{{timeout}}"
data-cycle-fx="{{ad_fx}}"
data-pager=".banner_caption_{{subpart-id}}"
data-pager-template="<li><button title='pager'></button></li>"
data-pager-active-class="active-slide"
data-cycle-youtube="true"
data-cycle-youtube-autostart="false"
data-cycle-swipe="true"
data-cycle-prev=".banner_prev"
data-cycle-next=".banner_next"
data-cycle-pause-on-hover="true"
style="padding-bottom: 56.25%;"
>
{{html}}
</div>
<div class="ad-overlay banner-overlay"><div class="ad-overlay2 w-ad-banner__overlay_{{subpart-id}}"></div></div>
<div class="w-ba-banner__caption w-ad-banner__pager-2 banner-pager banner_caption_{{subpart-id}}"></div>
<ul class="controlplay"><a role="button" href="javascript:;" class="resume-slide active" title="<%= I18n.t("ad_banner.resume") %>"><i aria-hidden="true" aria-label="<%= I18n.t("ad_banner.resume") %>"></i><p style="display: none;"><%= I18n.t("ad_banner.resume") %></p></a><a href="javascript:;" class="pause-slide" title="<%= I18n.t("ad_banner.pause") %>"><i aria-hidden="true" aria-label="<%= I18n.t("ad_banner.pause") %>"></i><p style="display: none;"><%= I18n.t("ad_banner.pause") %></p></a></ul>
<ul class="button-mid">
<i class="fa fa-angle-left prev-button" aria-label="<%= I18n.t("ad_banner.prev") %>"></i>
<i class="fa fa-angle-right next-button" aria-label="<%= I18n.t("ad_banner.next") %>"></i>
</ul>
</div>
<script type="text/javascript">
var ad_trigger_time;
if (typeof ad_banners_count === 'undefined'){
var ad_banners_count = 0;
}
var control_play_btn_pause = function(){
this.attr('aria-label', '<%= I18n.t("ad_banner.resume") %>');
this.attr('title', '<%= I18n.t("ad_banner.resume") %>');
this.find('p').text('<%= I18n.t("ad_banner.resume") %>');
this.find('i.fa-pause').removeClass('fa-pause').addClass('fa-play');
}
var control_play_btn_play = function(){
this.attr('aria-label', '<%= I18n.t("ad_banner.pause") %>');
this.attr('title', '<%= I18n.t("ad_banner.pause") %>');
this.find('p').text('<%= I18n.t("ad_banner.pause") %>');
this.find('i.fa-play').removeClass('fa-play').addClass('fa-pause');
}
function ad_audio_button(ele,is_stop){
var $self = $(ele);
var button_container = $self.parents('.ba-banner-widget-youtube').eq(0);
var append_class = "";
if (is_stop){
button_container.find('.jarallax-video-audio').remove();
var control_play_btn = $('.jarallax-video-control-play');
if(control_play_btn.length){
control_play_btn_pause.call(control_play_btn);
}
}else{
var control_play_btn = null;
if(window.accessibility_mode){
append_class = " accessibility_mode_btn";
var control_play_btn = $('.jarallax-video-control-play');
if(control_play_btn.length){
control_play_btn_play.call(control_play_btn);
control_play_btn = null;
}else{
control_play_btn = $('<button title="<%= I18n.t("ad_banner.pause") %>" class="jarallax-video-control-play"><i class="fas fa-pause" aria-label="<%= I18n.t("ad_banner.pause") %>" aria-hidden="true"></i><p style=\"display: none;\"><%= I18n.t("ad_banner.pause") %></p></button>');
}
}
var audio_div;
if ($self.hasClass('have-audio')){
audio_div = $('<button title="<%= I18n.t("ad_banner.muted") %>" class="jarallax-video-audio'+append_class+'"><i class="fas fa-volume-up" aria-label="<%= I18n.t("ad_banner.muted") %>" aria-hidden="true"></i><p style=\"display: none;\"><%= I18n.t("ad_banner.muted") %></p></button>');
}else{
audio_div = $('<button title="<%= I18n.t("ad_banner.unmuted") %>" class="jarallax-video-audio'+append_class+'"><i class="fas fa-volume-mute" aria-label="<%= I18n.t("ad_banner.unmuted") %>" aria-hidden="true"></i><p style=\"display: none;\"><%= I18n.t("ad_banner.unmuted") %></p></button>');
}
audio_div.find('p').css('display','none'); //fix CSP
audio_div.click(function(event) {
var currentTime = new Date();
if (ad_trigger_time&&currentTime-ad_trigger_time<500){
return false;
}else{
ad_trigger_time = currentTime;
}
event.stopPropagation();
var $video = $self.find('video');
if ($self.hasClass('have-audio')){
$self.removeClass('have-audio');
$(this).attr('title','<%= I18n.t("ad_banner.unmuted") %>').find('i.fas').attr('class','fas fa-volume-mute').attr('aria-label','<%= I18n.t("ad_banner.unmuted") %>');
}else{
$self.addClass('have-audio');
$(this).attr('title','<%= I18n.t("ad_banner.muted") %>').find('i.fas').attr('class','fas fa-volume-up').attr('aria-label','<%= I18n.t("ad_banner.muted") %>');
}
if ($video.length>0){
$self.jPlayer("mute", !$self.data().jPlayer.options.muted);
}else{//youtube
var player = $self.find('iframe').data("yt_player");
if (player.isMuted()){
player.unMute();
}else{
player.mute();
}
}
});
button_container.find('.jarallax-video-audio').remove();
button_container.append(audio_div);
if(control_play_btn != null){
audio_div.after(control_play_btn);
control_play_btn.click(function(){
var cycle_slideshow = button_container.find('.cycle-slideshow');
var opts = cycle_slideshow.data('cycle.opts');
var active_slide = opts.slides.filter('.'+opts.slideActiveClass);
if(active_slide.length){
var yt_iframe = active_slide.find('iframe');
if(yt_iframe.length == 0){
var jplayer = active_slide.find('.jp-jplayer').data('jPlayer');
if(jplayer){
if(jplayer.htmlElement.video.paused){
jplayer.play();
}else{
jplayer.pause();
}
}
}else{
if(window.yt_players){
var subpart_id = button_container.attr('data-subpart-id');
var subpart_yt_players = window.yt_players[subpart_id];
if(subpart_yt_players){
var yt_player = subpart_yt_players[yt_iframe.attr('id')];
var play_state = yt_player.getPlayerState();
if(play_state == YT.PlayerState.PLAYING || play_state == YT.PlayerState.BUFFERING){
yt_player.pauseVideo();
}else if(play_state == YT.PlayerState.UNSTARTED || play_state == YT.PlayerState.PAUSED || play_state == YT.PlayerState.ENDED || play_state == YT.PlayerState.CUED){
yt_player.playVideo();
play_state = yt_player.getPlayerState();
if(play_state == YT.PlayerState.UNSTARTED || play_state == YT.PlayerState.PAUSED || play_state == YT.PlayerState.ENDED || play_state == YT.PlayerState.CUED){
yt_player.mute().playVideo();
}
}
}
}
}
}
})
}
}
}
if(document.getElementById("youtube-iframe-api") == null){
var tag = document.createElement('script');
tag.setAttribute("id", "youtube-iframe-api");
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
}
if(window.init_yt_banner == undefined){
function init_yt_banner(banner__slide){
var $banner__slide = $(banner__slide);
if( $banner__slide.data("yt-binded")== "0" ){
$banner__slide.data("yt-binded","1");
var obj = $banner__slide.find("iframe");
obj.attr("id", $banner__slide.data("youtube-id") + "_" + ad_banners_count);
ad_banners_count++;
}
}
}
$("*[data-yt-binded=0]").each(function(){
init_yt_banner(this);
})
if (typeof onYouTubeIframeAPIReady !== 'function'){
$(document).ready(function() {
$(document).on('touchstart click mousedown',".jarallax-video-audio",function(){
$(this).trigger('click');
});
});
if(window.yt_players == undefined)
window.yt_players = {};
function find_out_yt_event_list_key(yt_player){
var defalt_key = 'o';
var all_keys = Object.keys(yt_player).filter(function(s){return s.length == 1});
var prop_nums_thresh = 6;
if(all_keys.indexOf(defalt_key) != -1){
if((yt_player[defalt_key] instanceof Object) && Object.keys(yt_player[defalt_key]).length > prop_nums_thresh){
return defalt_key;
}
}
var event_key;
all_keys.forEach(function(k){
if((yt_player[k] instanceof Object) && Object.keys(yt_player[k]).length > prop_nums_thresh){
event_key = k;
return false;
}
})
return event_key;
}
function find_out_yt_event_list_count_key(yt_player, event_list_key){
var defalt_key = 'v';
var all_keys = Object.keys(yt_player).filter(function(s){return s.length == 1});
var equal_count = yt_player[event_list_key].length;
if(all_keys.indexOf(defalt_key) != -1){
if(yt_player[defalt_key] == equal_count){
return defalt_key;
}
}
var count_key;
all_keys.forEach(function(k){
if(yt_player[k] == equal_count){
count_key = k;
return false;
}
})
return count_key;
}
function find_out_yt_event_list_array_key(event_dict){
var defalt_key = 'i';
var all_keys = Object.keys(event_dict);
if(all_keys.indexOf(defalt_key) != -1){
var tmp = event_dict[defalt_key];
if(Array.isArray(tmp) && tmp.indexOf('onStateChange') != -1){
return defalt_key;
}
}
var array_key;
all_keys.forEach(function(k){
var tmp = event_dict[k];
if(Array.isArray(tmp) && tmp.indexOf('onStateChange') != -1){
array_key = k;
return false;
}
})
return array_key;
}
function find_out_yt_event_relation_key(event_dict, is_obj){ // is_obj = true => store event idx array. false => store whether event init(true or false)
var defalt_key = 'j';
var all_keys = Object.keys(event_dict);
if(all_keys.indexOf(defalt_key) != -1){
var tmp = event_dict[defalt_key];
if((tmp instanceof Object) && tmp['onStateChange']){
if(!is_obj || (tmp['onStateChange'] instanceof Object)){
return defalt_key;
}
}
}
var relation_key;
all_keys.forEach(function(k){
var tmp = event_dict[k];
if((tmp instanceof Object) && tmp['onStateChange']){
if(!is_obj || (tmp['onStateChange'] instanceof Object)){
relation_key = k;
return false;
}
}
})
return relation_key;
}
function onYouTubeIframeAPIReady(){
$(".w-ba-banner").on('cycle-post-initialize', function(){
init_banner(this);
});
function init_banner(banner){
var $banner = $(banner);
$banner.find('.w-ad-banner__slide').each(function(j, banner__slide){
init_yt_banner(banner__slide);
})
var iframes = $banner.find("iframe");
if(iframes.length > 0){
var id = $banner.attr("data-subpart-id");
if(yt_players[id] == undefined)
yt_players[id] = {};
var remove_ids = [];
Object.keys(yt_players[id]).forEach(function(k){
var yt_player = yt_players[id][k];
if($(yt_player.getIframe()).length == 0){
yt_player.destroy();
remove_ids.push(k);
}
})
remove_ids.forEach(function(k){
delete yt_players[id][k];
})
iframes.each(function(i,iframe){
var $iframe = $(iframe);
var yt_id = $iframe.attr("id");
var yt_player = yt_players[id][yt_id];
if(yt_player){
}else{
yt_player = new YT.Player(yt_id, {
events: {
'onReady': function(event){
var yt_player = event.target;
var height = $(yt_player.getIframe()).height();
var banner_wrap = $iframe.parents('.w-ba-banner__wrap').eq(0);
var carousel_wrap = banner_wrap.find(".cycle-carousel-wrap");
if(carousel_wrap.length){
carousel_wrap.css("top","3em");
height += parseInt(carousel_wrap.css('font-size')) * 3;
}
var overlay_in_slide = $iframe.parent().siblings('.ad-overlay,.banner-overlay');
if(overlay_in_slide.length != 0){
height += overlay_in_slide.outerHeight(true);
}
banner_wrap.height(height).css({"padding-bottom":"","padding-top":""});
var init_key = find_out_yt_event_relation_key(yt_player, false);
if(init_key){
delete yt_player[init_key].onStateChange;
}
else{
console.log("{onReady: true, onStateChange: true} missing!");
}
var event_list_key = find_out_yt_event_list_key(yt_player);
if(event_list_key){
var event_dict = yt_player[event_list_key];
var array_key = find_out_yt_event_list_array_key(event_dict);
var count_key = find_out_yt_event_list_count_key(event_dict, array_key);
var relation_key = find_out_yt_event_relation_key(event_dict, true);
var onStateChange_idx = event_dict[relation_key].onStateChange;
onStateChange_idx.reverse();
var event_size = 3;
onStateChange_idx.forEach(function(start_idx){
event_dict[array_key].splice(start_idx,event_size);
});
event_dict[relation_key].onStateChange = [];
event_dict[count_key] = event_dict[array_key].length;
yt_player.addEventListener('onStateChange',onPlayerStateChange);
banner_wrap.trigger('resize');
}else{
console.log("YT player changes its variables!")
}
{{extra_ready_script}}
},
'onStateChange': onPlayerStateChange
}
});
yt_players[id][yt_id] = yt_player;
$iframe.data("yt_player",yt_player);
}
})
}
}
$(".w-ba-banner").each(function(i,banner){
init_banner(banner);
})
}
function onPlayerStateChange(event){
var iframe = $(event.target.getIframe()),
cyclediv = iframe.parents("div.cycle-slideshow");
var widget = cyclediv.parents('.ba-banner-widget-youtube');
if(event.data == YT.PlayerState.PLAYING || event.data == YT.PlayerState.BUFFERING){
cyclediv[0].need_resume = !(cyclediv.hasClass("cycle-paused"));
cyclediv.cycle("pause");
widget.find('.banner-pager,.controlplay,.button-mid,.ad-overlay,.banner-overlay').css('visibility','hidden')
ad_audio_button(iframe.parents(".w-ad-banner__slide").eq(0),false);
}else if(event.data == YT.PlayerState.UNSTARTED || event.data == YT.PlayerState.PAUSED || event.data == YT.PlayerState.ENDED){
if(cyclediv[0].need_resume)
cyclediv.cycle("resume");
widget.find('.banner-pager,.controlplay,.button-mid,.ad-overlay,.banner-overlay').css('visibility','')
ad_audio_button(iframe.parents(".w-ad-banner__slide").eq(0),true);
}
{{extra_state_chnage_script}}
}
}
$(document).ready(function(){
window.onYouTubePlayerAPIReady = function() {
onYouTubeIframeAPIReady.apply(this,arguments);
};
var banner_wrap = $(".w-ba-banner__wrap[data-overlay=\".w-ad-banner__overlay_{{subpart-id}}\"]");
var opts = banner_wrap.data('cycle.opts');
banner_wrap.on('cycle-paused',function(opts){
var controlplay = $(this).nextAll(".controlplay");
if(controlplay.length != 0){
controlplay.find(".resume-slide").removeClass("active");
controlplay.find(".pause-slide").addClass("active");
}
})
banner_wrap.on('cycle-resumed',function(opts){
if(!($(this).data('paused'))){
var controlplay = $(this).nextAll(".controlplay");
if(controlplay.length != 0){
controlplay.find(".resume-slide").addClass("active");
controlplay.find(".pause-slide").removeClass("active");
}
}
})
/*
var height = opts.slides.filter('.active').height() || opts.slides.height();
banner_wrap.height(height)*/
banner_wrap.css("padding-bottom","");
{{extra_document_ready_script}}
$('[data-subpart-id="{{subpart-id}}"] .pause-slide').click(function(){
$(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").data('paused', true).cycle('pause');
$(this).addClass('active');
$(this).parents('.controlplay').eq(0).find('.resume-slide').removeClass('active');
});
$('[data-subpart-id="{{subpart-id}}"] .resume-slide').click(function(){
$(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").data('paused', false).cycle('resume');
$(this).addClass('active');
$(this).parents('.controlplay').eq(0).find('.pause-slide').removeClass('active');
});
$('[data-subpart-id="{{subpart-id}}"] .next-button').click(function(){
$(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").cycle("next");
})
$('[data-subpart-id="{{subpart-id}}"] .prev-button').click(function(){
$(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").cycle("prev");
})
})
</script>
<style type="text/css">
.jarallax-video-audio, .jarallax-video-control-play{
z-index: 201;
font-size: 2em;
color: #FFF;
text-align: center;
position: absolute;
top: 2%;
right: 2%;
height: 66px;
width: 66px;
border-radius: 50%;
line-height: 1.8;
cursor: pointer;
border: 2px solid rgba(255,255,255,.6);
background-color: rgba(0,0,0,.6);
transition: all 1.2s ease;
}
.jarallax-video-control-play{
margin-top: 66px;
}
@media (max-width: 768px){
.jarallax-video-audio, .jarallax-video-control-play{
top: 50%;
}
.jarallax-video-audio.accessibility_mode_btn{
margin-top: -33px;
}
.jarallax-video-control-play{
margin-top: 33px;
}
}
.jarallax-video-audio:hover,.jarallax-video-audio:focus,.jarallax-video-control-play:hover,.jarallax-video-control-play:focus {
color: #FFC500;
transition: all 0.6s ease;
}
.w-ba-banner .controlplay .resume-slide.active i{
color: #32D9C3;
}
.w-ba-banner .controlplay .pause-slide.active i{
color: #ff4500;
}
.w-ba-banner .controlplay{
width: auto;
}
.next-button,.prev-button{
cursor: pointer;
}
</style>

View File

@ -71,6 +71,14 @@
"en" : "8. 3 Pro Carousel ( image, Youtube video, navigation )"
},
"thumbnail" : "thumb.png"
}
},
{
"filename" : "ad_banner_widget9_video",
"name" : {
"zh_tw" : "9. 視差專業版橫幅輪播 ( 圖片, Youtube影片, 導航圖示 )",
"en" : "9. style2-Pro Carousel ( image, Youtube video, navigation )"
},
"thumbnail" : "ad_banner4_thumb.png"
}
]
}

View File

@ -0,0 +1,57 @@
<div class="w-annc widget-announcement-4 widget-announcement-25">
<div class="w-annc__more-wrap clearfix">
<h3 class="w-annc__widget-title">
<span>{{widget-title}}</span>
</h3>
<a class="w-annc__more btn btn-primary pull-right" href="{{more_url}}"><%= (I18n.locale.to_s =="zh_tw") ? "更多最新消息" : "More NEWS" %></a>
</div>
<div class="prevnext" style="position: absolute;top: 62%;width:100%; z-index: 101;">
<div style="">
<button id="prev-{{subpart-id}}" class="btn-left" title = "<%= (I18n.locale.to_s =="zh_tw") ? "上一張" : "prev" %>" style="float: left;height: 2.5em; width: 2.5em;background: border: 0;background-size: contain;position: absolute;transition:.3s; left: 0.6%; color: #a8a6a6;
background: #fff;
border-radius: 50%;
border: 1px solid #a8a6a6;
z-index: 2;"><i class="fa fa-angle-left prev-button" aria-hidden="true" style=""></i><span style="display: none;"><%= (I18n.locale.to_s =="zh_tw") ? "上一張" : "prev" %></span></button>
<button id="next-{{subpart-id}}" class="btn-right" title = "<%= (I18n.locale.to_s =="zh_tw") ? "下一張" : "next" %>" style="float: right;;height: 2.5em; width: 2.5em;background-size: contain;border: 0;position: absolute;transition:.3s;right: 0.6%; color: #a8a6a6;
background: #fff;
border-radius: 50%;
border: 1px solid #a8a6a6;
z-index: 2;"><i class="fa fa-angle-right next-button" aria-hidden="true" style=""></i><span style="display: none;"><%= (I18n.locale.to_s =="zh_tw") ? "下一張" : "next" %></span></button>
</div>
</div>
<ul class="w-annc__list row cycle-slideshow" data-level="0" data-list="announcements" data-cycle-fx="carousel"
data-cycle-timeout="0"
data-cycle-carousel-visible="3"
data-cycle-carousel-fluid="true"
data-cycle-next="#next-{{subpart-id}}"
data-cycle-prev="#prev-{{subpart-id}}"
data-cycle-slides=".w-annc__item" >
<li class="w-annc__item">
<div class="w-annc__img-wrap bullseye" >
<a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}">
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
<div class="transitionfade"></div>
</a>
</div>
<div class="w-annc__content-wrap card">
<div class="w-annc__meta">
<span class="w-annc__status-wrap" data-list="statuses" data-level="1">
<span class="w-annc__status label {{status-class}}">{{status}}</span>
</span>
<span class="w-annc__postdate-wrap" date-format="%Y-%m-%d">
<i class="fa-regular fa-calendar"></i>
<span class="w-annc__postdate">{{postdate}}</span>
</span>
<span class="w-annc__category-wrap">
<i class="fa-solid fa-list"></i>
<span class="w-annc__category">{{category}}</span>
</span>
</div>
<h4 class="w-annc__entry-title">
<a class="w-annc__title" href="{{link_to_show}}">{{title}}</a>
</h4>
<p class="w-annc__subtitle">{{subtitle}}</p>
</div>
</li>
</ul>
</div>

View File

@ -2,10 +2,9 @@
<h3 class="i-annc__page-title">{{page-title}}</h3>
<ul class="i-annc__list row" data-level="0" data-list="announcements">
<li class="i-annc__item col-md-3 col-sm-3">
<a href="{{link_to_show}}" alt="{{img_description}}" title="{{img_description}}">
<div class="i-annc__img-wrap bullseye">
<a href="{{link_to_show}}" alt="{{img_description}}" title="{{img_description}}">
<img class="i-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
</a>
<img class="i-annc__img" src="{{img_src}}" alt="" title="{{img_description}}">
</div>
<div class="i-annc__content-wrap">
<div class="i-annc__meta">
@ -22,10 +21,11 @@
</span>
</div>
<h4 class="i-annc__entry-title">
<a class="i-annc__title" href="{{link_to_show}}">{{title}}</a>
<span class="i-annc__title">{{title}}</span>
</h4>
<p class="i-annc__subtitle">{{subtitle}}</p>
</div>
</a>
</li>
</ul>
</div>

View File

@ -2,10 +2,11 @@
<h3 class="i-annc__page-title">{{page-title}}</h3>
<ul class="i-annc__list" data-level="0" data-list="announcements">
<li class="i-annc__item row">
<a href="{{link_to_show}}" alt="{{img_description}}" title="{{img_description}}">
<div class="i-annc__img-wrap col-sm-4">
<a href="{{link_to_show}}" alt="{{img_description}}" title="{{img_description}}">
<img class="i-annc__img" src="{{img_src}}" alt="{{img_description}}">
</a>
<img class="i-annc__img" src="{{img_src}}" alt="" title="{{img_description}}">
</div>
<div class="i-annc__content-wrap col-sm-8">
<div class="i-annc__meta">
@ -22,10 +23,11 @@
</span>
</div>
<h4 class="i-annc__entry-title">
<a class="i-annc__title" href="{{link_to_show}}">{{title}}</a>
<span class="i-annc__title">{{title}}</span>
</h4>
<p class="i-annc__subtitle">{{subtitle}}</p>
</div>
</a>
</li>
</ul>
</div>

View File

@ -2,6 +2,7 @@
<h3 class="i-annc__page-title">{{page-title}}</h3>
<ul class="i-annc__list" data-level="0" data-list="announcements">
<li class="i-annc__item row">
<a href="{{link_to_show}}" alt="{{img_description}}" title="{{img_description}}">
<div class="i-annc__content-wrap col-sm-8">
<div class="i-annc__meta">
<span class="i-annc__status-wrap" data-list="statuses" data-level="1">
@ -17,15 +18,14 @@
</span>
</div>
<h4 class="i-annc__entry-title">
<a class="i-annc__title" href="{{link_to_show}}">{{title}}</a>
<span class="i-annc__title">{{title}}</span>
</h4>
<p class="i-annc__subtitle">{{subtitle}}</p>
</div>
<div class="i-annc__img-wrap col-sm-4">
<a href="{{link_to_show}}">
<img class="i-annc__img" src="{{img_src}}" alt="{{img_description}}">
</a>
<img class="i-annc__img" src="{{img_src}}" alt="" title="{{img_description}}">
</div>
</a>
</li>
</ul>
</div>

View File

@ -2,10 +2,9 @@
<h3 class="i-annc__page-title">{{page-title}}</h3>
<ul class="i-annc__list row" data-level="0" data-list="announcements">
<li class="i-annc__item col-md-4 col-sm-4">
<a href="{{link_to_show}}" alt="{{img_description}}" title="{{img_description}}">
<div class="i-annc__img-wrap bullseye">
<a href="{{link_to_show}}" alt="{{img_description}}" title="{{img_description}}">
<img class="i-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
</a>
<img class="i-annc__img" src="{{img_src}}" alt="" title="{{img_description}}">
</div>
<div class="i-annc__content-wrap">
<div class="i-annc__meta">
@ -22,10 +21,11 @@
</span>
</div>
<h4 class="i-annc__entry-title">
<a class="i-annc__title" href="{{link_to_show}}">{{title}}</a>
<span class="i-annc__title">{{title}}</span>
</h4>
<p class="i-annc__subtitle">{{subtitle}}</p>
</div>
</a>
</li>
</ul>
</div>

View File

@ -242,6 +242,14 @@
},
"thumbnail": "annc_widget22_thumbs.png"
},
{
"filename": "annc_widget25",
"name": {
"zh_tw": "25. 2/3輪波三欄圖文型態2-slide ( 模組標題, 圖片, 狀態, 日期, 類別, 標題, 副標題 )",
"en": "25. 2/3carousel3.2-3-Column Standard Image + Text -slide(widget-title, image, status, postdate, category, title, subtitle)"
},
"thumbnail": "annc_widget21_thumbs.png"
},
{
"filename": "annc_widget5",

View File

@ -1,5 +1,6 @@
<div class="widget-ask widget1">
<style type="text/css">
#new-ask-question .form-horizontal .control-group > *{
font-size: 1.125em;
}

View File

@ -32,7 +32,7 @@
<div id="calendar"></div>
<div id="calendar_agenda"></div>
</div>
<div class="createbooking"><a class="btn-primary">建立預約</a></div>
<div class="createbooking"><a class="btn btn-primary">建立預約</a></div>
</div>
<div id="event_quick_view" class="modal" style="width: 300px; display:none; margin:0 0 0 0;"></div>
<div id="calendar-loading"></div>

View File

@ -31,7 +31,7 @@
<div class="left-fullslider col-lg-7 col-xs-12">
<a href="{{link_to_show}}">
<img src="{{img_url_thumb}}" alt="{{title}}">
</a>
</a>
</div>
<div class="right-fullslider col-lg-5 col-xs-12">
<div class="right-box">

View File

@ -0,0 +1,95 @@
<div class="i-annc index-eventnews-21 event-widget-announcement-7">
<h3 class="i-annc__page-title">{{page-title}}</h3>
<ul class="i-annc__list row" data-level="0" data-list="event_news">
<li class="i-annc__item col-md-4">
<a href="{{link_to_show}}">
<div class="i-annc__img-wrap bullseye" style="position:relative">
<img class="i-annc__img" src="{{img_src}}" alt="" title="{{img_description}}">
</div>
<div class="i-annc__content-wrap card">
<div class="cardinner">
<h4 class="i-annc__entry-title">
<span class="i-annc__title">{{title}}</span>
</h4>
<div class="">
<p class="i-annc__subtitle">{{host}}</p>
<span class="speakercss">
<span>{{speaker-head}}</span>
<span>{{speaker}}</span>
</span>
<div class="i-annc__meta">
<span class="i-annc__postdate-wrap" date-format="%Y-%m-%d">
<span class="i-annc__postdate">{{postdate}}</span>
</span>
</div>
</div>
</div>
</div>
</a>
</li>
</ul>
</div>
{{pagination_goes_here}}
<script>
var lilength = $('.i-annc.index-eventnews-21 li.i-annc__item').length;
function combineul(){
for(var i=1;i<$('.i-annc.index-eventnews-21 ul.i-annc__list').length;i++)
$('.i-annc.index-eventnews-21 ul.i-annc__list').eq(0).find('>li').eq(-1).after($('.i-annc.index-eventnews-21 ul.i-annc__list').eq(i).html());
var ullength = $('.i-annc.index-eventnews-21 ul.i-annc__list').length;
for(var i = 1;i < ullength;i++)
$('.i-annc.index-eventnews-21 ul.i-annc__list').eq(-1).remove();
};
function reorganize(num){
combineul();
for(var i=1;i< Math.ceil(lilength/num);i++){
$('.i-annc.index-eventnews-21 ul.i-annc__list').eq(-1).after('<ul class="i-annc__list row" data-level="0" data-list="event_news"></ul>')
var lihtml="";
if(i != (Math.ceil(lilength/num)-1)){
for(var j=0;j<num;j++)
lihtml += "<li class='i-annc__item col-md-4'>"+$('.i-annc.index-eventnews-21 li.i-annc__item').eq(i*num+j).html()+"</li>"
}else{
for(var j=0;j< lilength - num *(Math.ceil(lilength/num)-1) ;j++)
lihtml += "<li class='i-annc__item col-md-4'>"+$('.i-annc.index-eventnews-21 li.i-annc__item').eq(i*num+j).html()+"</li>"
};
$('.i-annc.index-eventnews-21 ul.i-annc__list').eq(-1).html(lihtml);
};
if(Math.ceil(lilength/num) != 1 )
for(var i=0;i< lilength -num ; i++ )
$('.i-annc.index-eventnews-21 ul.i-annc__list').eq(0).find("li.i-annc__item").eq(num).remove();
$('.i-annc.index-eventnews-21 ul.i-annc__list >li').css('width','calc('+100/num+'% - '+20/20+'em)'); //20px=>li的margin
};
$(document).ready(function(){
if($(window).width()>1024){
reorganize(4);
num=3;
}else if($(window).width()>576){
reorganize(4);
num=2;
}else{
reorganize(4);
num=1;
}
$('.i-annc__postdate').each(function () {
var text = $(this).text().trim();
if (text !== '') {
$(this).text('公視+線上看:' + text);
}
});
});
$(window).resize(function(){
if($(window).width()>1024){
reorganize(4);
num=3;
}else if($(window).width()>576){
reorganize(4);
num=2;
}else{
reorganize(4);
num=1;
}
})
</script>

View File

@ -2,8 +2,9 @@
<h3 class="i-annc__page-title">{{page-title}}</h3>
<ul class="i-annc__list" data-level="0" data-list="event_news">
<li class="i-annc__item row">
<a href="{{link_to_show}}" title="{{img_description}}">
<div class="i-annc__img-wrap col-sm-4">
<img class="i-annc__img" src="{{img_src}}" alt="{{img_description}}">
<img class="i-annc__img" src="{{img_src}}" alt="" title="{{img_description}}">
</div>
<div class="i-annc__content-wrap col-sm-8">
<div class="i-annc__meta">
@ -20,10 +21,11 @@
</span>
</div>
<h4 class="i-annc__entry-title">
<a class="i-annc__title" href="{{link_to_show}}">{{title}}</a>
<span class="i-annc__title">{{title}}</span>
</h4>
<p class="i-annc__subtitle">{{subtitle}}</p>
</div>
</a>
</li>
</ul>
</div>

View File

@ -2,6 +2,7 @@
<h3 class="i-annc__page-title">{{page-title}}</h3>
<ul class="i-annc__list" data-level="0" data-list="event_news">
<li class="i-annc__item row">
<a href="{{link_to_show}}" title="{{img_description}}">
<div class="i-annc__content-wrap col-sm-8">
<div class="i-annc__meta">
<span class="i-annc__status-wrap" data-list="statuses" data-level="1">
@ -17,13 +18,14 @@
</span>
</div>
<h4 class="i-annc__entry-title">
<a class="i-annc__title" href="{{link_to_show}}">{{title}}</a>
<span class="i-annc__title">{{title}}</span>
</h4>
<p class="i-annc__subtitle">{{subtitle}}</p>
</div>
<div class="i-annc__img-wrap col-sm-4">
<img class="i-annc__img" src="{{img_src}}" alt="{{img_description}}">
<img class="i-annc__img" src="{{img_src}}" alt="" title="{{img_description}}">
</div>
</a>
</li>
</ul>
</div>

View File

@ -2,8 +2,9 @@
<h3 class="i-annc__page-title">{{page-title}}</h3>
<ul class="i-annc__list row" data-level="0" data-list="event_news">
<li class="i-annc__item col-md-4">
<a href="{{link_to_show}}" title="{{img_description}}">
<div class="i-annc__img-wrap bullseye" style="position:relative">
<a href="{{link_to_show}}"><img class="i-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}"></a>
<img class="i-annc__img" src="{{img_src}}" alt="" title="{{img_description}}">
</div>
<div class="i-annc__content-wrap">
<div class="i-annc__meta">
@ -20,10 +21,12 @@
</span>
</div>
<h4 class="i-annc__entry-title">
<a class="i-annc__title" href="{{link_to_show}}">{{title}}</a>
<span class="i-annc__title">{{title}}</span>
</h4>
<p class="i-annc__subtitle">{{subtitle}}</p>
<p class="s-annc__post-notes">{{notes}}</p>
</div>
</a>
</li>
</ul>
</div>

View File

@ -159,6 +159,14 @@
"en": "20. Standard Title List-4 ( category, EventDate, speaker, EventDate, status, title, EndDate, view-count)"
},
"thumbnail": "event_news_index1_thumbs.png"
},
{
"filename": "event_news_index21",
"name": {
"zh_tw": "21. 長短圖文 ( 模組標題, 圖片, 狀態, 日期, 類別, 標題, 副標題 )",
"en": "21. long-short-Column Standard Image + Text (widget-title, image, status, postdate, category, title, subtitle)"
},
"thumbnail": "event_news_index7_thumbs.png"
}
],
"widgets": [

View File

@ -55,6 +55,14 @@
"en" : "7. three Columns (category title, photo and customized profile data)"
},
"thumbnail" : "member_index5_thumb.png"
},
{
"filename" : "member_index8",
"name" : {
"zh_tw" : "8. 四欄白底圓角名片式 ( 類別標題, 個人照片, 個人資料等自訂欄位 )",
"en" : "8. four Columns whitebg (category title, photo and customized profile data)"
},
"thumbnail" : "member_index5_thumb.png"
}
]
}

View File

@ -0,0 +1,55 @@
<div class="i-member index-member-8">
<div data-list="roles" data-level="0">
<div class="i-member-section">
<div data-level="1" data-list="status-list">
<h3 class="i-member-status-title">{{status-title}}</h3>
<div class="i-member-list row" data-level="2" data-list="members">
<div class="i-member-item col-md-3 col-sm-6" href="{{link_to_show}}">
<div class="i-member-item-inner clearfix">
<div class="i-member-pic-wrap">
<a href="{{link_to_show}}" title="{{name}}">
<img class="i-member-pic" src="{{image}}" title="{{name}}">
</a>
</div>
<div class="i-member-profile-data-wrap">
<ul class="i-member-profile-list" data-list="profile_data" data-level="3">
<li class="i-member-profile-item">
<span class="i-member-title {{title_class}}">{{title}}</span>
<span class="i-member-value {{value_class}}">{{value}}</span>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
{{pagination_goes_here}}
<style>
input::placeholder {
color: #868e96;
}
</style>
<script>
$(document).ready(function () {
// 圖片預設處理
$('.i-member img').each(function () {
if ($(this).attr('alt') === "") {
$(this).attr('alt', 'noname');
$(this).attr('title', 'noname');
$(this).parent().attr('title', 'noname');
}
});
});
</script>

View File

@ -94,7 +94,7 @@
<thead>
<tr data-list="head-columns" data-level="0">
<th class="col-ken">
<a href="{{sort-url}}" class="{{sort}}" title="前往分類連結"><i class="universal-th-icon fa fa-{{sort-class}}"></i><span class="sr-only">前往分類連結</span></a>
<a href="{{sort-url}}" class="{{sort}}" role="link" aria-label="重新排序{{title}}"><i class="universal-th-icon fa fa-{{sort-class}}" aria-hidden="true"></i></a>
<div class="dropdown universal-dropdown {{search}}">
<button class="btn btn-sm" id="dLabel" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" aria-label="搜尋" title="搜尋" role="button">
<i class="fa fa-search"></i>
@ -110,7 +110,7 @@
</form>
</div>
</div>
<div class="universal-th-text {{title-class}}">{{title}}</div>
<div class="universal-th-text {{title-class}}">{{title}}</div>
</th>
</tr>
</thead>

View File

@ -72,7 +72,7 @@
<thead>
<tr data-list="head-columns" data-level="0">
<th class="col-ken">
<a href="{{sort-url}}" class="{{sort}}" title="前往分類連結"><i class="universal-th-icon fa fa-{{sort-class}}"></i><span class="sr-only">前往分類連結</span></a>
<a href="{{sort-url}}" class="{{sort}}" role="link" aria-label="重新排序{{title}}"><i class="universal-th-icon fa fa-{{sort-class}}" aria-hidden="true"></i></a>
<div class="dropdown universal-dropdown {{search}}">
<button class="btn btn-sm" id="dLabel" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" aria-label="搜尋" title="搜尋" role="button">
<i class="fa fa-search"></i>
@ -88,7 +88,7 @@
</form>
</div>
</div>
<div class="universal-th-text {{title-class}}">{{title}}</div>
<div class="universal-th-text {{title-class}}">{{title}}</div>
</th>
</tr>
</thead>

View File

@ -74,15 +74,15 @@
<table class="table table-hover table-striped universal-table-index universal-table-index3">
<div class="searchbtn">
<div class="ken-click">
<div class="searchbtn2 pull-right"><i class="fa-solid fa-magnifying-glass"></i>查詢</div>
<a href="{{url}}" class="universal-btn btn btn-info pull-right {{reset}}"><i class="fa fa-refresh"></i> Reset</a>
<a href="{{url}}" class="universal-btn btn btn-info {{reset}}"><i class="fa fa-refresh"></i> Reset</a>
<button class="searchbtn2 btn-primary " title="查詢" class="btn btn-default"><i class="fa-solid fa-magnifying-glass"></i>查詢</button>
</div>
</div>
<div class="searchbox">
<div class="theadsearch2">
<div class="row col-md-11 col-xs-12" data-list="searchable-columns" data-level="0">
<div class="{{col-class}}">
<a href="{{sort-url}}" class="{{sort}}"><i class="universal-th-icon fa fa-{{sort-class}}"></i></a>
<a href="{{sort-url}}" class="{{sort}}" aria-label="重新排序{{title}}"><i class="universal-th-icon fa fa-{{sort-class}}" aria-hidden="true"></i></a>
<div class="universal-th-text {{title-class}}">{{title}}</div>
<div class="dropdown universal-dropdown {{search}}">
<div class="dropdown-menu universal-dropdown-menu" aria-labelledby="dLabel">
@ -105,10 +105,10 @@
<thead class="theadsearch">
<tr data-list="head-columns" data-level="0">
<th class="col-ken">
<a href="{{sort-url}}" class="{{sort}}"><i class="universal-th-icon fa fa-{{sort-class}}"></i></a>
<a href="{{sort-url}}" class="{{sort}}" aria-label="重新排序{{title}}"><i class="universal-th-icon fa fa-{{sort-class}}"></i></a>
<div class="universal-th-text {{title-class}}">{{title}}</div>
<div class="dropdown universal-dropdown {{search}}">
<button class="btn btn-md" id="dLabel" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<button class="btn btn-sm" id="dLabel" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" aria-label="搜尋" title="搜尋" role="button">
<i class="fa fa-search"></i>
<span class="caret"></span>
</button>
@ -136,6 +136,7 @@
<div>{{export_button}}</div>
{{pagination_goes_here}}
<script>
// $(document).ready(function(){
// $("tr>th:first-child").removeClass("col-md-3");
// $("tr>th:first-child").addClass("col-md-1");

View File

@ -68,15 +68,15 @@
<table class="table table-hover table-striped universal-table-index universal-table-index4">
<div class="searchbtn">
<div class="ken-click">
<div class="searchbtn2 pull-right"><i class="fa-solid fa-magnifying-glass"></i>查詢</div>
<a href="{{url}}" class="universal-btn btn btn-info pull-right {{reset}}"><i class="fa fa-refresh"></i> Reset</a>
<a href="{{url}}" class="universal-btn btn btn-info {{reset}}"><i class="fa fa-refresh"></i> Reset</a>
<button class="searchbtn2 btn-primary " title="查詢" class="btn btn-default"><i class="fa-solid fa-magnifying-glass"></i>查詢</button>
</div>
</div>
<div class="searchbox">
<div class="theadsearch2">
<div class="row col-md-11 col-xs-12" data-list="searchable-columns" data-level="0">
<div class="{{col-class}}">
<a href="{{sort-url}}" class="{{sort}}"><i class="universal-th-icon fa fa-{{sort-class}}"></i></a>
<a href="{{sort-url}}" class="{{sort}}" aria-label="重新排序{{title}}"><i class="universal-th-icon fa fa-{{sort-class}}" aria-hidden="true"></i></a>
<div class="universal-th-text {{title-class}}">{{title}}</div>
<div class="dropdown universal-dropdown {{search}}">
<div class="dropdown-menu universal-dropdown-menu" aria-labelledby="dLabel">
@ -99,10 +99,10 @@
<thead class="theadsearch">
<tr data-list="head-columns" data-level="0">
<th class="col-ken">
<a href="{{sort-url}}" class="{{sort}}"><i class="universal-th-icon fa fa-{{sort-class}}"></i></a>
<a href="{{sort-url}}" class="{{sort}}" aria-label="重新排序{{title}}"><i class="universal-th-icon fa fa-{{sort-class}}"></i></a>
<div class="universal-th-text {{title-class}}">{{title}}</div>
<div class="dropdown universal-dropdown {{search}}">
<button class="btn btn-md" id="dLabel" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<button class="btn btn-sm" id="dLabel" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" aria-label="搜尋" title="搜尋" role="button">
<i class="fa fa-search"></i>
<span class="caret"></span>
</button>

View File

@ -2,8 +2,9 @@
<h3 class="widget-title"><span>{{widget-title}}</span></h3>
<ul class="video_data_wrap col-sm-12" data-list="videos" data-level="0">
<li class="video_data col-xs-12 col-sm-4" data-video-url="{{video_url}}" data-video-webm-url="{{video_webm_url}}" data-type="{{video_type}}">
<a class="video_link" href="{{video_show_url}}" title="{{video_title_escape}}">
<div class="video_linkwrapper">
<div class="videohover">
<div class="view_info">
<span>{{view_count}}</span>
@ -11,7 +12,9 @@
<div class="Video__Player"><button class="Video__PlayerButton"></button></div>
<div class="videoduration"></div>
</div>
<a class="video_link" href="{{video_show_url}}" title="{{video_title_escape}}">
<img class="video_snapshot" src="{{snapshot_url}}"/>
</a>
</div>
<div class="video_info">
<div class="video_length">{{video_duration}}</div>
@ -21,7 +24,7 @@
<div class="video_title"><a class="video_link" href="{{video_show_url}}" title="{{video_title_escape}}"><h5>{{video_title}}</h5></a></div>
<div class="video_desc"><a class="video_link" href="{{video_show_url}}" title="{{video_title_escape}}">{{video_desc}}</a></div>
</div>
</a>
</li>
</ul>
<div class="clearfix"></div>

View File

@ -13,6 +13,7 @@
</div>
<img class="video_snapshot" src="{{snapshot_url}}"/>
</div>
</a>
<div class="video_info">
<div class="video_length">{{video_duration}}</div>
<div data-list="video_tags" data-level="1" class="video_tag"><div class="video_tags2">{{video_tag}}</div></div>
@ -21,7 +22,7 @@
<div class="video_title"><a class="video_link" href="{{video_show_url}}" title="{{video_title_escape}}"><h5>{{video_title}}</h5></a></div>
<div class="video_desc"><a class="video_link" href="{{video_show_url}}" title="{{video_title_escape}}">{{video_desc}}</a></div>
</div>
</a>
</li>
</ul>
<div class="clearfix"></div>

View File

@ -110,8 +110,8 @@ $(document).ready(function () {
if ($pager.next(".pager-controls").length === 0) {
$pager.after(`
<div class="pager-controls">
<button class="prev-btn"><i class="fa fa-angle-left prev-button" aria-hidden="true" style="font-size: 1.5rem;"></i></button>
<button class="next-btn"><i class="fa fa-angle-right next-button" aria-hidden="true" style="font-size: 1.5rem;"></i></button>
<button class="prev-btn" title="下一張" aria-label="下一張"><i class="fa fa-angle-left prev-button" aria-hidden="true" style="font-size: 1.5rem;"></i></button>
<button class="next-btn" title="上一張" aria-label="上一張"><i class="fa fa-angle-right next-button" aria-hidden="true" style="font-size: 1.5rem;"></i></button>
</div>
`);
}

View File

@ -105,8 +105,8 @@
"filename" : "video_pro_index4",
"force_cover": "true",
"name" : {
"zh_tw" : "4. 欄影片列表1 + 類別 + 搜尋 ( 縮圖, 影片資訊, 頁面連結)",
"en" : "4. 4col-Video List 1 + Category filter + Search ( snapshot, video info, page link)"
"zh_tw" : "4. 欄影片列表1 + 類別 + 搜尋 ( 縮圖, 影片資訊, 頁面連結)",
"en" : "4. 3col-Video List 1 + Category filter + Search ( snapshot, video info, page link)"
},
"thumbnail" : "thumb.png"
}

View File

@ -21,7 +21,6 @@
<div class="video_title"><h5>{{video_title}}</h5></div>
<div class="video_desc">{{video_desc}}</div>
<div class="view_info">
<span><img src="{{hd_icon_url}}" alt="HD"></span>
<span>x {{view_count}}</span>
</div>
</div>

View File

@ -8,10 +8,12 @@
<div class="link-img-wrap{{display_image}}">
<img src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
</div>
<a class="widget-content-title" href="{{link_to_show}}" target="{{target}}" title="{{title_text}}">{{title}}</a>
<span data-list="statuses" data-level="1">
<span class="label status {{status-class}}">{{status}}</span>
</span>
<div class="widget-content-title">
<span class="" href="{{link_to_show}}" target="{{target}}" title="{{title_text}}">{{title}}</span>
<span data-list="statuses" data-level="1">
<span class="label status {{status-class}}">{{status}}</span>
</span>
</div>
</a>
</li>
</ul>

View File

@ -1,7 +1,7 @@
<div class="widget-link widget-3" style="position: relative;">
<div class="widget-link__more-wrap clearfix">
<h2 class="widget-link__widget-title">
<h2 class="widget-title">
<span>{{widget-title}}</span>
</h2>
</div>

View File

@ -1,6 +1,6 @@
<div class="widget-link widget-4">
<div class="widget-link__more-wrap clearfix">
<h2 class="widget-link__widget-title">
<h2 class="widget-title">
<span>{{widget-title}}</span>
</h2>
</div>
@ -12,11 +12,11 @@
data-cycle-pause-on-hover="true" data-cycle-log="false" data-cycle-carousel-fluid="true">
<li class="widget-link__item">
<div class="liWrapper">
<a class="widget-content-title" href="{{link_to_show}}" target="{{target}}" title="{{title_text}}">
<a href="{{link_to_show}}" target="{{target}}" title="{{title_text}}">
<img class="widget-link__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}"><br />
{{title}}
</a>
</div>
<div class="widget-content-title">{{title}}</div>
</li>
</div>
<ul class="button-mid">

View File

@ -1,6 +1,6 @@
<div class="widget-link widget-5">
<div class="widget-link__more-wrap clearfix">
<h2 class="widget-link__widget-title">
<h2 class="widget-title">
<span>{{widget-title}}</span>
</h2>
</div>
@ -12,11 +12,11 @@
data-cycle-pause-on-hover="true" data-cycle-log="false" data-cycle-carousel-fluid="true">
<li class="widget-link__item">
<div class="liWrapper">
<a class="widget-content-title" href="{{link_to_show}}" target="{{target}}" title="{{title_text}}">
<a href="{{link_to_show}}" target="{{target}}" title="{{title_text}}">
<img class="widget-link__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}"><br />
{{title}}
</a>
</div>
<div class="widget-content-title">{{title}}</div>
</li>
</div>

View File

@ -1,6 +1,6 @@
<div class="widget-link widget-6">
<div class="widget-link__more-wrap clearfix">
<h2 class="widget-link__widget-title">
<h2 class="widget-title">
<span class="title">{{widget-title}}</span>
</h2>
</div>
@ -12,7 +12,7 @@
data-cycle-pause-on-hover="true" data-cycle-log="false" data-cycle-carousel-fluid="true">
<li class="widget-link__item">
<div class="liWrapper">
<a class="widget-content-title" href="{{link_to_show}}" target="{{target}}" title="{{title_text}}">
<a href="{{link_to_show}}" target="{{target}}" title="{{title_text}}">
<img class="widget-link__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}"><br />
</a>
</div>

View File

@ -5,14 +5,17 @@
<ul class="list-unstyled" data-level="0" data-list="web_link">
<li class="widget-content widget-content-horizontal ">
<a href="{{link_to_show}}" target="{{target}}" title="{{title_text}}">
<div class="link-img-wrap{{display_image}}">
<img src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
<div class="link-img-wrap{{display_image}}">
<img src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
</div>
</a>
<div class="widget-content-title">
<a class="" href="{{link_to_show}}" target="{{target}}" title="{{title_text}}">{{title}}</a>
<span data-list="statuses" data-level="1">
<span class="label status {{status-class}}">{{status}}</span>
</span>
</div>
<a class="widget-content-title" href="{{link_to_show}}" target="{{target}}" title="{{title_text}}">{{title}}</a>
<span data-list="statuses" data-level="1">
<span class="label status {{status-class}}">{{status}}</span>
</span>
</a>
</li>
</ul>
<!-- <div class="morebken"><div class="openmorebken"></div><i class="fa-solid fa-chevron-down"></i></div> -->

View File

@ -8,11 +8,12 @@
<div class="link-img-wrap{{display_image}}">
<img src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
</div>
<a class="widget-content-title" href="{{link_to_show}}" target="{{target}}" title="{{title_text}}">{{title}}</a>
<span data-list="statuses" data-level="1">
<span class="label status {{status-class}}">{{status}}</span>
</span>
</a>
<div class="widget-content-title">
<a class="" href="{{link_to_show}}" target="{{target}}" title="{{title_text}}">{{title}}</a>
<span data-list="statuses" data-level="1">
<span class="label status {{status-class}}">{{status}}</span>
</span>
</div>
</li>
</ul>
</div>

View File

@ -0,0 +1,40 @@
<div class="widget-link widget9">
<h3 class="widget-title">
<span>{{widget-title}}</span>
</h3>
<ul class="list-unstyled" data-level="0" data-list="web_link">
<li class="widget-content widget-content-horizontal ">
<div class="hex-border">
<a href="{{link_to_show}}" target="{{target}}" title="{{title_text}}">
<div class="link-img-wrap{{display_image}}">
<img src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
</div>
<a class="widget-content-title" href="{{link_to_show}}" target="{{target}}" title="{{title_text}}">{{title}}</a>
<span data-list="statuses" data-level="1">
<span class="label status {{status-class}}">{{status}}</span>
</span>
</a>
</div>
</li>
</ul>
<!-- <div class="morebken"><div class="openmorebken"></div><i class="fa-solid fa-chevron-down"></i></div> -->
</div>
<style type="text/css">
.widget-content-horizontal{
float: left;
}
.openmorebken{
&:before{
content: '展開';
display: block;
position: relative;
}
}
.closemorebken{
&:before{
content: '關閉'!important;
display: block;
position: relative;
}
}
</style>

View File

@ -29,8 +29,8 @@
{
"filename" : "web_res_widget2",
"name" : {
"zh_tw" : "2. 橫式列表 ( 模組標題, 連結 )",
"en" : "2. Horizontal List (widget-title, link)"
"zh_tw" : "2. 收合橫式列表 ( 模組標題, 連結 )",
"en" : "2.close & open-Horizontal List (widget-title, link)"
},
"thumbnail" : "web_res_widget2_thumb.png"
},
@ -81,6 +81,14 @@
"en" : "8. Horizontal List (widget-title, link)"
},
"thumbnail" : "web_res_widget8_thumb.png"
},
{
"filename" : "web_res_widget9",
"name" : {
"zh_tw" : "9. 純文字圓形橫式列表 ( 模組標題, 連結 )",
"en" : "9. txt only-Circle-Horizontal List (widget-title, link)"
},
"thumbnail" : "web_res_widget1_thumb.png"
}
]
}

View File

@ -1,7 +1,7 @@
<div class="sitemenu-wrap sitemenu-horizontal no-print">
{{expand-script}}
<a id="accesskey_sitemenu" accesskey="S" href="/<%= "#{locale.to_s}" %>/accesskey" title="Sitemenu">:::</a>
<h3 class="sitemenu-title">{{widget_title}}</h3>
<h3 class="sitemenu-title" aria-label="次選單標題">{{widget_title}}</h3>
<ul data-list="pages" class="sitemenu-list level-1 list-unstyled" data-level="0">
<li class="sitemenu-item level-1 {{active_class}}">
<a class="sitemenu-link level-1" href="{{url}}" target="{{target}}">{{page_name}}</a>

View File

@ -1,7 +1,7 @@
<div class="sitemenu-wrap sitemenu-vertical no-print">
{{expand-script}}
<a id="accesskey_sitemenu" accesskey="S" href="/<%= "#{locale.to_s}" %>/accesskey" title="Sitemenu">:::</a>
<h3 class="sitemenu-title">{{widget_title}}</h3>
<h3 class="sitemenu-title" aria-label="次選單標題">{{widget_title}}</h3>
<ul data-list="pages" class="sitemenu-list level-1 list-unstyled" data-level="0">
<li class="sitemenu-item level-1 {{active_class}}">
<a class="sitemenu-link level-1" href="{{url}}" target="{{target}}">{{page_name}}</a>

View File

@ -1,7 +1,7 @@
<div class="sitemenu-wrap sitemenu-vertical2 no-print">
{{expand-script}}
<a id="accesskey_sitemenu" accesskey="S" href="/<%= "#{locale.to_s}" %>/accesskey" title="Sitemenu">:::</a>
<h3 class="sitemenu-title">{{widget_title}}</h3>
<h3 class="sitemenu-title" aria-label="次選單標題">{{widget_title}}</h3>
<ul data-list="pages" class="sitemenu-list level-1 list-unstyled" data-level="0">
<li class="sitemenu-item level-1 {{active_class}}">
<a class="sitemenu-link level-1" href="{{url}}" target="{{target}}">{{page_name}}</a>

View File

@ -1,7 +1,7 @@
<div class="sitemenu-wrap sitemenu4 no-print">
{{expand-script}}
<a id="accesskey_sitemenu" accesskey="S" href="/<%= "#{locale.to_s}" %>/accesskey" title="Sitemenu">:::</a>
<h3 class="sitemenu-title">{{widget_title}}</h3>
<h3 class="sitemenu-title" aria-label="次選單標題">{{widget_title}}</h3>
<ul data-list="pages" class="sitemenu-list level-1 list-unstyled" data-level="0">
<li class="sitemenu-item level-1 {{active_class}}">
<a class="sitemenu-link level-1" href="{{url}}" target="{{target}}">{{page_name}}</a>

View File

@ -1,6 +1,6 @@
<div class="marquee-1" module="text_marquee" data-ps="">
<ul class="marquee" data-level="0" data-list="texts">
<li><a href="{{url}}" target="_blank" speed='{{speed}}'>{{text}}</a></li>
<li><a href="{{url}}" target="_blank" speed='{{speed}}'><i class="fa-solid fa-bullhorn"></i>{{text}}</a></li>
</ul>
</div>