bianjiang 1 year ago
parent
commit
24e114c64d
62 changed files with 6426 additions and 0 deletions
  1. 23 0
      xihuaTemplate/css/base.css
  2. 352 0
      xihuaTemplate/css/media.css
  3. 201 0
      xihuaTemplate/css/reset.css
  4. 1270 0
      xihuaTemplate/css/style.css
  5. 242 0
      xihuaTemplate/displayinfo.htm
  6. 75 0
      xihuaTemplate/extends/extends.css
  7. 9 0
      xihuaTemplate/extends/extends.js
  8. BIN
      xihuaTemplate/extends/images/arrow.png
  9. BIN
      xihuaTemplate/extends/images/arrow01_down.gif
  10. BIN
      xihuaTemplate/extends/images/arrow01_up.gif
  11. BIN
      xihuaTemplate/extends/images/icon_menu01.gif
  12. BIN
      xihuaTemplate/extends/images/icon_menu01.png
  13. 28 0
      xihuaTemplate/extends/libs/css3-mediaqueries.js
  14. 2 0
      xihuaTemplate/extends/libs/html5.js
  15. 1 0
      xihuaTemplate/extends/libs/jquery-migrate-3.1.0.min.js
  16. 1 0
      xihuaTemplate/extends/libs/jquery.min.js
  17. 425 0
      xihuaTemplate/extends/libs/jquery.sudy.js
  18. BIN
      xihuaTemplate/favicon.ico
  19. BIN
      xihuaTemplate/images/arrow_down.png
  20. BIN
      xihuaTemplate/images/arrow_right.png
  21. BIN
      xihuaTemplate/images/arrow_right_primary.png
  22. BIN
      xihuaTemplate/images/arrow_top.png
  23. BIN
      xihuaTemplate/images/banner.png
  24. BIN
      xihuaTemplate/images/bg_home_specialty_1.png
  25. BIN
      xihuaTemplate/images/bg_home_specialty_2.png
  26. BIN
      xihuaTemplate/images/bg_home_specialty_3.png
  27. BIN
      xihuaTemplate/images/bg_home_specialty_4.png
  28. BIN
      xihuaTemplate/images/bg_home_specialty_5.png
  29. BIN
      xihuaTemplate/images/bg_links_1.png
  30. BIN
      xihuaTemplate/images/bg_links_2.png
  31. BIN
      xihuaTemplate/images/bg_research.png
  32. BIN
      xihuaTemplate/images/bg_works.png
  33. BIN
      xihuaTemplate/images/botton_next.png
  34. BIN
      xihuaTemplate/images/botton_prev.png
  35. BIN
      xihuaTemplate/images/footer_qrcode.png
  36. BIN
      xihuaTemplate/images/footer_tips.png
  37. BIN
      xihuaTemplate/images/icon_close.png
  38. BIN
      xihuaTemplate/images/icon_home_service_1.png
  39. BIN
      xihuaTemplate/images/icon_home_service_2.png
  40. BIN
      xihuaTemplate/images/icon_home_service_3.png
  41. BIN
      xihuaTemplate/images/icon_home_service_4.png
  42. BIN
      xihuaTemplate/images/icon_home_service_5.png
  43. BIN
      xihuaTemplate/images/icon_home_service_6.png
  44. BIN
      xihuaTemplate/images/icon_home_specialty_1.png
  45. BIN
      xihuaTemplate/images/icon_home_specialty_2.png
  46. BIN
      xihuaTemplate/images/icon_home_specialty_3.png
  47. BIN
      xihuaTemplate/images/icon_home_specialty_4.png
  48. BIN
      xihuaTemplate/images/icon_home_specialty_5.png
  49. BIN
      xihuaTemplate/images/icon_search.png
  50. BIN
      xihuaTemplate/images/logo_footer.png
  51. BIN
      xihuaTemplate/images/logo_header.png
  52. BIN
      xihuaTemplate/images/menu.png
  53. 117 0
      xihuaTemplate/js/app.js
  54. 16 0
      xihuaTemplate/js/comcus.js
  55. 2006 0
      xihuaTemplate/js/iscroll.js
  56. 66 0
      xihuaTemplate/js/list.js
  57. 60 0
      xihuaTemplate/js/main.js
  58. 282 0
      xihuaTemplate/listcolumn.htm
  59. 277 0
      xihuaTemplate/listintro.htm
  60. 279 0
      xihuaTemplate/listteacher.htm
  61. 694 0
      xihuaTemplate/main.htm
  62. BIN
      xihuaTemplate/summary.jpg

+ 23 - 0
xihuaTemplate/css/base.css

@@ -0,0 +1,23 @@
+:root {
+  --vt-c-white: #ffffff;
+  --vt-c-white-soft: #f8f8f8;
+  --vt-c-white-mute: #f2f2f2;
+
+  --vt-c-black: #181818;
+  --vt-c-black-soft: #222222;
+  --vt-c-black-mute: #282828;
+
+  --vt-c-indigo: #333;
+
+  --vt-c-primary: #41969c;
+
+  --vt-c-divider-light-1: rgba(60, 60, 60, 0.29);
+  --vt-c-divider-light-2: rgba(60, 60, 60, 0.12);
+  --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65);
+  --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48);
+
+  --vt-c-text-light-1: var(--vt-c-indigo);
+  --vt-c-text-light-2: rgba(60, 60, 60, 0.66);
+  --vt-c-text-dark-1: var(--vt-c-white);
+  --vt-c-text-dark-2: rgba(235, 235, 235, 0.64);
+}

+ 352 - 0
xihuaTemplate/css/media.css

@@ -0,0 +1,352 @@
+@media screen and (max-width: 1280px) {
+  .header_wapper {
+    position: fixed;
+    left: 0;
+    top: 0;
+    z-index: 200;
+    width: 100%;
+  }
+  .header_layout {
+    padding: 16px 20px;
+    justify-content: space-between;
+  }
+  .header_logo img {
+    height: 30px;
+  }
+  .header_layout .header_menu {
+    display: none;
+  }
+  .header_layout .mobile_menu {
+    display: block;
+    margin-left: 20px;
+  }
+
+  .wp-navi-aside {
+    display: none;
+    position: fixed;
+    left: 0;
+    top: 0;
+    width: 100%;
+    height: 100%;
+    z-index: 1000;
+  }
+  .wp-navi-aside .navi-aside-mask {
+    width: 100%;
+    height: 100%;
+    background: rgba(0, 0, 0, 0.1);
+  }
+  .wp-navi-aside .aside-inner {
+    position: absolute;
+    top: 0;
+    right: -200px;
+    height: 100%;
+    width: 200px;
+    overflow-y: auto;
+    z-index: 2;
+    background-color: #fff;
+  }
+  .wp-navi-aside .wp-menu {
+    padding: 20px;
+  }
+  .wp-navi-aside .wp-menu a {
+    width: 100%;
+    display: block;
+    font-size: 16px;
+    height: 32px;
+    line-height: 32px;
+    overflow: hidden;
+    box-sizing: border-box;
+  }
+  .wp-navi-aside .wp-menu li {
+    padding: 5px 0;
+  }
+  .wp-navi-aside .wp-menu .menu-item {
+    position: relative;
+  }
+  .wp-navi-aside .wp-menu .menu-link {
+    position: relative;
+    padding-left: 12px;
+    padding-right: 30px;
+  }
+  .wp-navi-aside .wp-menu .menu-item .menu-switch-arrow {
+    display: block;
+    width: 32px;
+    height: 32px;
+    position: absolute;
+    right: 0;
+    top: 5px;
+    background: url("../images/arrow_down.png") no-repeat center/20px 20px;
+    transition: all 0.4s ease-in-out;
+    cursor: pointer;
+  }
+  .wp-navi-aside .wp-menu .menu-item .menu-switch-arrow.open {
+    transform: rotate(180deg);
+  }
+  .wp-navi-aside .wp-menu .sub-menu {
+    display: none;
+  }
+  .wp-navi-aside .wp-menu .sub-menu a {
+    padding-left: 24px;
+  }
+  .header_btm_wrapper {
+    padding-top: 62px;
+  }
+  .banner_wrapper .focus .focus-navigation {
+    display: none;
+  }
+  .home_lay_title {
+    font-size: 26px;
+    margin-bottom: 30px;
+  }
+  .home_lay_item_box {
+    padding: 40px 0;
+  }
+  .news_tit {
+    font-size: 16px;
+  }
+  .news_lay_box {
+    flex-direction: column;
+  }
+  .news_lay_box .news_lay_item {
+    flex: auto;
+    max-width: 100%;
+    border-right: none;
+    padding: 0;
+    margin-bottom: 50px;
+  }
+  .news_lay_box .news_lay_item .list_item .cover {
+    height: 210px;
+  }
+  .news_lay_box .news_lay_item .list_item img {
+    height: 210px;
+  }
+  .news_lay_box .news_lay_item .list_item.news_1 {
+    font-size: 18px;
+    line-height: 28px;
+  }
+  .news_lay_box .news_lay_item:first-child {
+    max-width: 100%;
+    padding: 0;
+  }
+  .spe_cards {
+    height: 900px;
+    flex-direction: column;
+  }
+  .spe_cards .cards_item {
+    height: auto;
+    padding: 40px 20px;
+  }
+  .spe_cards .cards_item .card_top {
+    display: flex;
+    align-items: center;
+  }
+  .spe_cards .cards_item .card_tit {
+    margin-top: 0;
+    padding-left: 20px;
+    transition: all 0.3s ease-in-out;
+  }
+  .spe_cards .cards_item:hover {
+    flex: 2;
+    padding: 20px 20px 40px;
+  }
+  .spe_cards .cards_item:hover .card_icon img {
+    width: 54px;
+    height: 54px;
+    transition: all 0.3s ease-in-out;
+  }
+  .spe_cards .cards_item:hover .card_tit {
+    padding-left: 10px;
+    font-size: 18px;
+  }
+  .spe_cards .cards_item .card_desc {
+    padding: 0 20px 20px;
+  }
+  .tabs_header {
+    flex-direction: column;
+    align-items: flex-start;
+    margin-bottom: 20px;
+  }
+  .tabs_header .home_lay_title {
+    margin-bottom: 20px;
+  }
+  .tabs_header .tabs_nav_list {
+    padding-bottom: 10px;
+    justify-content: flex-start;
+    overflow-x: auto;
+  }
+  .tabs_header .tabs_nav_list .list_item {
+    font-size: 16px;
+  }
+  .tab_list {
+    grid-template-columns: repeat(2, 1fr);
+  }
+  .tab_list .list_item .list_img {
+    height: 300px;
+  }
+  .research_bg {
+    background-size: cover;
+  }
+  .research_bg .list_more .more_text,
+  .work_bg .list_more .more_text {
+    color: #fff;
+  }
+  .research_bg .list_more .arrow,
+  .work_bg .list_more .arrow {
+    background: url("../images/arrow_right.png") no-repeat center/contain;
+  }
+  .work_bg {
+    background-size: cover;
+  }
+  .service_list {
+    grid-template-columns: repeat(2, 1fr);
+  }
+  .service_list .ser_item a {
+    padding: 18px 30px;
+  }
+  .service_list .ser_item a .ser_icon {
+    padding-right: 30px;
+  }
+  .service_list .ser_item a .ser_icon img {
+    width: 80px;
+    height: 80px;
+  }
+  .service_list .ser_item a .ser_tit {
+    padding-left: 30px;
+    font-size: 20px;
+  }
+  .footer_layout .lay_footer .footer_menu {
+    flex-direction: column;
+  }
+  .footer_layout .lay_footer .footer_menu .logo {
+    text-align: center;
+    border-right: none;
+    padding-right: 0;
+  }
+  .footer_layout .lay_footer .footer_menu .logo img {
+    display: inline-block;
+  }
+  .footer_layout .lay_footer .footer_menu .menus {
+    display: none;
+  }
+  .teachers_box .teachers_swiper {
+    width: 100%;
+    height: 300px;
+  }
+  .teachers_box .teachers_swiper .teacher_item {
+    height: 300px;
+  }
+  /* .teachers_box .teachers_swiper .teacher_slide {
+    width: 290px;
+  } */
+  .page_title_box {
+    height: 400px;
+  }
+  .page_title_box .title h1 {
+    font-size: 28px;
+  }
+  .page_article_list,
+  .page_teacher_list {
+    grid-template-columns: repeat(3, 1fr);
+  }
+}
+@media screen and (max-width: 1440px) {
+  .footer_layout .lay_footer .footer_menu {
+    padding: 80px 20px;
+  }
+}
+@media screen and (max-width: 750px) {
+  .home_lay_title {
+    font-size: 20px;
+    margin-bottom: 20px;
+  }
+  .home_lay_item_box {
+    padding: 30px 0;
+  }
+  .tabs_header .home_lay_title {
+    margin-bottom: 10px;
+  }
+  .tab_list {
+    grid-template-columns: repeat(1, 1fr);
+  }
+  .service_list {
+    grid-template-columns: repeat(1, 1fr);
+  }
+  .service_list .ser_item a {
+    padding: 14px 20px;
+  }
+  .service_list .ser_item a .ser_icon {
+    padding-right: 20px;
+  }
+  .service_list .ser_item a .ser_icon img {
+    width: 60px;
+    height: 60px;
+  }
+  .service_list .ser_item a .ser_tit {
+    padding-left: 20px;
+    font-size: 18px;
+  }
+  .service_list .ser_item a .ser_tit .desc {
+    margin-top: 10px;
+    font-size: 14px;
+  }
+  .footer_fix_link a {
+    font-size: 12px;
+    width: 32px;
+    height: 84px;
+  }
+  .page_title_box {
+    height: 320px;
+  }
+  .page_title_box .title h1 {
+    font-size: 24px;
+  }
+  .content_wrapper {
+    padding: 50px 0;
+  }
+  .wp_paging li.pages_count,
+  .wp_paging li.page_jump {
+    display: none;
+  }
+  .page_tabs_box .page_tab_list {
+    justify-content: flex-start;
+  }
+  .page_tabs_box .page_tab_list {
+    justify-content: flex-start;
+  }
+  .page_tabs_box .page_tab_list .sub_list {
+    justify-content: flex-start;
+    padding: 20px 10px 10px;
+  }
+  .page_tabs_box .page_tab_list .page_list_item {
+    flex-shrink: 1;
+  }
+  .page_tabs_box .page_tab_list .page_list_item + .page_list_item{
+    margin-left: 0;
+  }
+  .page_tabs_box .page_tab_list .page_list_item .item_link {
+    display: none;
+  }
+  .page_tabs_box .page_tab_list .page_list_item .sub_list {
+    position: relative;
+    top: 0;
+  }
+  .page_article_list,
+  .page_teacher_list {
+    grid-template-columns: repeat(2, 1fr);
+  }
+  .page_article_list .list_img {
+    height: 220px;
+  }
+  .page_article_list img {
+    height: 220px;
+  }
+  .page_teacher_list .item {
+    height: 300px;
+  } 
+}
+@media screen and (max-width: 576px) {
+  .page_article_list,
+  .page_teacher_list {
+    grid-template-columns: repeat(1, 1fr);
+  }
+}

+ 201 - 0
xihuaTemplate/css/reset.css

@@ -0,0 +1,201 @@
+@charset "UTF-8";
+/* Base Reset */
+html,
+body,
+div,
+span,
+applet,
+object,
+iframe,
+h1,
+h2,
+h3,
+h4,
+h5,
+h6,
+p,
+blockquote,
+pre,
+a,
+abbr,
+acronym,
+address,
+big,
+cite,
+code,
+del,
+dfn,
+em,
+img,
+ins,
+kbd,
+q,
+s,
+samp,
+small,
+strike,
+strong,
+sub,
+sup,
+tt,
+var,
+b,
+u,
+i,
+center,
+dl,
+dt,
+dd,
+ol,
+ul,
+li,
+fieldset,
+form,
+label1,
+label,
+legend,
+table,
+caption,
+tbody,
+tfoot,
+thead,
+tr,
+th,
+td,
+article,
+aside,
+canvas,
+details,
+embed,
+figure,
+figcaption,
+footer,
+header,
+hgroup,
+menu,
+nav,
+output,
+ruby,
+section,
+summary,
+time,
+mark,
+audio,
+video {
+  margin: 0;
+  padding: 0;
+}
+/* HTML5 display-role reset for older browsers */
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+menu,
+nav,
+section {
+  display: block;
+}
+:focus {
+  outline: 0;
+}
+img {
+  border: 0;
+  max-width: 100%;
+}
+body {
+  line-height: 1;
+}
+ol,
+ul {
+  list-style: none;
+}
+blockquote,
+q {
+  quotes: none;
+}
+blockquote:before,
+blockquote:after,
+q:before,
+q:after {
+  content: "";
+  content: none;
+}
+table {
+  border-collapse: collapse;
+  border-spacing: 0;
+}
+.clear {
+  width: 100%;
+  height: 0;
+  line-height: 0;
+  font-size: 0;
+  overflow: hidden;
+  clear: both;
+  display: block;
+  _display: inline;
+}
+.none {
+  display: none;
+}
+.hidden {
+  visibility: hidden;
+}
+.clearfix:after {
+  clear: both;
+  content: ".";
+  display: block;
+  height: 0;
+  visibility: hidden;
+}
+.clearfix {
+  display: block;
+  *zoom: 1;
+}
+
+body {
+  font-size: 14px;
+  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
+    Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue",
+    sans-serif;
+  color: var(--vt-c-indigo);
+  line-height: 1;
+  background-color: #f0f2f5;
+}
+a {
+  text-decoration: none;
+  color: var(--vt-c-indigo);
+  transition: all 0.4s ease-in-out;
+}
+a:hover {
+  text-decoration: none;
+  color: var(--vt-c-primary);
+}
+/*页面尺寸*/
+.wrapper {
+  width: 100%;
+  margin: 0 auto;
+}
+.wrapper .inner {
+  max-width: 1644px;
+  width: 100%;
+  padding: 0 20px;
+  margin: 0 auto;
+  box-sizing: border-box;
+} /**页面全局宽度**/
+.detail_inner {
+  max-width: 1280px;
+  width: 100%;
+  margin: 0 auto;
+  padding: 0 20px;
+}
+* {
+  box-sizing: border-box;
+}
+::selection {
+  color: #fff;
+  background: var(--vt-c-primary);
+}

+ 1270 - 0
xihuaTemplate/css/style.css

@@ -0,0 +1,1270 @@
+@import "./base.css";
+.headtop {
+  background-color: #fff;
+}
+.header_layout {
+  display: flex;
+  align-items: center;
+  padding: 7px 30px;
+  background: #fff;
+}
+.header_logo img {
+  max-width: 300px;
+  height: 54px;
+  object-fit: contain;
+}
+.header_layout .header_menu {
+  position: relative;
+  margin-left: 50px;
+  flex: 1;
+}
+.header_layout .nav .wp-menu {
+  display: flex;
+  justify-content: flex-end;
+  align-items: center;
+}
+.header_layout .nav .wp-menu .menu-item {
+  width: 10%;
+  margin-top: 16px;
+  padding-bottom: 22px;
+  max-width: 130px;
+  position: relative;
+}
+.header_layout .nav .wp-menu .menu-item .menu-link {
+  display: inline-block;
+  width: 100%;
+  font-size: 16px;
+  line-height: 20px;
+  text-align: center;
+  white-space: nowrap;
+  color: #767676;
+}
+.header_layout .nav .wp-menu .menu-item::before {
+  content: "";
+  position: absolute;
+  bottom: 10px;
+  left: 50%;
+  transform: translateX(-50%);
+  width: 0;
+  height: 2px;
+  background-color: var(--vt-c-primary);
+  transition: width 0.3s ease-in-out;
+}
+.header_layout .nav .wp-menu .menu-item a:hover {
+  color: var(--vt-c-primary);
+}
+.header_layout .nav .wp-menu .menu-item.hover::before {
+  width: 24px;
+}
+.header_layout .nav .wp-menu .menu-item.hover .menu-link {
+  color: var(--vt-c-primary);
+}
+.header_layout .nav .wp-menu .menu-item::after {
+  content: "";
+  position: absolute;
+  top: 2px;
+  right: 0;
+  height: 20px;
+  border-right: 1px solid rgba(132, 132, 132, 20%);
+  transform: skewX(-15deg);
+}
+
+.header_layout .nav .sub-menu {
+  display: none;
+  position: absolute;
+  left: 50%;
+  top: 38px;
+  min-width: 130px;
+  transform: translateX(-50%);
+  z-index: 100;
+  padding: 10px 0;
+  background: #fff;
+  box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12),
+    0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);
+}
+.header_layout .nav .sub-menu .sub-item {
+  position: relative;
+  white-space: nowrap;
+  vertical-align: top;
+  _zoom: 1;
+}
+.header_layout .nav .sub-menu .sub-item a {
+  display: block;
+  height: 32px;
+  line-height: 32px;
+  padding: 0 12px;
+  font-size: 14px;
+  text-align: center;
+}
+
+.header_layout .nav .sub-menu .sub-item a:hover {
+  color: var(--vt-c-primary);
+  background-color: #f5f5f5;
+}
+.header_layout .mobile_menu {
+  display: none;
+}
+.mobile_menu .mobile_menu_taggle {
+  width: 28px;
+  height: 28px;
+}
+.wp-navi-aside {
+  display: none;
+}
+.banner_wrapper {
+  background: #fff;
+}
+.banner_wrapper .inner {
+  width: auto;
+  padding: 0;
+  max-width: 1920px;
+  text-align: center;
+  position: relative;
+}
+
+.banner_wrapper .focus .focus-pagination {
+  position: absolute;
+  left: 50%;
+  bottom: 12px;
+  right: auto;
+  height: auto;
+  transform: translateX(-50%);
+  display: inline-block;
+  padding: 6px 9px;
+  border-radius: 30px;
+  background-color: rgba(0, 0, 0, 0.56);
+  z-index: 60;
+  font-size: 0;
+}
+.banner_wrapper .focus .focus-page {
+  display: inline-block;
+  width: 12px;
+  height: 12px;
+  margin: 0 4px;
+  line-height: 1;
+  font-size: 0;
+  border-radius: 6px;
+  background-color: rgba(255, 255, 255, 0.6);
+  -webkit-transition: all 0.3s ease-in-out;
+  transition: all 0.3s ease-in-out;
+  cursor: pointer;
+}
+.banner_wrapper .focus .focus-page-active {
+  width: 24px;
+  background-color: rgba(255, 255, 255, 1);
+}
+.banner_wrapper .focus .focus-navigation {
+  width: 66px;
+  height: 66px;
+  opacity: 0.7;
+  filter: alpha(opacity=70);
+  font-size: 0;
+}
+.banner_wrapper .focus .focus-navigation:hover {
+  opacity: 1;
+  filter: alpha(opacity=100);
+}
+.banner_wrapper .focus .focus-navigation:active {
+  opacity: 1;
+  filter: alpha(opacity=100);
+}
+.banner_wrapper .focus .focus-prev {
+  background: url("../images/botton_prev.png") no-repeat center/contain;
+}
+.banner_wrapper .focus .focus-next {
+  background: url("../images/botton_next.png") no-repeat center/contain;
+}
+.home_lay_title {
+  margin-bottom: 40px;
+  font-size: 30px;
+  color: var(--vt-c-indigo);
+  line-height: 1;
+}
+.home_lay_title span {
+  text-transform: uppercase;
+  padding-left: 10px;
+  font-weight: 100;
+  color: rgba(123, 123, 123, 1);
+}
+.home_lay_title.white {
+  color: #fff;
+}
+.home_lay_title.white span {
+  color: #fff;
+}
+.home_lay_item_box {
+  padding: 60px 0;
+}
+.news_tit {
+  font-size: 18px;
+  color: var(--vt-c-indigo);
+  line-height: 1;
+  margin-bottom: 14px;
+}
+.news_lay_box {
+  display: flex;
+}
+.news_lay_box .news_lay_item {
+  flex: 1;
+  padding: 0 70px;
+  border-right: 1px solid #e5e5e5;
+  overflow: hidden;
+}
+.news_lay_box .news_lay_item:first-child {
+  padding-left: 0;
+  flex: 2;
+  max-width: 660px;
+}
+.news_lay_box .news_lay_item:last-child {
+  border-right: none;
+  padding-right: 0;
+}
+.news_lay_box .news_lay_item .list_item {
+  padding: 18px 0;
+  font-size: 16px;
+  line-height: 28px;
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  border-bottom: 1px solid #e5e5e5;
+}
+.news_lay_box .news_lay_item .list_item img {
+  height: 390px;
+  width: 100%;
+  object-fit: cover;
+}
+.news_lay_box .news_lay_item .list_item .cover {
+  display: none;
+  height: 390px;
+  width: 100%;
+  overflow: hidden;
+}
+.news_lay_box .news_lay_item .list_item.news_1 {
+  display: block;
+}
+.news_lay_box .news_lay_item .list_item.news_1 .cover {
+  display: block;
+}
+.news_lay_box .news_lay_item .list_item.news_1 .first_date {
+  display: block;
+}
+.news_lay_box .news_lay_item .list_item.news_1 .item_date {
+  display: none;
+}
+.news_lay_box .news_lay_item .list_item .first_date {
+  display: none;
+  font-size: 16px;
+  margin: 8px 0;
+}
+.news_lay_box .news_lay_item .list_item .item_date {
+  display: block;
+}
+.news_lay_box .news_lay_item .list_item.news_1 {
+  padding-top: 0;
+  font-size: 24px;
+  line-height: 36px;
+}
+.news_lay_box .news_lay_item .list_item.news_1 .title {
+  padding-right: 0;
+  overflow: auto;
+  white-space: normal;
+}
+.news_lay_box .news_lay_item .list_item .title {
+  flex: 1;
+  padding-right: 30px;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+  overflow: hidden;
+}
+.news_lay_box .news_lay_item .s_item {
+  margin-top: 10px;
+  padding: 18px 0;
+  font-size: 16px;
+  line-height: 28px;
+  border-bottom: 1px solid #e5e5e5;
+}
+.news_lay_box .news_lay_item .s_item img {
+  height: 210px;
+  width: 100%;
+  object-fit: cover;
+}
+.news_lay_box .news_lay_item .s_item .cover {
+  display: none;
+  height: 210px;
+  width: 100%;
+  overflow: hidden;
+  margin-bottom: 10px;
+}
+.news_lay_box .news_lay_item .s_item.news_1 {
+  padding-top: 0;
+  font-size: 18px;
+}
+.news_lay_box .news_lay_item .s_item.news_1 .cover {
+  display: block;
+}
+.news_lay_box .news_lay_item .item {
+  width: 100%;
+  color: var(--vt-c-indigo);
+  cursor: pointer;
+  overflow: hidden;
+  transition: all 0.2s ease-in-out;
+}
+.news_lay_box .news_lay_item .item:hover {
+  color: var(--vt-c-primary);
+  text-decoration: underline;
+}
+.news_lay_box .news_lay_item .item:hover a {
+  color: var(--vt-c-primary);
+  text-decoration: underline;
+}
+.news_lay_box .news_lay_item .item:hover img {
+  transform: scale(1.2);
+  transition: all 0.2s ease-in-out;
+}
+.list_more {
+  margin-top: 20px;
+  text-align: center;
+}
+.list_more .more_text {
+  color: var(--vt-c-primary);
+  cursor: pointer;
+}
+
+.list_more .arrow {
+  display: inline-block;
+  margin-left: 6px;
+  width: 18px;
+  height: 18px;
+  object-fit: contain;
+  vertical-align: text-bottom;
+  background: url("../images/arrow_right_primary.png") no-repeat center/contain;
+}
+.spe_cards {
+  display: flex;
+  height: 520px;
+}
+.spe_cards .cards_item {
+  position: relative;
+  flex: 1;
+  margin: 0 1px;
+  height: 520px;
+  padding: 70px 20px 40px;
+  color: #fff;
+  box-sizing: border-box;
+  transition: all 0.3s ease-in-out;
+}
+.spe_cards .cards_item .card_icon {
+  line-height: 1;
+}
+.spe_cards .cards_item .card_icon {
+  width: 72px;
+  height: 72px;
+}
+.spe_cards .cards_item .card_icon.icon_1 {
+  background: url("../images/icon_home_specialty_1.png") no-repeat center /
+    contain;
+}
+.spe_cards .cards_item .card_icon.icon_2 {
+  background: url("../images/icon_home_specialty_2.png") no-repeat center /
+    contain;
+}
+.spe_cards .cards_item .card_icon.icon_3 {
+  background: url("../images/icon_home_specialty_3.png") no-repeat center /
+    contain;
+}
+.spe_cards .cards_item .card_icon.icon_4 {
+  background: url("../images/icon_home_specialty_4.png") no-repeat center /
+    contain;
+}
+.spe_cards .cards_item .card_icon.icon_5 {
+  background: url("../images/icon_home_specialty_5.png") no-repeat center /
+    contain;
+}
+.spe_cards .cards_item .card_tit {
+  margin-top: 20px;
+  font-size: 20px;
+  line-height: 1;
+}
+.spe_cards .cards_item .card_tit a,
+.spe_cards .cards_item .card_desc a {
+  color: #fff;
+}
+.spe_cards .cards_item .card_desc {
+  position: absolute;
+  bottom: 0;
+  left: 0;
+  width: 100%;
+  padding: 0 20px 40px;
+  opacity: 0;
+}
+.spe_cards .cards_item .card_desc .desc {
+  font-size: 14px;
+  line-height: 24px;
+}
+.spe_cards .cards_item .card_desc .more {
+  margin-top: 20px;
+}
+.spe_cards .cards_item .card_desc .more .more_text {
+  font-size: 16px;
+  color: #fff;
+}
+.spe_cards .cards_item .card_desc .more a:hover {
+  text-decoration: underline;
+}
+.spe_cards .cards_item .card_desc .more .arrow {
+  margin-left: 6px;
+  width: 18px;
+  height: 18px;
+  display: inline-block;
+  object-fit: contain;
+  vertical-align: text-bottom;
+  background: url("../images/arrow_right.png") no-repeat center/contain;
+}
+.spe_cards .cards_item.card_1 {
+  background: #343e47 url("../images/bg_home_specialty_1.png") no-repeat center /
+    cover;
+}
+.spe_cards .cards_item.card_2 {
+  background: #cb975b url("../images/bg_home_specialty_2.png") no-repeat center /
+    cover;
+}
+.spe_cards .cards_item.card_3 {
+  background: #ad947c url("../images/bg_home_specialty_3.png") no-repeat center /
+    cover;
+}
+.spe_cards .cards_item.card_4 {
+  background: #da737b url("../images/bg_home_specialty_4.png") no-repeat center /
+    cover;
+}
+.spe_cards .cards_item.card_5 {
+  background: #52a0a7 url("../images/bg_home_specialty_5.png") no-repeat center /
+    cover;
+}
+.spe_cards .cards_item:hover {
+  flex: 2;
+}
+.spe_cards .cards_item:hover .card_desc {
+  animation: fadeInUp 0.3s ease-in-out;
+  animation-fill-mode: forwards;
+}
+
+.wrapper.wrapper_teacher_bg {
+  background: linear-gradient(180deg, #f3fbf1 0%, #ffffff 100%);
+}
+/*teacher*/
+.teachers_box .teachers_swiper {
+  width: 100%;
+  display: grid;
+  gap: 24px;
+  grid-template-columns: repeat(5, 1fr);
+  height: 400px;
+}
+/* .teachers_box .teachers_swiper .teacher_slide {
+   width: 370px; 
+} */
+.teachers_box .teacher_item {
+  width: 100%;
+  height: 400px;
+  position: relative;
+  overflow: hidden;
+}
+.teachers_box .teacher_item img {
+  width: 100%;
+  height: 100%;
+  object-fit: cover;
+  transition: all 0.3s ease-in-out;
+}
+.teachers_box .teacher_item:hover .item_footer {
+  transform: translateY(0);
+}
+.teachers_box .teacher_item:hover img {
+  transform: scale(1.2);
+}
+.teachers_box .teacher_item .item_footer {
+  position: absolute;
+  display: inline-flex;
+  flex-direction: column;
+  justify-content: flex-end;
+  bottom: 0;
+  left: 0;
+  width: 100%;
+  height: 140px;
+  padding: 0 24px 20px;
+  transform: translateY(100%);
+  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, #000000 100%);
+  transition: all 0.3s ease-in-out;
+}
+.teachers_box .teacher_item .name a {
+  color: #fff;
+  font-size: 18px;
+  font-weight: 600;
+}
+
+.tabs_header {
+  display: flex;
+  align-items: center;
+  margin-bottom: 40px;
+}
+.tabs_header .home_lay_title {
+  margin-bottom: 0;
+}
+.tabs_header .tabs_nav_list {
+  flex: 1;
+  position: relative;
+  display: flex;
+  align-self: stretch;
+  overflow: hidden;
+  white-space: nowrap;
+  justify-content: flex-end;
+}
+.tabs_header .tabs_nav_list .list_item {
+  position: relative;
+  padding: 14px 0;
+  font-size: 18px;
+  color: rgba(0, 0, 0, 0.8);
+  cursor: pointer;
+}
+.works_tab .tabs_header .tabs_nav_list .list_item {
+  color: rgba(255, 255, 255, 0.8);
+}
+.tabs_header .tabs_nav_list .list_item.selected {
+  color: #000;
+}
+.works_tab .tabs_header .tabs_nav_list .list_item.selected {
+  color: #fff;
+}
+.tabs_header .tabs_nav_list .list_item.selected::after {
+  position: absolute;
+  content: "";
+  bottom: 0;
+  left: 50%;
+  -webkit-transform: translateX(-50%);
+  -ms-transform: translateX(-50%);
+  transform: translateX(-50%);
+  width: 28px;
+  height: 2px;
+  background-color: var(--vt-c-primary);
+}
+.works_tab .tabs_header .tabs_nav_list .list_item.selected::after {
+  background-color: #fff;
+}
+.tabs_header .tabs_nav_list .list_item + .list_item {
+  margin-left: 30px;
+}
+.tab_list {
+  display: grid;
+  grid-template-columns: repeat(4, 1fr);
+  gap: 24px;
+}
+.tab_list .list_item,
+.page_article_list .list_item {
+  width: 100%;
+  background-color: #fff;
+  overflow: hidden;
+  position: relative;
+}
+.tab_list .list_item .item,
+.page_article_list .list_item .item {
+  position: relative;
+  display: block;
+  border-bottom: 2px solid rgba(159, 159, 159, 0.5);
+  cursor: pointer;
+}
+.tab_list .list_item .item::before,
+.page_article_list .list_item .item::before {
+  content: "";
+  position: absolute;
+  bottom: 0;
+  right: 0;
+  border-width: 6px;
+  border-style: solid;
+  border-color: transparent rgba(159, 159, 159, 0.5) rgba(159, 159, 159, 0.5)
+    transparent;
+}
+.tab_list .list_item .item::after,
+.page_article_list .list_item .item::after {
+  content: "";
+  position: absolute;
+  bottom: -2px;
+  right: 0;
+  width: 0;
+  height: 2px;
+  background-color: var(--vt-c-primary);
+  transition: width 0.3s ease-in-out;
+}
+.tab_list .list_item .item:hover::before,
+.page_article_list .list_item .item:hover::before {
+  border-color: transparent var(--vt-c-primary) var(--vt-c-primary) transparent;
+}
+.tab_list .list_item .item:hover::after,
+.page_article_list .list_item .item:hover::after {
+  width: 100%;
+}
+.tab_list .list_item .item:hover img,
+.page_article_list .list_item .item:hover img {
+  transform: scale(1.2);
+}
+.tab_list .list_item .list_img {
+  width: 100%;
+  height: 390px;
+  overflow: hidden;
+}
+.tab_list .list_item img {
+  width: 100%;
+  height: 390px;
+  object-fit: cover;
+  transition: all 0.3s ease-in-out;
+}
+.tab_list .list_item .info_box {
+  padding: 20px 18px;
+}
+.tab_list .list_item .item_tit {
+  height: 56px;
+  font-size: 20px;
+  line-height: 28px;
+  color: var(--vt-c-indigo);
+  overflow: hidden;
+}
+.tab_list .list_item .item_desc {
+  height: 72px;
+  overflow: hidden;
+  margin-top: 20px;
+  font-size: 16px;
+  line-height: 24px;
+  font-weight: 400;
+  color: #666666;
+  word-break: break-all;
+}
+.tab_list .list_item .item_date {
+  font-size: 14px;
+  margin-top: 30px;
+  font-weight: 300;
+  color: #999999;
+}
+.page_article_list .list_img {
+  width: 100%;
+  height: 280px;
+  overflow: hidden;
+}
+.page_article_list img {
+  width: 100%;
+  height: 280px;
+  object-fit: cover;
+  transition: all 0.3s ease-in-out;
+}
+.page_article_list .info_box {
+  padding: 16px 12px;
+}
+.page_article_list .item_tit {
+  height: 56px;
+  font-size: 16px;
+  line-height: 24px;
+  color: #333333;
+  overflow: hidden;
+}
+.page_article_list .item_desc {
+  height: 60px;
+  margin-top: 16px;
+  font-size: 12px;
+  line-height: 20px;
+  font-weight: 400;
+  color: #666666;
+  overflow: hidden;
+  word-break: break-all;
+}
+.page_article_list .item_date {
+  font-size: 12px;
+  margin-top: 18px;
+  font-weight: 300;
+  color: #999999;
+}
+
+.research_bg {
+  background: url("../images/bg_research.png") no-repeat center top/100% auto;
+}
+.teach_bg {
+  position: relative;
+}
+.talent_tab {
+  position: relative;
+  z-index: 2;
+}
+.teach_bg::after {
+  position: absolute;
+  content: "";
+  right: 0;
+  top: 40%;
+  width: 40%;
+  height: 200px;
+  background-color: rgba(53, 152, 107, 0.1);
+}
+.work_bg {
+  background: url("../images/bg_works.png") no-repeat center top/100% auto;
+}
+.works_tab .tab_list .list_item {
+  height: 388px;
+}
+.works_tab .tab_list .list_item .item_link {
+  display: block;
+  position: relative;
+  width: 100%;
+  height: 100%;
+  overflow: hidden;
+  cursor: pointer;
+}
+.works_tab .tab_list .list_item .item_link .item_txt {
+  position: absolute;
+  left: 0;
+  bottom: 0;
+  padding: 30px 40px;
+  width: 100%;
+  color: #fff;
+  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, #000000 100%);
+  opacity: 0;
+  overflow: hidden;
+}
+.works_tab .tab_list .list_item .item_link .item_txt .name {
+  font-size: 20px;
+  font-weight: 600;
+  width: 100%;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+}
+.works_tab .tab_list .list_item .item_link .item_txt .name a {
+  color: #fff;
+}
+.works_tab .tab_list .list_item .item_link:hover img {
+  transform: scale(1.2);
+}
+.works_tab .tab_list .list_item .item_link:hover .item_txt {
+  animation: fadeInUp 0.3s ease-in-out;
+  animation-fill-mode: forwards;
+}
+.works_tab .tab_list .list_item img {
+  width: 100%;
+  height: 100%;
+  object-fit: cover;
+  transition: all 0.3s ease-in-out;
+}
+@keyframes fadeInUp {
+  from {
+    opacity: 0;
+    transform: translate3d(0, 100%, 0);
+  }
+
+  to {
+    opacity: 1;
+    transform: translate3d(0, 0, 0);
+  }
+}
+.services_bg {
+  position: relative;
+}
+.services_bg::after {
+  position: absolute;
+  content: "";
+  left: 0;
+  top: 40%;
+  width: 60%;
+  height: 200px;
+  background-color: rgba(53, 152, 107, 0.1);
+}
+.service_list {
+  position: relative;
+  display: grid;
+  grid-template-columns: repeat(3, 1fr);
+  gap: 24px;
+  z-index: 2;
+}
+.service_list .ser_item {
+  background-color: #fff;
+}
+.service_list .ser_item a {
+  padding: 30px 50px;
+  display: flex;
+  align-items: center;
+  color: var(--vt-c-indigo);
+}
+.service_list .ser_item a .ser_icon {
+  padding-right: 40px;
+  border-right: 1px solid #d3d9de;
+}
+.service_list .ser_item a .ser_icon img {
+  width: 108px;
+  height: 108px;
+  object-fit: contain;
+}
+.service_list .ser_item a .ser_tit {
+  flex: 1;
+  font-size: 24px;
+  padding-left: 40px;
+}
+.service_list .ser_item a .ser_tit p {
+  margin: 0;
+}
+.service_list .ser_item a .ser_tit .desc {
+  margin-top: 20px;
+  font-size: 16px;
+  line-height: 20px;
+  color: #999;
+}
+.service_list .ser_item a:hover .ser_icon img {
+  animation: heartBeat 2s ease-in-out infinite;
+}
+
+@keyframes heartBeat {
+  0% {
+    transform: scale(1);
+  }
+
+  14% {
+    transform: scale(1.2);
+  }
+
+  28% {
+    transform: scale(1);
+  }
+
+  42% {
+    transform: scale(1.2);
+  }
+
+  70% {
+    transform: scale(1);
+  }
+}
+.footer_layout .footer_fix_link {
+  position: fixed;
+  right: 0;
+  top: 50%;
+  z-index: 9;
+}
+.footer_layout .top_btn {
+  display: none;
+  position: fixed;
+  right: 0;
+  bottom: 40px;
+  z-index: 9;
+  cursor: pointer;
+}
+.footer_layout .top_btn img {
+  width: 40px;
+  height: 40px;
+  object-fit: contain;
+}
+.footer_layout .footer_fix_link .link_vertical {
+  display: inline-flex;
+  flex-direction: column;
+}
+.footer_layout .footer_fix_link a {
+  display: inline-flex;
+  align-items: center;
+  justify-content: center;
+  color: #fff;
+  writing-mode: vertical-lr;
+  width: 40px;
+  height: 105px;
+}
+.footer_layout .footer_fix_link .xihua_link {
+  background: url("../images/bg_links_1.png") no-repeat center / 100%;
+}
+.footer_layout .footer_fix_link .index_link {
+  margin-top: 24px;
+  background: url("../images/bg_links_2.png") no-repeat center / 100%;
+}
+.footer_layout .lay_footer {
+  background-color: #454847;
+}
+.footer_layout .lay_footer .footer_menu {
+  padding: 100px 140px;
+  display: flex;
+}
+.footer_layout .lay_footer .footer_menu .logo {
+  padding-right: 75px;
+  border-right: 1px solid rgba(112, 112, 112, 0.5);
+}
+.footer_layout .lay_footer .footer_menu .logo .footer_logo img {
+  height: 65px;
+  object-fit: contain;
+}
+.footer_layout .lay_footer .footer_menu .logo .footer_tips {
+  margin-top: 88px;
+}
+.footer_layout .lay_footer .footer_menu .logo .footer_tips img {
+  height: 38px;
+  object-fit: contain;
+}
+.footer_layout .lay_footer .footer_menu .logo .contact_view {
+  margin-top: 90px;
+  color: #ffffff;
+  font-size: 14px;
+}
+.footer_layout .lay_footer .footer_menu .logo .contact_view p {
+  margin-top: 18px;
+}
+.footer_layout .lay_footer .footer_menu .logo .contact_view .title {
+  font-size: 18px;
+  margin-top: 0;
+}
+.footer_layout .lay_footer .footer_menu .logo .contact_view .qrcode {
+  margin-top: 35px;
+}
+.footer_layout .lay_footer .footer_menu .logo .contact_view .qrcode img {
+  height: 120px;
+  object-fit: contain;
+}
+.footer_layout .lay_footer .footer_menu .menus .wp-menu {
+  flex: 1;
+  padding: 30px 0 0 75px;
+  display: grid;
+  gap: 40px;
+  grid-template-columns: repeat(5, 1fr);
+}
+.footer_layout .lay_footer .footer_menu .menus .menu-link {
+  font-size: 18px;
+  color: #ffffff;
+}
+.footer_layout .lay_footer .footer_menu .menus .sub-link {
+  margin-top: 18px;
+  display: block;
+  font-size: 14px;
+  color: rgba(255, 255, 255, 0.5);
+}
+.footer_layout .lay_footer .footer_menu .menus .sub-link:hover {
+  color: #ffffff;
+}
+.footer_layout .lay_footer .footer_menu .menus .sub-menu {
+  margin-top: 20px;
+}
+.footer_layout .copyright {
+  padding: 28px 20px;
+  font-size: 12px;
+  line-height: 1.5;
+  text-align: center;
+  background-color: #242424;
+  color: rgba(255, 255, 255, 0.6);
+}
+.page_title_box {
+  position: relative;
+  height: 500px;
+  background-position: center center;
+  background-repeat: no-repeat;
+  background-size: cover;
+}
+.page_title_box img {
+  display: none;
+}
+.page_title_box::after {
+  content: "";
+  position: absolute;
+  bottom: 0;
+  left: 0;
+  width: 100%;
+  height: 220px;
+  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, #000000 100%);
+  opacity: 0.7;
+  z-index: 1;
+}
+.page_title_box .title {
+  position: relative;
+  height: 100%;
+  display: flex;
+  flex-direction: column;
+  justify-content: flex-end;
+  padding-bottom: 28px;
+  z-index: 2;
+}
+.page_title_box .title h1 {
+  font-size: 36px;
+  font-weight: 400;
+  margin-bottom: 16px;
+  color: #fff;
+}
+.page_title_box .title h2 {
+  margin-bottom: 0;
+  height: 1em;
+  font-size: 14px;
+  font-weight: 300;
+  color: #fff;
+}
+.content_wrapper {
+  padding: 100px 0 50px;
+}
+.article h1.arti_title {
+  line-height: 36px;
+  font-family: "Microsoft YaHei";
+  font-size: 24px;
+  text-align: center;
+  color: var(--vt-c-primary);
+} /**文章标题**/
+.article h2.arti_title {
+  line-height: 34px;
+  font-family: "Microsoft YaHei";
+  font-size: 16px;
+  text-align: center;
+  color: var(--vt-c-text-light-2);
+} /**文章副标题**/
+.article .arti_metas {
+  padding: 10px;
+  text-align: center; /* border-top:1px solid #ececec; */
+}
+.article .arti_metas span {
+  margin: 0 5px;
+  font-size: 12px;
+  color: #787878;
+} /**文章其他属性**/
+.article .entry {
+  margin: 0 auto;
+  overflow: hidden;
+  margin-top: 30px;
+} /**文章内容**/
+.article .entry .read,
+.page_article_box .wp_entry {
+  font-size: 14px;
+  line-height: 1.5;
+}
+.article .entry .read p,
+.page_article_box .wp_entry p {
+  margin-bottom: 1em;
+}
+.article .entry .read img,
+.page_article_box .wp_entry img {
+  margin: 0 auto;
+  max-width: 100%;
+} /**文章阅读部分图片大小限制**/
+.article .entry .read table,
+.page_article_box .wp_entry table {
+  border: none !important;
+}
+.article .entry .read table td {
+  background-color: transparent;
+}
+.page_tabs_box {
+  position: relative;
+  background-color: #fff;
+}
+
+.page_tabs_box .page_tab_list {
+  position: relative;
+  display: flex;
+  justify-content: center;
+  flex-wrap: wrap;
+  align-items: center;
+  width: 100%;
+}
+.page_tabs_box .page_tab_list .page_list_item {
+  flex-shrink: 0;
+}
+.page_tabs_box .page_tab_list .page_list_item.selected .sub_list,
+.page_tabs_box .page_tab_list .page_list_item.parent .sub_list {
+  display: flex;
+}
+.page_tabs_box .page_tab_list .page_list_item .sub_list {
+  display: none;
+  position: absolute;
+  top: 56px;
+  left: 0;
+  width: 100%;
+}
+.page_tabs_box .page_tab_list .sub_list {
+  display: flex;
+  padding: 20px 20px 10px;
+  flex-wrap: wrap;
+  justify-content: center;
+  align-items: center;
+}
+.page_tab_list .sub_list .sub_item {
+  margin-right: 10px;
+  margin-bottom: 10px;
+  flex-shrink: 0;
+}
+.page_tab_list .sub_list .sub_item:first-child {
+  margin-left: 0;
+}
+.page_tab_list .sub_list .sub_item .sub_item_link {
+  display: block;
+  padding: 6px 10px;
+  color: #666;
+  border: 1px solid #666;
+  border-radius: 2px;
+}
+.page_tab_list .sub_list .sub_item .sub_item_link:hover,
+.page_tab_list .sub_list .sub_item .sub_item_link.selected {
+  color: #fff;
+  background-color: var(--vt-c-primary);
+  border-color: var(--vt-c-primary);
+}
+.page_tabs_box .page_tab_list .page_list_item .item_link {
+  position: relative;
+  display: inline-block;
+  padding: 20px 10px;
+  color: #666;
+  font-size: 16px;
+  white-space: nowrap;
+}
+.page_tabs_box .page_tab_list .page_list_item .item_link::after {
+  content: "";
+  position: absolute;
+  bottom: 0;
+  left: 50%;
+  -webkit-transform: translateX(-50%);
+  -ms-transform: translateX(-50%);
+  transform: translateX(-50%);
+  width: 0;
+  border-bottom: 2px solid var(--vt-c-primary);
+}
+.page_tabs_box .page_tab_list .page_list_item .item_link.selected,
+.page_tabs_box .page_tab_list .page_list_item .item_link.parent {
+  font-weight: 500;
+  color: #333;
+  background-color: #f0f2f5;
+}
+.page_tabs_box .page_tab_list .page_list_item .item_link.selected::after,
+.page_tabs_box .page_tab_list .page_list_item .item_link.parent::after {
+  min-width: 50px;
+  width: 50%;
+}
+.page_tabs_box .page_tab_list .page_list_item + .page_list_item {
+  margin-left: 30px;
+}
+
+.page_article_list,
+.page_teacher_list {
+  display: grid;
+  gap: 18px;
+  grid-template-columns: repeat(4, 1fr);
+}
+.page_teacher_list {
+  width: 100%;
+  overflow: hidden;
+}
+.page_teacher_list .item {
+  display: block;
+  width: 100%;
+  height: 380px;
+  position: relative;
+  overflow: hidden;
+}
+.page_teacher_list .item img {
+  width: 100%;
+  height: 100%;
+  object-fit: cover;
+  transition: all 0.3s ease-in-out;
+}
+.page_teacher_list .item:hover .item_footer {
+  transform: translateY(0);
+}
+.page_teacher_list .item:hover img {
+  transform: scale(1.2);
+}
+.page_teacher_list .item .item_footer {
+  position: absolute;
+  display: inline-flex;
+  flex-direction: column;
+  justify-content: flex-end;
+  bottom: 0;
+  left: 0;
+  width: 100%;
+  height: 140px;
+  padding: 0 24px 20px;
+  transform: translateY(100%);
+  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, #000000 100%);
+  transition: all 0.3s ease-in-out;
+}
+.page_teacher_list .item .name a {
+  color: #fff;
+  font-size: 18px;
+  font-weight: 600;
+}
+.page_def_list .item {
+  position: relative;
+  background-color: #fff;
+  margin-bottom: 1px;
+}
+.page_def_list .item a {
+  position: relative;
+  z-index: 2;
+  display: block;
+  width: 100%;
+  font-size: 16px;
+  padding: 20px 48px 20px 24px;
+  overflow: hidden;
+}
+.page_def_list .item .arrow {
+  position: absolute;
+  right: 24px;
+  top: 50%;
+  width: 24px;
+  height: 24px;
+  transform: translateY(-50%);
+  display: inline-block;
+  background: url("../images/arrow_right_primary.png") no-repeat center/contain;
+}
+.header_btns {
+  display: flex;
+  align-items: center;
+}
+.search_box {
+  position: relative;
+  padding-left: 20px;
+}
+.search_box .wp-search {
+  display: block;
+  position: absolute;
+  top: -50%;
+  right: 30px;
+  width: 0;
+  height: 50px;
+  background-color: #fff;
+  overflow: hidden;
+}
+
+.search_box .wp-search .form_box {
+  width: 100%;
+  display: flex;
+  align-items: center;
+}
+.search_box .wp-search .form_box .search-input {
+  flex: 1;
+}
+.search_box .wp-search .form_box .search-input input {
+  display: inline-block;
+  line-height: 1.5;
+  width: 100%;
+  padding: 6px 14px;
+  color: rgba(0, 0, 0, 0.85);
+  font-size: 14px;
+  background-color: transparent;
+  border: 1px solid #d9d9d9;
+  border-radius: 2px 0 0 2px;
+  transition: all 0.3s;
+}
+.search_box .wp-search .form_box .search-btn input {
+  background-color: var(--vt-c-primary);
+  color: #fff;
+  line-height: 1.5;
+  font-size: 14px;
+  padding: 6px 20px;
+  border: 1px solid var(--vt-c-primary);
+  border-radius: 0 2px 2px 0;
+  cursor: pointer;
+}
+.search_box .search_icon {
+  display: block;
+  width: 20px;
+  height: 20px;
+  background: url("../images/icon_search.png") no-repeat center/contain;
+  cursor: pointer;
+}
+.search_box .search_icon.close {
+  background: url("../images/icon_close.png") no-repeat center/contain;
+}
+.page_article_box .wp_paging {
+  margin-top: 20px;
+  float: none;
+  text-align: center;
+}
+.page_article_box .wp_paging li {
+  float: none;
+}

+ 242 - 0
xihuaTemplate/displayinfo.htm

@@ -0,0 +1,242 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset="utf-8" />
+    <meta name="renderer" content="webkit" />
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
+    <meta
+      name="viewport"
+      content="width=device-width,user-scalable=0,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0"
+    />
+    <title>西华大学美术与设计学院</title>
+    <link rel="shortcut icon " type="images/x-icon" href="favicon.ico" />
+    <meta
+      name="keywords"
+      content="美术系、动画系、工业设计系、视觉传达设计系、环境设计系"
+    />
+    <meta
+      name="description"
+      content="西华大学美术与设计学院主要是由原西华大学艺术学院的美术系、工业设计系、视觉传达设计系、环境设计系与动画系于2016年12月组建而成。原西华大学艺术学院美术系的前身是原成都师范高等专科学校美术系,1993年开始招收美术教育专科,1995年开始招收工艺美术专科,2003年西华大学组建后更名为“西华大学艺术学院美术系”并开始招收美术学专业本科。"
+    />
+    <script type="text/javascript" src="./extends/extends.js"></script>
+    <script type="text/javascript" src="./js/iscroll.js"></script>
+    <link rel="stylesheet" href="./css/reset.css" type="text/css" />
+    <link rel="stylesheet" href="./css/style.css" type="text/css" />
+    <link rel="stylesheet" href="./css/media.css" type="text/css" />
+    <!--[if lt IE 9]>
+      <script src="extends/libs/html5.js"></script>
+    <![endif]-->
+  </head>
+  <body class="list">
+    <!--Start||head-->
+    <div class="wrapper header_wapper">
+      <div class="header_layout">
+        <div class="header_logo">
+          <div>
+            <a href="/">
+              <img src="./images/logo_header.png" alt="logo" />
+            </a>
+          </div>
+        </div>
+        <div class="header_menu">
+          <div class="nav wp-navi">
+            <div class="wp-panel">
+              <div class="wp-window" frag="窗口2">
+                <div frag="窗口内容">
+                  <!--[NaviStructBegin]-->
+                  <ul class="wp-menu">
+                    <!--[NaviItemCycleBegin]-->
+                    <li class="menu-item">
+                      <a class="menu-link" href="{栏目URL}" target="{打开方式}"
+                        >{栏目名称}</a
+                      >
+                      <!--[MenuStructBegin]-->
+                      <em class="menu-switch-arrow"></em>
+                      <ul class="sub-menu">
+                        <!--[MenuItemCycleBegin]-->
+                        <li class="sub-item">
+                          <a
+                            class="sub-link"
+                            href="{栏目URL}"
+                            target="{打开方式}"
+                            >{栏目名称}</a
+                          ><!--[SubMenuList]-->
+                        </li>
+                        <!--[MenuItemCycleEnd]-->
+                      </ul>
+                      <!--[MenuStructEnd]-->
+                    </li>
+
+                    <!--[NaviItemCycleEnd]-->
+                  </ul>
+                  <!--[NaviStructEnd]-->
+                </div>
+              </div>
+            </div>
+          </div>
+        </div>
+        <div class="header_btns">
+          <div class="search_box" frag="窗口112">
+            <div frag="窗口内容">
+              <!--搜索组件-->
+              <div class="wp-search">
+                <form action="搜索地址" method="post" target="_blank">
+                  <div class="form_box">
+                    <div class="search-input">
+                      <input
+                        name="keyword"
+                        type="text"
+                        placeholder="请输入关键词..."
+                      />
+                    </div>
+                    <div class="search-btn">
+                      <input
+                        name="submit"
+                        class="search-submit"
+                        type="submit"
+                        value="搜索"
+                      />
+                    </div>
+                  </div>
+                </form>
+              </div>
+              <!--//复制以上代码到自定义搜索-->
+            </div>
+            <div class="search_icon"></div>
+          </div>
+          <div class="mobile_menu">
+            <div class="mobile_menu_taggle">
+              <img src="./images/menu.png" alt="button" />
+            </div>
+          </div>
+        </div>
+      </div>
+    </div>
+    <!--End||head-->
+
+    <!--aside导航-->
+    <div class="wp-navi-aside" id="wp-navi-aside">
+      <div class="aside-inner">
+        <div class="navi-aside-wrap"></div>
+      </div>
+      <div class="navi-aside-mask"></div>
+    </div>
+
+    <!--Start||focus-->
+    <div
+      class="header_btm_wrapper"
+      frag="窗口3"
+      portletmode="simpleColumnAttri"
+    >
+      <div frag="窗口内容">
+        <div class="page_title_box">
+          <img src="{栏目图片URL}" data-imgsrc="./images/banner.png" />
+        </div>
+      </div>
+    </div>
+
+    <!--End||focus-->
+    <!--Start||content-->
+    <div class="wrapper">
+      <div class="detail_inner">
+        <div
+          class="content_wrapper article"
+          frag="窗口4"
+          portletmode="simpleArticleAttri"
+        >
+          <div frag="窗口内容">
+            <h1 class="arti_title">{标题}</h1>
+            <h2 class="arti_title">{副标题}</h2>
+            <p class="arti_metas">
+              <span class="arti_publisher">发布者:{发布者}</span
+              ><span class="arti_update">发布时间:{发布时间}</span
+              ><span class="arti_views">浏览次数:{动态浏览次数}</span>
+            </p>
+            <div class="entry">
+              <div class="read">{内容}</div>
+            </div>
+          </div>
+        </div>
+      </div>
+    </div>
+    <!--End||content-->
+    <!--Start||footer-->
+    <div class="footer_layout">
+      <div class="footer_fix_link">
+        <div>
+          <div class="link_vertical">
+            <a class="xihua_link" href="http://www.xhu.edu.cn/" target="_blank">
+              西华主页
+            </a>
+            <a class="index_link" href="/"> 学院主页 </a>
+          </div>
+        </div>
+      </div>
+      <div class="top_btn" id="gotop">
+        <img src="./images/arrow_top.png" />
+      </div>
+      <div class="lay_footer wrapper">
+        <div class="inner footer_menu">
+          <div class="logo">
+            <div class="footer_logo">
+              <img src="./images/logo_footer.png" />
+            </div>
+            <div class="footer_tips">
+              <img src="./images/footer_tips.png" />
+            </div>
+            <div class="contact_view">
+              <p class="title">关注我们</p>
+              <p>电话(传真):028-87723068</p>
+              <p>招生就业咨询:028-87721839</p>
+              <p>中国•四川•成都市 西华大学 艺术大楼( 610039 )</p>
+              <p class="qrcode">
+                <img src="./images/footer_qrcode.png" />
+              </p>
+            </div>
+          </div>
+
+          <div class="menus wp-window" frag="窗口6">
+            <div frag="窗口内容">
+              <!--[NaviStructBegin]-->
+              <ul class="wp-menu">
+                <!--[NaviItemCycleBegin]-->
+                <li class="menu-item">
+                  <a class="menu-link" href="{栏目URL}" target="{打开方式}"
+                    >{栏目名称}</a
+                  >
+                  <!--[MenuStructBegin]-->
+                  <ul class="sub-menu">
+                    <!--[MenuItemCycleBegin]-->
+                    <li class="sub-item">
+                      <a class="sub-link" href="{栏目URL}" target="{打开方式}"
+                        >{栏目名称}</a
+                      ><!--[SubMenuList]-->
+                    </li>
+                    <!--[MenuItemCycleEnd]-->
+                  </ul>
+                  <!--[MenuStructEnd]-->
+                </li>
+
+                <!--[NaviItemCycleEnd]-->
+              </ul>
+              <!--[NaviStructEnd]-->
+            </div>
+          </div>
+        </div>
+      </div>
+      <div class="copyright">
+        版权所有 2007-2023 西华大学美术与艺术学院 Copyright © 2007-2023 CAFA.
+        All Rights Reserved.
+      </div>
+    </div>
+    <!--End||footer-->
+  </body>
+  <script type="text/javascript" src="./js/list.js"></script>
+  <script type="text/javascript" src="./js/app.js"></script>
+  <script type="text/javascript">
+    $(function () {
+      // 初始化SDAPP
+      new SDAPP();
+    });
+  </script>
+</html>

+ 75 - 0
xihuaTemplate/extends/extends.css

@@ -0,0 +1,75 @@
+@charset "utf-8";
+/* CSS Document */
+.focus-box {  background-position:center; position:relative; font-family:'\5b8b\4f53'; }
+.focus-container { overflow:hidden; position:relative; visibility:hidden;}
+.focus-container .focus-item { position:absolute; width:100%; height: 100%; left:0; top:0; overflow: hidden;}
+.focus-container .focus-item img { width: 100%; height: 100%; border:0; vertical-align: top;}
+.focus-title-bar {position:absolute;left: 50%;bottom: 34px;z-index: 40;width: 100%;height: 40px;margin-left: -550px;}
+.focus-title-bg { width: 100%; height: 100%; background-color: #000; opacity: 0.7; filter:alpha(opacity=70);}
+.focus-title {display: inline-block;white-space: nowrap;height: 40px;line-height: 40px;margin: 0px; padding: 0 15px;color: #fff;font-size: 16px;font-weight:normal;font-family:"Microsoft YaHei";position: absolute;left: 0;top: 0;z-index: 50;}
+.focus-title a,.focus-text a {color: #fff; text-decoration: none;}
+.focus-title a:hover,.focus-text a:hover { color: #e5e5e5; text-decoration: none;}
+.focus-text-box { position:absolute; left:30px; top:10px; z-index: 20; width: 40%; height: 100px;}
+.focus-text-bg { width: 100%; height: 100%; background-color: #000; opacity: 0.7; filter:alpha(opacity=70);}
+.focus-text-inner { position: absolute; left: 0; top: 0; z-index: 30; height: 100%; overflow: hidden;}
+.focus-text{  padding:10px; line-height: 1.5; color: #fff; font-size: 13px; }
+.focus-navigation { display:block; width:30px; text-align:center; height:50px; line-height:50px; background:#000; text-decoration: none; color:#fff; font-size:30px; font-weight:bold; text-decoration: none; cursor:pointer; position:absolute; top:50%; margin-top:-25px; z-index: 50; opacity: 0.7; filter:alpha(opacity=70);}
+.focus-navigation:hover { font-size: 30px; font-weight: bold; color: #fff; text-decoration: none;}
+.focus-navigation:active {opacity: 1; filter:alpha(opacity=100);}
+.focus-prev { left:0px;}
+.focus-next { right:0px;}
+.focus-pagination {position:absolute;right:10px;bottom: 10px;z-index:60;height:20px;text-align:right;}
+.focus-page { display:inline-block; width:10px; height:10px; line-height:10px; text-align:center; font-size:12px; text-decoration: none; font-family:Arial, Helvetica, sans-serif; overflow:hidden; border-radius:5px; background-color:#999; color:#fff; margin-right:5px; cursor:pointer;}
+.focus-page span { display: none;}
+.focus-page:hover { text-decoration: none; font-size: 12px; color: #fff; font-weight: bold; }
+.focus-page-active { background-color:#ff4019;}
+
+/* sudyExtend */
+/**选择菜单**/
+.sudy-select { display:inline-block; position:relative; z-index:100;}
+.sudy-select .select-name { display:inline-block; line-height:24px; padding:0 22px 0 5px; background:url(images/arrow01_down.gif) no-repeat right 50%; border:1px solid #CCC; cursor:pointer;}
+.select-down .select-name { background-image:url(images/arrow01_up.gif);}
+.select-down .select-open { background-image:url(images/arrow01_down.gif);}
+.select-up .select-name { background-image:url(images/arrow01_down.gif);}
+.select-up .select-open { background-image:url(images/arrow01_up.gif);}
+.sudy-select .select-list { border:1px solid #999; position:absolute; left:0; background-color:#fff; display:none; z-index:100; z-index:100; _margin-top:_2px;}
+.sudy-select .select-list li { line-height:24px; cursor:pointer; white-space:nowrap;}
+.sudy-select .select-list li.hover { background-color:#06C; color:#fff;}
+
+/**日历**/
+.sudy-pubdate { width:42px; height:42px; border-radius:5px; overflow:hidden; background-color:#f2f2f2; border:1px solid #8d1212;}
+.sudy-pubdate span { display:block; width:100%; font-family:Tahoma, Geneva, sans-serif; font-size:14px; font-weight:bold; text-align:center;}
+.sudy-pubdate span.pubdate-month { height:20px; line-height:20px; font-size:16px; color:#fff; border-bottom:1px solid #999; background-color:#C00;}
+.sudy-pubdate span.pubdate-day { height:20px; border-top:1px solid #e5e5e5; background-color:#f2f2f2;}
+
+/**选项卡**/
+.sudy-tab {}
+.sudy-tab .tab-menu { height:24px; border-bottom:1px solid #ccc;}
+.sudy-tab .tab-menu li { display:inline-block; height:24px; line-height:24px; float:left; font-size:14px; font-weight:bold; color:#333; padding:0 10px; border-radius:5px 5px 0 0; cursor:default;}
+.sudy-tab .tab-menu li.selected { background-color:#06C; color:#fff;}
+
+/**输入框提示**/
+.sudy-input {display:inline-block; _display:inline; position:relative; font-family:Tahoma, Geneva, sans-serif; vertical-align:top;}
+.sudy-input input,.sudy-input textarea { display:inline-block; height:17px; line-height:17px; color:#333; font-size:13px; vertical-align:top; padding:3px; background-color:#fff; border:1px solid #ccc; outline:none; border-radius:3px; overflow:hidden;}
+.sudy-input textarea { height:85px;}
+.sudy-input .tip { display:block; height:25px; line-height:25px; color:#888; font-size:13px; position:absolute; left:10px; top:0;}
+
+/**链接菜单**/
+.sudy-links { display:inline-block; }
+.sudy-links .links-name { display:inline-block; font-weight:bold; line-height:24px; padding:0 20px 0 5px; background:#fff url(images/arrow.png) no-repeat right 50%; border:1px solid #444; cursor:default;}
+.sudy-links .wrap-open { }
+.sudy-links .links-wrap { overflow:hidden; white-space:nowrap; border:1px solid #444; padding:3px 0; background-color:#fff; line-height:1.7; position:absolute; display:none; left:0; bottom:25px; z-index: 10000;}
+.sudy-links .links-wrap a { display:block; padding:0 10px;}
+.sudy-links .links-wrap a:hover { color:#fff; background-color:#1e90ff;}
+
+/**scroll滚动**/
+.sudy-scroll { position:relative;}
+.sudy-scroll-wrap { position:relative; left:0; top:0; overflow:hidden;}
+.sudy-scroll-nav .nav-prev,.sudy-scroll-nav .nav-next { display:block; width:20px; height:24px; text-align:center; line-height:24px; font-size:18px; font-family:Tahoma, Geneva, sans-serif; color:#fff; background:#666; cursor:pointer; position:absolute; top:50%; margin-top:-12px; z-index:100;}
+.sudy-scroll-nav .nav-prev:active,.sudy-scroll-nav .nav-next:active { background:#454545;}
+.sudy-scroll-nav .nav-next { right:-22px;}
+.sudy-scroll-nav .nav-prev { left:-22px;}
+.sudy-scroll-page { width:100%; height:10px; text-align:center; position:absolute; left:0; bottom:-15px; z-index:100;}
+.sudy-scroll-page .page-index { display:inline-block; width:10px; height:10px; border-radius:5px; overflow:hidden; background:#666; margin:0 3px;}
+.sudy-scroll-page .active { background:#F30}
+.sudy-scroll-page .page-index span { display:none;}

+ 9 - 0
xihuaTemplate/extends/extends.js

@@ -0,0 +1,9 @@
+/*
+** basic extends for sudy
+ */
+function runJs(a){var b=document.createElement("script");b.type="text/javascript",b.text=a;var c=document.getElementsByTagName("body");c.length?c[0].appendChild(b):document.documentElement.appendChild(b)}function loadJs(a){var b=document.createElement("script");b.type="text/javascript",b.src=a;var c=document.getElementsByTagName("head");c.length?c[0].appendChild(b):document.documentElement.appendChild(b)}function Imgpd(a,b,c,d){this.title=a,this.url=b,this.text=c,this.src=d}function getImgJson(p){var imgJson=[];if("undefined"!==eval("typeof imgText"+p)){eval("var title = imgText"+p+", url = imgLink"+p+", text = imgContent"+p+", img = imgUrl"+p+";");var i;for(i=1;i<title.length;i++)imgJson[i-1]=new Imgpd(title[i],url[i],text[i],img[i])}else"undefined"!==eval("typeof w"+p+"imgJsons")&&eval("imgJson = w"+p+"imgJsons");return imgJson}
+
+/*
+** load jquery and jquery plugins for sudy
+ */
+var EXTEND_PATH, exScripts = document.getElementsByTagName("script");EXTEND_PATH = exScripts[exScripts.length - 1].getAttribute("src").replace('extends.js','');document.write('<link rel="stylesheet" type="text/css" href="'+EXTEND_PATH+'extends.css" >');var DEFAULT_VERSION = "9.0";var ua = navigator.userAgent.toLowerCase();var is_IE = ua.indexOf("msie") > -1;var safariVersion;if(is_IE){safariVersion = ua.match(/msie ([\d.]+)/)[1];}if(safariVersion < DEFAULT_VERSION ){window.jQuery || document.write('<script type="text/javascript" src="'+EXTEND_PATH+'libs/jquery.min.js"><\/script>');}else{window.jQuery || document.write('<script type="text/javascript" src="'+EXTEND_PATH+'libs/jquery.min.js"><\/script>');window.jQuery || document.write('<script type="text/javascript" src="'+EXTEND_PATH+'libs/jquery-migrate-3.1.0.min.js"><\/script>');}document.write('<script type="text/javascript" src="'+EXTEND_PATH+'libs/jquery.sudy.js"><\/script>');

BIN
xihuaTemplate/extends/images/arrow.png


BIN
xihuaTemplate/extends/images/arrow01_down.gif


BIN
xihuaTemplate/extends/images/arrow01_up.gif


BIN
xihuaTemplate/extends/images/icon_menu01.gif


BIN
xihuaTemplate/extends/images/icon_menu01.png


+ 28 - 0
xihuaTemplate/extends/libs/css3-mediaqueries.js

@@ -0,0 +1,28 @@
+"function"!==typeof Object.create&&(Object.create=function(j){function m(){}m.prototype=j;return new m});var ua={toString:function(){return navigator.userAgent},test:function(j){return this.toString().toLowerCase().indexOf(j.toLowerCase())>-1}};ua.version=(ua.toString().toLowerCase().match(/[\s\S]+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[])[1];ua.webkit=ua.test("webkit");ua.gecko=ua.test("gecko")&&!ua.webkit;ua.opera=ua.test("opera");ua.ie=ua.test("msie")&&!ua.opera;
+ua.ie6=ua.ie&&document.compatMode&&"undefined"===typeof document.documentElement.style.maxHeight;ua.ie7=ua.ie&&document.documentElement&&"undefined"!==typeof document.documentElement.style.maxHeight&&"undefined"===typeof XDomainRequest;ua.ie8=ua.ie&&"undefined"!==typeof XDomainRequest;
+var domReady=function(){var j=[],m=function(){if(!arguments.callee.done){arguments.callee.done=true;for(var m=0;m<j.length;m++)j[m]()}};document.addEventListener&&document.addEventListener("DOMContentLoaded",m,false);if(ua.ie){(function(){try{document.documentElement.doScroll("left");document.body.length}catch(j){setTimeout(arguments.callee,50);return}m()})();document.onreadystatechange=function(){if(document.readyState==="complete"){document.onreadystatechange=null;m()}}}ua.webkit&&document.readyState&&
+function(){document.readyState!=="loading"?m():setTimeout(arguments.callee,10)}();window.onload=m;return function(q){typeof q==="function"&&(m.done?q():j[j.length]=q);return q}}(),cssHelper=function(){var j=/[^\s{][^{]*\{(?:[^{}]*\{[^{}]*\}[^{}]*|[^{}]*)*\}/g,m=/[^\s{][^{]*\{[^{}]*\}/g,q=/url\(['"]?([^\/\)'"][^:\)'"]+)['"]?\)/g,y=/(?:\/\*([^*\\\\]|\*(?!\/))+\*\/|@import[^;]+;|@-moz-document\s*url-prefix\(\)\s*{(([^{}])+{([^{}])+}([^{}])+)+})/g,z=/\s*(,|:|;|\{|\})\s*/g,r=/\s{2,}/g,v=/;\}/g,w=/\S+/g,
+o,t=false,s=[],u=function(a){typeof a==="function"&&(s[s.length]=a)},n={},e=function(a,c){if(n[a]){var f=n[a].listeners;if(f)for(var b=0;b<f.length;b++)f[b](c)}},h=function(a){a=a.replace(y,"");a=a.replace(z,"$1");a=a.replace(r," ");return a=a.replace(v,"}")},c={mediaQueryList:function(a){for(var b={},f=a.indexOf("{"),k=a.substring(0,f),a=a.substring(f+1,a.length-1),e=[],d=[],p=k.toLowerCase().substring(7).split(","),f=0;f<p.length;f++)e[e.length]=c.mediaQuery(p[f],b);p=a.match(m);if(p!==null)for(f=
+0;f<p.length;f++)d[d.length]=c.rule(p[f],b);b.getMediaQueries=function(){return e};b.getRules=function(){return d};b.getListText=function(){return k};b.getCssText=function(){return a};return b},mediaQuery:function(a,c){for(var f=false,b,e=[],d=(a||"").match(w),p=0;p<d.length;p++){var g=d[p];if(!b&&(g==="not"||g==="only"))g==="not"&&(f=true);else if(b){if(g.charAt(0)==="("){g=g.substring(1,g.length-1).split(":");e[e.length]={mediaFeature:g[0],value:g[1]||null}}}else b=g}return{getList:function(){return c||
+null},getValid:function(){return true},getNot:function(){return f},getMediaType:function(){return b},getExpressions:function(){return e}}},rule:function(a,b){for(var f={},k=a.indexOf("{"),e=a.substring(0,k),g=e.split(","),d=[],k=a.substring(k+1,a.length-1).split(";"),h=0;h<k.length;h++)d[d.length]=c.declaration(k[h],f);f.getMediaQueryList=function(){return b||null};f.getSelectors=function(){return g};f.getSelectorText=function(){return e};f.getDeclarations=function(){return d};f.getPropertyValue=
+function(a){for(var f=0;f<d.length;f++)if(d[f].getProperty()===a)return d[f].getValue();return null};return f},declaration:function(a,b){var f=a.indexOf(":"),c=a.substring(0,f),e=a.substring(f+1);return{getRule:function(){return b||null},getProperty:function(){return c},getValue:function(){return e}}}},d=function(a){if(typeof a.cssHelperText==="string"){var b={mediaQueryLists:[],rules:[],selectors:{},declarations:[],properties:{}},f=b.mediaQueryLists,k=b.rules,e=a.cssHelperText.match(j);if(e!==null)for(var d=
+0;d<e.length;d++)if(e[d].substring(0,7)==="@media "){f[f.length]=c.mediaQueryList(e[d]);k=b.rules=k.concat(f[f.length-1].getRules())}else k[k.length]=c.rule(e[d]);f=b.selectors;for(d=0;d<k.length;d++)for(var e=k[d],g=e.getSelectors(),h=0;h<g.length;h++){var i=g[h];f[i]||(f[i]=[]);f[i][f[i].length]=e}f=b.declarations;for(d=0;d<k.length;d++)f=b.declarations=f.concat(k[d].getDeclarations());k=b.properties;for(d=0;d<f.length;d++){e=f[d].getProperty();k[e]||(k[e]=[]);k[e][k[e].length]=f[d]}a.cssHelperParsed=
+b;o[o.length]=a;return b}},l=function(a,b){a.cssHelperText=h(b||a.innerHTML);return d(a)},g={mediaQueryLists:"array",rules:"array",selectors:"object",declarations:"array",properties:"object"},b={mediaQueryLists:null,rules:null,selectors:null,declarations:null,properties:null},i=function(a,c){if(b[a]!==null){if(g[a]==="array")return b[a]=b[a].concat(c);var f=b[a],e;for(e in c)c.hasOwnProperty(e)&&(f[e]=f[e]?f[e].concat(c[e]):c[e]);return f}},x=function(a){b[a]=g[a]==="array"?[]:{};for(var c=0;c<o.length;c++)i(a,
+o[c].cssHelperParsed[a]);return b[a]};domReady(function(){for(var a=document.body.getElementsByTagName("*"),b=0;b<a.length;b++)a[b].checkedByCssHelper=true;document.implementation.hasFeature("MutationEvents","2.0")||window.MutationEvent?document.body.addEventListener("DOMNodeInserted",function(a){a=a.target;if(a.nodeType===1){e("DOMElementInserted",a);a.checkedByCssHelper=true}},false):setInterval(function(){for(var a=document.body.getElementsByTagName("*"),b=0;b<a.length;b++)if(!a[b].checkedByCssHelper){e("DOMElementInserted",
+a[b]);a[b].checkedByCssHelper=true}},1E3)});var A=function(a){if(typeof window.innerWidth!="undefined")return window["inner"+a];if(typeof document.documentElement!="undefined"&&typeof document.documentElement.clientWidth!="undefined"&&document.documentElement.clientWidth!=0)return document.documentElement["client"+a]};return{addStyle:function(a,b){var c;if(null!==document.getElementById("css-mediaqueries-js"))c=document.getElementById("css-mediaqueries-js");else{c=document.createElement("style");
+c.setAttribute("type","text/css");c.setAttribute("id","css-mediaqueries-js");document.getElementsByTagName("head")[0].appendChild(c)}c.styleSheet?c.styleSheet.cssText=c.styleSheet.cssText+a:c.appendChild(document.createTextNode(a));c.addedWithCssHelper=true;typeof b==="undefined"||b===true?cssHelper.parsed(function(){var b=l(c,a),d;for(d in b)b.hasOwnProperty(d)&&i(d,b[d]);e("newStyleParsed",c)}):c.parsingDisallowed=true;return c},removeStyle:function(a){if(a.parentNode)return a.parentNode.removeChild(a)},
+parsed:function(a){if(t)u(a);else if(typeof o!=="undefined")typeof a==="function"&&a(o);else{u(a);t=true;o=[];for(var b=[],c=function(){for(var a=0;a<b.length;a++)d(b[a]);for(var c=document.getElementsByTagName("style"),a=0;a<c.length;a++)l(c[a]);t=false;for(a=0;a<s.length;a++)s[a](o)},e=document.getElementsByTagName("link"),a=0;a<e.length;a++){var g=e[a];g.getAttribute("rel").indexOf("style")>-1&&(g.href&&g.href.length!==0&&!g.disabled)&&(b[b.length]=g)}if(b.length>0)for(var i=0,e=function(a){var e=
+a.href;a:{if(ua.ie&&!window.XMLHttpRequest)window.XMLHttpRequest=function(){return new ActiveXObject("Microsoft.XMLHTTP")};if(XMLHttpRequest){var d=new XMLHttpRequest;try{d.open("get",e,true);d.setRequestHeader("X_REQUESTED_WITH","XMLHttpRequest")}catch(g){i++;i===b.length&&c();break a}var k=false;setTimeout(function(){k=true},5E3);document.documentElement.style.cursor="progress";d.onreadystatechange=function(){if(d.readyState===4&&!k){if(!d.status&&location.protocol==="file:"||d.status>=200&&d.status<
+300||d.status===304||navigator.userAgent.indexOf("Safari")>-1&&typeof d.status==="undefined"){var g=d.responseText,g=h(g).replace(q,"url("+e.substring(0,e.lastIndexOf("/"))+"/$1)");a.cssHelperText=g}i++;i===b.length&&c();document.documentElement.style.cursor="";d=null}};d.send("")}}},a=0;a<b.length;a++)e(b[a]);else c()}},mediaQueryLists:function(a){cssHelper.parsed(function(){a(b.mediaQueryLists||x("mediaQueryLists"))})},rules:function(a){cssHelper.parsed(function(){a(b.rules||x("rules"))})},selectors:function(a){cssHelper.parsed(function(){a(b.selectors||
+x("selectors"))})},declarations:function(a){cssHelper.parsed(function(){a(b.declarations||x("declarations"))})},properties:function(a){cssHelper.parsed(function(){a(b.properties||x("properties"))})},broadcast:e,addListener:function(a,b){if(typeof b==="function"){n[a]||(n[a]={listeners:[]});n[a].listeners[n[a].listeners.length]=b}},removeListener:function(a,b){if(typeof b==="function"&&n[a])for(var c=n[a].listeners,d=0;d<c.length;d++)if(c[d]===b){c.splice(d,1);d=d-1}},getViewportWidth:function(){return A("Width")},
+getViewportHeight:function(){return A("Height")}}}();
+domReady(function(){var j,m=/[0-9]+(em|ex|px|in|cm|mm|pt|pc)$/,q=/[0-9]+(dpi|dpcm)$/,y=/^[0-9]+\/[0-9]+$/,z=/^[0-9]*(\.[0-9]+)*$/,r=[],v=function(){var e=document.createElement("div");e.id="css3-mediaqueries-test";var h=cssHelper.addStyle("@media all and (width) { #css3-mediaqueries-test { width: 1px !important; } }",false);document.body.appendChild(e);var c=e.offsetWidth===1;h.parentNode.removeChild(h);e.parentNode.removeChild(e);v=function(){return c};return c},w=function(e){j.style.width=e;e=j.offsetWidth;
+j.style.width="";return e},o=function(e,h){var c=e.length,d=e.substring(0,4)==="min-",l=!d&&e.substring(0,4)==="max-";if(h!==null){var g,b;if(m.exec(h)){g="length";b=w(h)}else if(q.exec(h)){g="resolution";b=parseInt(h,10);var i=h.substring((b+"").length)}else if(y.exec(h)){g="aspect-ratio";b=h.split("/")}else if(z){g="absolute";b=h}else g="unknown"}if("device-width"===e.substring(c-12,c)){c=screen.width;return h!==null?g==="length"?d&&c>=b||l&&c<b||!d&&!l&&c===b:false:c>0}if("device-height"===e.substring(c-
+13,c)){i=screen.height;return h!==null?g==="length"?d&&i>=b||l&&i<b||!d&&!l&&i===b:false:i>0}if("width"===e.substring(c-5,c)){c=document.documentElement.clientWidth||document.body.clientWidth;return h!==null?g==="length"?d&&c>=b||l&&c<b||!d&&!l&&c===b:false:c>0}if("height"===e.substring(c-6,c)){i=document.documentElement.clientHeight||document.body.clientHeight;return h!==null?g==="length"?d&&i>=b||l&&i<b||!d&&!l&&i===b:false:i>0}if("orientation"===e.substring(c-11,c)){c=document.documentElement.clientWidth||
+document.body.clientWidth;i=document.documentElement.clientHeight||document.body.clientHeight;return g==="absolute"?b==="portrait"?c<=i:c>i:false}if("aspect-ratio"===e.substring(c-12,c)){c=document.documentElement.clientWidth||document.body.clientWidth;i=document.documentElement.clientHeight||document.body.clientHeight;c=c/i;b=b[1]/b[0];return g==="aspect-ratio"?d&&c>=b||l&&c<b||!d&&!l&&c===b:false}if("device-aspect-ratio"===e.substring(c-19,c))return g==="aspect-ratio"&&screen.width*b[1]===screen.height*
+b[0];if("color-index"===e.substring(c-11,c)){c=Math.pow(2,screen.colorDepth);return h!==null?g==="absolute"?d&&c>=b||l&&c<b||!d&&!l&&c===b:false:c>0}if("color"===e.substring(c-5,c)){c=screen.colorDepth;return h!==null?g==="absolute"?d&&c>=b||l&&c<b||!d&&!l&&c===b:false:c>0}if("resolution"===e.substring(c-10,c)){c=i==="dpcm"?w("1cm"):w("1in");return h!==null?g==="resolution"?d&&c>=b||l&&c<b||!d&&!l&&c===b:false:c>0}return false},t=function(e){for(var h=0;h<e.length;h++){for(var c=e[h],d=c.getMediaQueries(),
+l={},g=0;g<d.length;g++){var b;var i=d[g];b=i.getValid();var j=i.getExpressions(),m=j.length;if(m>0){for(var a=0;a<m&&b;a++)b=o(j[a].mediaFeature,j[a].value);i=i.getNot();b=b&&!i||i&&!b}else b=void 0;b&&(l[d[g].getMediaType()]=true)}d=[];g=0;b=void 0;for(b in l)if(l.hasOwnProperty(b)){g>0&&(d[g++]=",");d[g++]=b}d.length>0&&(r[r.length]=cssHelper.addStyle("@media "+d.join("")+"{"+c.getCssText()+"}",false))}if(ua.ie){document.documentElement.style.display="block";setTimeout(function(){document.documentElement.style.display=
+""},0);setTimeout(function(){cssHelper.broadcast("cssMediaQueriesTested")},100)}else cssHelper.broadcast("cssMediaQueriesTested")},s=function(){for(var e=0;e<r.length;e++)cssHelper.removeStyle(r[e]);r=[];cssHelper.mediaQueryLists(t)},u=0,n=document.documentElement;n.style.marginLeft="-32767px";setTimeout(function(){n.style.marginTop=""},2E4);return function(){if(v())n.style.marginLeft="";else{cssHelper.addListener("newStyleParsed",function(c){t(c.cssHelperParsed.mediaQueryLists)});cssHelper.addListener("cssMediaQueriesTested",
+function(){if(ua.ie)n.style.width="1px";setTimeout(function(){n.style.width="";n.style.marginLeft=""},0);cssHelper.removeListener("cssMediaQueriesTested",arguments.callee)});j=document.createElement("div");j.style.cssText="position:absolute;top:-9999em;left:-9999em;margin:0;border:none;padding:0;width:1em;font-size:1em;";document.body.appendChild(j);if(j.offsetWidth!==16)j.style.fontSize=16/j.offsetWidth+"em";j.style.width="";s()}var e=cssHelper.getViewportWidth(),h=cssHelper.getViewportHeight();
+if(ua.ie){var c=document.createElement("div");c.style.width="100px";c.style.height="100px";c.style.position="absolute";c.style.top="-9999em";c.style.overflow="scroll";document.body.appendChild(c);u=c.offsetWidth-c.clientWidth;document.body.removeChild(c)}var d,l=window.onresize||function(){};window.onresize=function(){l();var c=cssHelper.getViewportWidth(),b=cssHelper.getViewportHeight();if(Math.abs(c-e)>u||Math.abs(b-h)>u){e=c;h=b;clearTimeout(d);d=setTimeout(function(){v()?cssHelper.broadcast("cssMediaQueriesTested"):
+s()},500)}}}}());try{document.execCommand("BackgroundImageCache",!1,!0)}catch(e$$3){};

File diff suppressed because it is too large
+ 2 - 0
xihuaTemplate/extends/libs/html5.js


File diff suppressed because it is too large
+ 1 - 0
xihuaTemplate/extends/libs/jquery-migrate-3.1.0.min.js


File diff suppressed because it is too large
+ 1 - 0
xihuaTemplate/extends/libs/jquery.min.js


File diff suppressed because it is too large
+ 425 - 0
xihuaTemplate/extends/libs/jquery.sudy.js


BIN
xihuaTemplate/favicon.ico


BIN
xihuaTemplate/images/arrow_down.png


BIN
xihuaTemplate/images/arrow_right.png


BIN
xihuaTemplate/images/arrow_right_primary.png


BIN
xihuaTemplate/images/arrow_top.png


BIN
xihuaTemplate/images/banner.png


BIN
xihuaTemplate/images/bg_home_specialty_1.png


BIN
xihuaTemplate/images/bg_home_specialty_2.png


BIN
xihuaTemplate/images/bg_home_specialty_3.png


BIN
xihuaTemplate/images/bg_home_specialty_4.png


BIN
xihuaTemplate/images/bg_home_specialty_5.png


BIN
xihuaTemplate/images/bg_links_1.png


BIN
xihuaTemplate/images/bg_links_2.png


BIN
xihuaTemplate/images/bg_research.png


BIN
xihuaTemplate/images/bg_works.png


BIN
xihuaTemplate/images/botton_next.png


BIN
xihuaTemplate/images/botton_prev.png


BIN
xihuaTemplate/images/footer_qrcode.png


BIN
xihuaTemplate/images/footer_tips.png


BIN
xihuaTemplate/images/icon_close.png


BIN
xihuaTemplate/images/icon_home_service_1.png


BIN
xihuaTemplate/images/icon_home_service_2.png


BIN
xihuaTemplate/images/icon_home_service_3.png


BIN
xihuaTemplate/images/icon_home_service_4.png


BIN
xihuaTemplate/images/icon_home_service_5.png


BIN
xihuaTemplate/images/icon_home_service_6.png


BIN
xihuaTemplate/images/icon_home_specialty_1.png


BIN
xihuaTemplate/images/icon_home_specialty_2.png


BIN
xihuaTemplate/images/icon_home_specialty_3.png


BIN
xihuaTemplate/images/icon_home_specialty_4.png


BIN
xihuaTemplate/images/icon_home_specialty_5.png


BIN
xihuaTemplate/images/icon_search.png


BIN
xihuaTemplate/images/logo_footer.png


BIN
xihuaTemplate/images/logo_header.png


BIN
xihuaTemplate/images/menu.png


+ 117 - 0
xihuaTemplate/js/app.js

@@ -0,0 +1,117 @@
+/*
+*构建SDAPP
+*/
+SDAPP = (function () {
+	function App(options) {
+		this.O = options;
+		this.J = jQuery;
+		this.init();
+	}
+	return App;
+})();
+
+SDAPP.prototype.init = function () {
+	this.client();
+	this.plugin();
+	this.renew();
+}
+
+/**
+ * getClient
+ */
+SDAPP.prototype.client = function () {
+	return {
+		"width": this.J(window).width(),
+		"height": this.J(window).height()
+	};
+}
+
+/**
+ * resize
+ */
+SDAPP.prototype.renew = function () {
+	var _this = this;
+	_this.J(window).resize(function (event) {
+		_this.client();
+		// window.console && console.log(_this.client().width, _this.client().height);
+	});
+}
+
+/**
+ * plugin
+ */
+SDAPP.prototype.plugin = function () {
+	var _this = this;
+	// focus
+	// this.O['focus'] && this.J("[data-focus]").sudyfocus(this.O['focus']);
+
+	// menu
+	if (this.client().width > 1280) {
+		/*增加*/
+		this.J(".wp-navi").find(".menu-item").on("mouseenter", function () {
+			_this.J(this).addClass("hover");
+			_this.J(this).children('.sub-menu').show();
+		}).on("mouseleave", function () {
+			_this.J(this).removeClass("hover");
+			_this.J(this).children('.sub-menu').hide();
+		});
+	}
+	this.J(".page_tab_list .page_list_item.selected").find(".sub_item_link ").eq(0).addClass("selected")
+	var $aside = this.J("#wp-navi-aside");
+	var sideWrap = $aside.find(".navi-aside-wrap");
+	var menuDom = this.J(".header_menu .wp-menu").clone()
+	sideWrap.append(menuDom)
+	this.J(".menu-switch-arrow", ".wp-navi-aside").on("click", function () {
+		_this.J(this).toggleClass('open').siblings(".sub-menu").slideToggle(250);
+	});
+	this.J(".mobile_menu_taggle").on("click", function () {
+
+		_this.J(".wp-navi-aside").show()
+		_this.J(".wp-navi-aside .aside-inner").stop().animate({ right: 0 }, 250);
+
+	});
+
+	this.J(".navi-aside-mask").on("click", function (event) {
+		event.preventDefault();
+		_this.J(".wp-navi-aside .aside-inner").stop().animate({ right: "-200px" }, 250, function () {
+			_this.J(".wp-navi-aside").hide();
+		});
+
+	});
+
+	this.J(window).scroll(function (event) {
+		var scrolltop = _this.J(window).scrollTop();
+		if (scrolltop > 500) {
+			_this.J("#gotop").show();
+		} else {
+			_this.J("#gotop").hide();
+		}
+	});
+	this.J("#gotop").on("click", function () {
+		_this.J("body,html").stop().animate({ scrollTop: 0 }, 500);
+	});
+
+	$(".search-submit").click(function (event) {
+		$(this).removeAttr("name");
+		event.preventDefault();
+		var val = $.trim($(".search-input input").val());
+		if (val !== "") {
+			$(".wp-search").find("form").submit();
+		} else {
+			alert("请输入关键词");
+		}
+		return false;
+	});
+	$(".search_icon").click(function () {
+		if (_this.J(this).hasClass("close")) {
+			_this.J(this).removeClass("close")
+			$(".search_box .wp-search").stop().animate({ width: "0" }, 200)
+		}
+		else {
+			_this.J(this).addClass("close")
+			$(".search_box .wp-search").stop().animate({ width: "260px" }, 200)
+		}
+
+	})
+
+}

+ 16 - 0
xihuaTemplate/js/comcus.js

@@ -0,0 +1,16 @@
+$(function () {
+	$(".search-submit").click(function (event) {
+		$(this).removeAttr("name");
+		event.preventDefault();
+		var val = $.trim($(".search-title").val());
+		if (val !== "") {
+			$(".wp-search").find("form").submit();
+		} else {
+			alert("请输入关键词");
+		}
+		return false;
+	});
+	$(".search_icon").click(function () {
+		$(".wp-search").show()
+	})
+});

+ 2006 - 0
xihuaTemplate/js/iscroll.js

@@ -0,0 +1,2006 @@
+/*! iScroll v5.1.2 ~ (c) 2008-2014 Matteo Spinelli ~ http://cubiq.org/license */
+(function (window, document, Math) {
+var rAF = window.requestAnimationFrame	||
+	window.webkitRequestAnimationFrame	||
+	window.mozRequestAnimationFrame		||
+	window.oRequestAnimationFrame		||
+	window.msRequestAnimationFrame		||
+	function (callback) { window.setTimeout(callback, 1000 / 60); };
+
+var utils = (function () {
+	var me = {};
+
+	var _elementStyle = document.createElement('div').style;
+	var _vendor = (function () {
+		var vendors = ['t', 'webkitT', 'MozT', 'msT', 'OT'],
+			transform,
+			i = 0,
+			l = vendors.length;
+
+		for ( ; i < l; i++ ) {
+			transform = vendors[i] + 'ransform';
+			if ( transform in _elementStyle ) return vendors[i].substr(0, vendors[i].length-1);
+		}
+
+		return false;
+	})();
+
+	function _prefixStyle (style) {
+		if ( _vendor === false ) return false;
+		if ( _vendor === '' ) return style;
+		return _vendor + style.charAt(0).toUpperCase() + style.substr(1);
+	}
+
+	me.getTime = Date.now || function getTime () { return new Date().getTime(); };
+
+	me.extend = function (target, obj) {
+		for ( var i in obj ) {
+			target[i] = obj[i];
+		}
+	};
+
+	me.addEvent = function (el, type, fn, capture) {
+		el.addEventListener(type, fn, !!capture);
+	};
+
+	me.removeEvent = function (el, type, fn, capture) {
+		el.removeEventListener(type, fn, !!capture);
+	};
+
+	me.prefixPointerEvent = function (pointerEvent) {
+		return window.MSPointerEvent ? 
+			'MSPointer' + pointerEvent.charAt(9).toUpperCase() + pointerEvent.substr(10):
+			pointerEvent;
+	};
+
+	me.momentum = function (current, start, time, lowerMargin, wrapperSize, deceleration) {
+		var distance = current - start,
+			speed = Math.abs(distance) / time,
+			destination,
+			duration;
+
+		deceleration = deceleration === undefined ? 0.0006 : deceleration;
+
+		destination = current + ( speed * speed ) / ( 2 * deceleration ) * ( distance < 0 ? -1 : 1 );
+		duration = speed / deceleration;
+
+		if ( destination < lowerMargin ) {
+			destination = wrapperSize ? lowerMargin - ( wrapperSize / 2.5 * ( speed / 8 ) ) : lowerMargin;
+			distance = Math.abs(destination - current);
+			duration = distance / speed;
+		} else if ( destination > 0 ) {
+			destination = wrapperSize ? wrapperSize / 2.5 * ( speed / 8 ) : 0;
+			distance = Math.abs(current) + destination;
+			duration = distance / speed;
+		}
+
+		return {
+			destination: Math.round(destination),
+			duration: duration
+		};
+	};
+
+	var _transform = _prefixStyle('transform');
+
+	me.extend(me, {
+		hasTransform: _transform !== false,
+		hasPerspective: _prefixStyle('perspective') in _elementStyle,
+		hasTouch: 'ontouchstart' in window,
+		hasPointer: window.PointerEvent || window.MSPointerEvent, // IE10 is prefixed
+		hasTransition: _prefixStyle('transition') in _elementStyle
+	});
+
+	// This should find all Android browsers lower than build 535.19 (both stock browser and webview)
+	me.isBadAndroid = /Android /.test(window.navigator.appVersion) && !(/Chrome\/\d/.test(window.navigator.appVersion));
+
+	me.extend(me.style = {}, {
+		transform: _transform,
+		transitionTimingFunction: _prefixStyle('transitionTimingFunction'),
+		transitionDuration: _prefixStyle('transitionDuration'),
+		transitionDelay: _prefixStyle('transitionDelay'),
+		transformOrigin: _prefixStyle('transformOrigin')
+	});
+
+	me.hasClass = function (e, c) {
+		var re = new RegExp("(^|\\s)" + c + "(\\s|$)");
+		return re.test(e.className);
+	};
+
+	me.addClass = function (e, c) {
+		if ( me.hasClass(e, c) ) {
+			return;
+		}
+
+		var newclass = e.className.split(' ');
+		newclass.push(c);
+		e.className = newclass.join(' ');
+	};
+
+	me.removeClass = function (e, c) {
+		if ( !me.hasClass(e, c) ) {
+			return;
+		}
+
+		var re = new RegExp("(^|\\s)" + c + "(\\s|$)", 'g');
+		e.className = e.className.replace(re, ' ');
+	};
+
+	me.offset = function (el) {
+		var left = -el.offsetLeft,
+			top = -el.offsetTop;
+
+		// jshint -W084
+		while (el = el.offsetParent) {
+			left -= el.offsetLeft;
+			top -= el.offsetTop;
+		}
+		// jshint +W084
+
+		return {
+			left: left,
+			top: top
+		};
+	};
+
+	me.preventDefaultException = function (el, exceptions) {
+		for ( var i in exceptions ) {
+			if ( exceptions[i].test(el[i]) ) {
+				return true;
+			}
+		}
+
+		return false;
+	};
+
+	me.extend(me.eventType = {}, {
+		touchstart: 1,
+		touchmove: 1,
+		touchend: 1,
+
+		mousedown: 2,
+		mousemove: 2,
+		mouseup: 2,
+
+		pointerdown: 3,
+		pointermove: 3,
+		pointerup: 3,
+
+		MSPointerDown: 3,
+		MSPointerMove: 3,
+		MSPointerUp: 3
+	});
+
+	me.extend(me.ease = {}, {
+		quadratic: {
+			style: 'cubic-bezier(0.25, 0.46, 0.45, 0.94)',
+			fn: function (k) {
+				return k * ( 2 - k );
+			}
+		},
+		circular: {
+			style: 'cubic-bezier(0.1, 0.57, 0.1, 1)',	// Not properly "circular" but this looks better, it should be (0.075, 0.82, 0.165, 1)
+			fn: function (k) {
+				return Math.sqrt( 1 - ( --k * k ) );
+			}
+		},
+		back: {
+			style: 'cubic-bezier(0.175, 0.885, 0.32, 1.275)',
+			fn: function (k) {
+				var b = 4;
+				return ( k = k - 1 ) * k * ( ( b + 1 ) * k + b ) + 1;
+			}
+		},
+		bounce: {
+			style: '',
+			fn: function (k) {
+				if ( ( k /= 1 ) < ( 1 / 2.75 ) ) {
+					return 7.5625 * k * k;
+				} else if ( k < ( 2 / 2.75 ) ) {
+					return 7.5625 * ( k -= ( 1.5 / 2.75 ) ) * k + 0.75;
+				} else if ( k < ( 2.5 / 2.75 ) ) {
+					return 7.5625 * ( k -= ( 2.25 / 2.75 ) ) * k + 0.9375;
+				} else {
+					return 7.5625 * ( k -= ( 2.625 / 2.75 ) ) * k + 0.984375;
+				}
+			}
+		},
+		elastic: {
+			style: '',
+			fn: function (k) {
+				var f = 0.22,
+					e = 0.4;
+
+				if ( k === 0 ) { return 0; }
+				if ( k == 1 ) { return 1; }
+
+				return ( e * Math.pow( 2, - 10 * k ) * Math.sin( ( k - f / 4 ) * ( 2 * Math.PI ) / f ) + 1 );
+			}
+		}
+	});
+
+	me.tap = function (e, eventName) {
+		var ev = document.createEvent('Event');
+		ev.initEvent(eventName, true, true);
+		ev.pageX = e.pageX;
+		ev.pageY = e.pageY;
+		e.target.dispatchEvent(ev);
+	};
+
+	me.click = function (e) {
+		var target = e.target,
+			ev;
+
+		if ( !(/(SELECT|INPUT|TEXTAREA)/i).test(target.tagName) ) {
+			ev = document.createEvent('MouseEvents');
+			ev.initMouseEvent('click', true, true, e.view, 1,
+				target.screenX, target.screenY, target.clientX, target.clientY,
+				e.ctrlKey, e.altKey, e.shiftKey, e.metaKey,
+				0, null);
+
+			ev._constructed = true;
+			target.dispatchEvent(ev);
+		}
+	};
+
+	return me;
+})();
+
+function IScroll (el, options) {
+	this.wrapper = typeof el == 'string' ? document.querySelector(el) : el;
+	this.scroller = this.wrapper.children[0];
+	this.scrollerStyle = this.scroller.style;		// cache style for better performance
+
+	this.options = {
+
+		resizeScrollbars: true,
+
+		mouseWheelSpeed: 20,
+
+		snapThreshold: 0.334,
+
+// INSERT POINT: OPTIONS 
+
+		startX: 0,
+		startY: 0,
+		scrollY: true,
+		directionLockThreshold: 5,
+		momentum: true,
+
+		bounce: true,
+		bounceTime: 600,
+		bounceEasing: '',
+
+		preventDefault: true,
+		preventDefaultException: { tagName: /^(INPUT|TEXTAREA|BUTTON|SELECT)$/ },
+
+		HWCompositing: true,
+		useTransition: true,
+		useTransform: true
+	};
+
+	for ( var i in options ) {
+		this.options[i] = options[i];
+	}
+
+	// Normalize options
+	this.translateZ = this.options.HWCompositing && utils.hasPerspective ? ' translateZ(0)' : '';
+
+	this.options.useTransition = utils.hasTransition && this.options.useTransition;
+	this.options.useTransform = utils.hasTransform && this.options.useTransform;
+
+	this.options.eventPassthrough = this.options.eventPassthrough === true ? 'vertical' : this.options.eventPassthrough;
+	this.options.preventDefault = !this.options.eventPassthrough && this.options.preventDefault;
+
+	// If you want eventPassthrough I have to lock one of the axes
+	this.options.scrollY = this.options.eventPassthrough == 'vertical' ? false : this.options.scrollY;
+	this.options.scrollX = this.options.eventPassthrough == 'horizontal' ? false : this.options.scrollX;
+
+	// With eventPassthrough we also need lockDirection mechanism
+	this.options.freeScroll = this.options.freeScroll && !this.options.eventPassthrough;
+	this.options.directionLockThreshold = this.options.eventPassthrough ? 0 : this.options.directionLockThreshold;
+
+	this.options.bounceEasing = typeof this.options.bounceEasing == 'string' ? utils.ease[this.options.bounceEasing] || utils.ease.circular : this.options.bounceEasing;
+
+	this.options.resizePolling = this.options.resizePolling === undefined ? 60 : this.options.resizePolling;
+
+	if ( this.options.tap === true ) {
+		this.options.tap = 'tap';
+	}
+
+	if ( this.options.shrinkScrollbars == 'scale' ) {
+		this.options.useTransition = false;
+	}
+
+	this.options.invertWheelDirection = this.options.invertWheelDirection ? -1 : 1;
+
+// INSERT POINT: NORMALIZATION
+
+	// Some defaults	
+	this.x = 0;
+	this.y = 0;
+	this.directionX = 0;
+	this.directionY = 0;
+	this._events = {};
+
+// INSERT POINT: DEFAULTS
+
+	this._init();
+	this.refresh();
+
+	this.scrollTo(this.options.startX, this.options.startY);
+	this.enable();
+}
+
+IScroll.prototype = {
+	version: '5.1.2',
+
+	_init: function () {
+		this._initEvents();
+
+		if ( this.options.scrollbars || this.options.indicators ) {
+			this._initIndicators();
+		}
+
+		if ( this.options.mouseWheel ) {
+			this._initWheel();
+		}
+
+		if ( this.options.snap ) {
+			this._initSnap();
+		}
+
+		if ( this.options.keyBindings ) {
+			this._initKeys();
+		}
+
+// INSERT POINT: _init
+
+	},
+
+	destroy: function () {
+		this._initEvents(true);
+
+		this._execEvent('destroy');
+	},
+
+	_transitionEnd: function (e) {
+		if ( e.target != this.scroller || !this.isInTransition ) {
+			return;
+		}
+
+		this._transitionTime();
+		if ( !this.resetPosition(this.options.bounceTime) ) {
+			this.isInTransition = false;
+			this._execEvent('scrollEnd');
+		}
+	},
+
+	_start: function (e) {
+		// React to left mouse button only
+		if ( utils.eventType[e.type] != 1 ) {
+			if ( e.button !== 0 ) {
+				return;
+			}
+		}
+
+		if ( !this.enabled || (this.initiated && utils.eventType[e.type] !== this.initiated) ) {
+			return;
+		}
+
+		if ( this.options.preventDefault && !utils.isBadAndroid && !utils.preventDefaultException(e.target, this.options.preventDefaultException) ) {
+			e.preventDefault();
+		}
+
+		var point = e.touches ? e.touches[0] : e,
+			pos;
+
+		this.initiated	= utils.eventType[e.type];
+		this.moved		= false;
+		this.distX		= 0;
+		this.distY		= 0;
+		this.directionX = 0;
+		this.directionY = 0;
+		this.directionLocked = 0;
+
+		this._transitionTime();
+
+		this.startTime = utils.getTime();
+
+		if ( this.options.useTransition && this.isInTransition ) {
+			this.isInTransition = false;
+			pos = this.getComputedPosition();
+			this._translate(Math.round(pos.x), Math.round(pos.y));
+			this._execEvent('scrollEnd');
+		} else if ( !this.options.useTransition && this.isAnimating ) {
+			this.isAnimating = false;
+			this._execEvent('scrollEnd');
+		}
+
+		this.startX    = this.x;
+		this.startY    = this.y;
+		this.absStartX = this.x;
+		this.absStartY = this.y;
+		this.pointX    = point.pageX;
+		this.pointY    = point.pageY;
+
+		this._execEvent('beforeScrollStart');
+	},
+
+	_move: function (e) {
+		if ( !this.enabled || utils.eventType[e.type] !== this.initiated ) {
+			return;
+		}
+
+		if ( this.options.preventDefault ) {	// increases performance on Android? TODO: check!
+			e.preventDefault();
+		}
+
+		var point		= e.touches ? e.touches[0] : e,
+			deltaX		= point.pageX - this.pointX,
+			deltaY		= point.pageY - this.pointY,
+			timestamp	= utils.getTime(),
+			newX, newY,
+			absDistX, absDistY;
+
+		this.pointX		= point.pageX;
+		this.pointY		= point.pageY;
+
+		this.distX		+= deltaX;
+		this.distY		+= deltaY;
+		absDistX		= Math.abs(this.distX);
+		absDistY		= Math.abs(this.distY);
+
+		// We need to move at least 10 pixels for the scrolling to initiate
+		if ( timestamp - this.endTime > 300 && (absDistX < 10 && absDistY < 10) ) {
+			return;
+		}
+
+		// If you are scrolling in one direction lock the other
+		if ( !this.directionLocked && !this.options.freeScroll ) {
+			if ( absDistX > absDistY + this.options.directionLockThreshold ) {
+				this.directionLocked = 'h';		// lock horizontally
+			} else if ( absDistY >= absDistX + this.options.directionLockThreshold ) {
+				this.directionLocked = 'v';		// lock vertically
+			} else {
+				this.directionLocked = 'n';		// no lock
+			}
+		}
+
+		if ( this.directionLocked == 'h' ) {
+			if ( this.options.eventPassthrough == 'vertical' ) {
+				e.preventDefault();
+			} else if ( this.options.eventPassthrough == 'horizontal' ) {
+				this.initiated = false;
+				return;
+			}
+
+			deltaY = 0;
+		} else if ( this.directionLocked == 'v' ) {
+			if ( this.options.eventPassthrough == 'horizontal' ) {
+				e.preventDefault();
+			} else if ( this.options.eventPassthrough == 'vertical' ) {
+				this.initiated = false;
+				return;
+			}
+
+			deltaX = 0;
+		}
+
+		deltaX = this.hasHorizontalScroll ? deltaX : 0;
+		deltaY = this.hasVerticalScroll ? deltaY : 0;
+
+		newX = this.x + deltaX;
+		newY = this.y + deltaY;
+
+		// Slow down if outside of the boundaries
+		if ( newX > 0 || newX < this.maxScrollX ) {
+			newX = this.options.bounce ? this.x + deltaX / 3 : newX > 0 ? 0 : this.maxScrollX;
+		}
+		if ( newY > 0 || newY < this.maxScrollY ) {
+			newY = this.options.bounce ? this.y + deltaY / 3 : newY > 0 ? 0 : this.maxScrollY;
+		}
+
+		this.directionX = deltaX > 0 ? -1 : deltaX < 0 ? 1 : 0;
+		this.directionY = deltaY > 0 ? -1 : deltaY < 0 ? 1 : 0;
+
+		if ( !this.moved ) {
+			this._execEvent('scrollStart');
+		}
+
+		this.moved = true;
+
+		this._translate(newX, newY);
+
+/* REPLACE START: _move */
+
+		if ( timestamp - this.startTime > 300 ) {
+			this.startTime = timestamp;
+			this.startX = this.x;
+			this.startY = this.y;
+		}
+
+/* REPLACE END: _move */
+
+	},
+
+	_end: function (e) {
+		if ( !this.enabled || utils.eventType[e.type] !== this.initiated ) {
+			return;
+		}
+
+		if ( this.options.preventDefault && !utils.preventDefaultException(e.target, this.options.preventDefaultException) ) {
+			e.preventDefault();
+		}
+
+		var point = e.changedTouches ? e.changedTouches[0] : e,
+			momentumX,
+			momentumY,
+			duration = utils.getTime() - this.startTime,
+			newX = Math.round(this.x),
+			newY = Math.round(this.y),
+			distanceX = Math.abs(newX - this.startX),
+			distanceY = Math.abs(newY - this.startY),
+			time = 0,
+			easing = '';
+
+		this.isInTransition = 0;
+		this.initiated = 0;
+		this.endTime = utils.getTime();
+
+		// reset if we are outside of the boundaries
+		if ( this.resetPosition(this.options.bounceTime) ) {
+			return;
+		}
+
+		this.scrollTo(newX, newY);	// ensures that the last position is rounded
+
+		// we scrolled less than 10 pixels
+		if ( !this.moved ) {
+			if ( this.options.tap ) {
+				utils.tap(e, this.options.tap);
+			}
+
+			if ( this.options.click ) {
+				utils.click(e);
+			}
+
+			this._execEvent('scrollCancel');
+			return;
+		}
+
+		if ( this._events.flick && duration < 200 && distanceX < 100 && distanceY < 100 ) {
+			this._execEvent('flick');
+			return;
+		}
+
+		// start momentum animation if needed
+		if ( this.options.momentum && duration < 300 ) {
+			momentumX = this.hasHorizontalScroll ? utils.momentum(this.x, this.startX, duration, this.maxScrollX, this.options.bounce ? this.wrapperWidth : 0, this.options.deceleration) : { destination: newX, duration: 0 };
+			momentumY = this.hasVerticalScroll ? utils.momentum(this.y, this.startY, duration, this.maxScrollY, this.options.bounce ? this.wrapperHeight : 0, this.options.deceleration) : { destination: newY, duration: 0 };
+			newX = momentumX.destination;
+			newY = momentumY.destination;
+			time = Math.max(momentumX.duration, momentumY.duration);
+			this.isInTransition = 1;
+		}
+
+
+		if ( this.options.snap ) {
+			var snap = this._nearestSnap(newX, newY);
+			this.currentPage = snap;
+			time = this.options.snapSpeed || Math.max(
+					Math.max(
+						Math.min(Math.abs(newX - snap.x), 1000),
+						Math.min(Math.abs(newY - snap.y), 1000)
+					), 300);
+			newX = snap.x;
+			newY = snap.y;
+
+			this.directionX = 0;
+			this.directionY = 0;
+			easing = this.options.bounceEasing;
+		}
+
+// INSERT POINT: _end
+
+		if ( newX != this.x || newY != this.y ) {
+			// change easing function when scroller goes out of the boundaries
+			if ( newX > 0 || newX < this.maxScrollX || newY > 0 || newY < this.maxScrollY ) {
+				easing = utils.ease.quadratic;
+			}
+
+			this.scrollTo(newX, newY, time, easing);
+			return;
+		}
+
+		this._execEvent('scrollEnd');
+	},
+
+	_resize: function () {
+		var that = this;
+
+		clearTimeout(this.resizeTimeout);
+
+		this.resizeTimeout = setTimeout(function () {
+			that.refresh();
+		}, this.options.resizePolling);
+	},
+
+	resetPosition: function (time) {
+		var x = this.x,
+			y = this.y;
+
+		time = time || 0;
+
+		if ( !this.hasHorizontalScroll || this.x > 0 ) {
+			x = 0;
+		} else if ( this.x < this.maxScrollX ) {
+			x = this.maxScrollX;
+		}
+
+		if ( !this.hasVerticalScroll || this.y > 0 ) {
+			y = 0;
+		} else if ( this.y < this.maxScrollY ) {
+			y = this.maxScrollY;
+		}
+
+		if ( x == this.x && y == this.y ) {
+			return false;
+		}
+
+		this.scrollTo(x, y, time, this.options.bounceEasing);
+
+		return true;
+	},
+
+	disable: function () {
+		this.enabled = false;
+	},
+
+	enable: function () {
+		this.enabled = true;
+	},
+
+	refresh: function () {
+		var rf = this.wrapper.offsetHeight;		// Force reflow
+
+		this.wrapperWidth	= this.wrapper.clientWidth;
+		this.wrapperHeight	= this.wrapper.clientHeight;
+
+/* REPLACE START: refresh */
+
+		this.scrollerWidth	= this.scroller.offsetWidth;
+		this.scrollerHeight	= this.scroller.offsetHeight;
+
+		this.maxScrollX		= this.wrapperWidth - this.scrollerWidth;
+		this.maxScrollY		= this.wrapperHeight - this.scrollerHeight;
+
+/* REPLACE END: refresh */
+
+		this.hasHorizontalScroll	= this.options.scrollX && this.maxScrollX < 0;
+		this.hasVerticalScroll		= this.options.scrollY && this.maxScrollY < 0;
+
+		if ( !this.hasHorizontalScroll ) {
+			this.maxScrollX = 0;
+			this.scrollerWidth = this.wrapperWidth;
+		}
+
+		if ( !this.hasVerticalScroll ) {
+			this.maxScrollY = 0;
+			this.scrollerHeight = this.wrapperHeight;
+		}
+
+		this.endTime = 0;
+		this.directionX = 0;
+		this.directionY = 0;
+
+		this.wrapperOffset = utils.offset(this.wrapper);
+
+		this._execEvent('refresh');
+
+		this.resetPosition();
+
+// INSERT POINT: _refresh
+
+	},
+
+	on: function (type, fn) {
+		if ( !this._events[type] ) {
+			this._events[type] = [];
+		}
+
+		this._events[type].push(fn);
+	},
+
+	off: function (type, fn) {
+		if ( !this._events[type] ) {
+			return;
+		}
+
+		var index = this._events[type].indexOf(fn);
+
+		if ( index > -1 ) {
+			this._events[type].splice(index, 1);
+		}
+	},
+
+	_execEvent: function (type) {
+		if ( !this._events[type] ) {
+			return;
+		}
+
+		var i = 0,
+			l = this._events[type].length;
+
+		if ( !l ) {
+			return;
+		}
+
+		for ( ; i < l; i++ ) {
+			this._events[type][i].apply(this, [].slice.call(arguments, 1));
+		}
+	},
+
+	scrollBy: function (x, y, time, easing) {
+		x = this.x + x;
+		y = this.y + y;
+		time = time || 0;
+
+		this.scrollTo(x, y, time, easing);
+	},
+
+	scrollTo: function (x, y, time, easing) {
+		easing = easing || utils.ease.circular;
+
+		this.isInTransition = this.options.useTransition && time > 0;
+
+		if ( !time || (this.options.useTransition && easing.style) ) {
+			this._transitionTimingFunction(easing.style);
+			this._transitionTime(time);
+			this._translate(x, y);
+		} else {
+			this._animate(x, y, time, easing.fn);
+		}
+	},
+
+	scrollToElement: function (el, time, offsetX, offsetY, easing) {
+		el = el.nodeType ? el : this.scroller.querySelector(el);
+
+		if ( !el ) {
+			return;
+		}
+
+		var pos = utils.offset(el);
+
+		pos.left -= this.wrapperOffset.left;
+		pos.top  -= this.wrapperOffset.top;
+
+		// if offsetX/Y are true we center the element to the screen
+		if ( offsetX === true ) {
+			offsetX = Math.round(el.offsetWidth / 2 - this.wrapper.offsetWidth / 2);
+		}
+		if ( offsetY === true ) {
+			offsetY = Math.round(el.offsetHeight / 2 - this.wrapper.offsetHeight / 2);
+		}
+
+		pos.left -= offsetX || 0;
+		pos.top  -= offsetY || 0;
+
+		pos.left = pos.left > 0 ? 0 : pos.left < this.maxScrollX ? this.maxScrollX : pos.left;
+		pos.top  = pos.top  > 0 ? 0 : pos.top  < this.maxScrollY ? this.maxScrollY : pos.top;
+
+		time = time === undefined || time === null || time === 'auto' ? Math.max(Math.abs(this.x-pos.left), Math.abs(this.y-pos.top)) : time;
+
+		this.scrollTo(pos.left, pos.top, time, easing);
+	},
+
+	_transitionTime: function (time) {
+		time = time || 0;
+
+		this.scrollerStyle[utils.style.transitionDuration] = time + 'ms';
+
+		if ( !time && utils.isBadAndroid ) {
+			this.scrollerStyle[utils.style.transitionDuration] = '0.001s';
+		}
+
+
+		if ( this.indicators ) {
+			for ( var i = this.indicators.length; i--; ) {
+				this.indicators[i].transitionTime(time);
+			}
+		}
+
+
+// INSERT POINT: _transitionTime
+
+	},
+
+	_transitionTimingFunction: function (easing) {
+		this.scrollerStyle[utils.style.transitionTimingFunction] = easing;
+
+
+		if ( this.indicators ) {
+			for ( var i = this.indicators.length; i--; ) {
+				this.indicators[i].transitionTimingFunction(easing);
+			}
+		}
+
+
+// INSERT POINT: _transitionTimingFunction
+
+	},
+
+	_translate: function (x, y) {
+		if ( this.options.useTransform ) {
+
+/* REPLACE START: _translate */
+
+			this.scrollerStyle[utils.style.transform] = 'translate(' + x + 'px,' + y + 'px)' + this.translateZ;
+
+/* REPLACE END: _translate */
+
+		} else {
+			x = Math.round(x);
+			y = Math.round(y);
+			this.scrollerStyle.left = x + 'px';
+			this.scrollerStyle.top = y + 'px';
+		}
+
+		this.x = x;
+		this.y = y;
+
+
+	if ( this.indicators ) {
+		for ( var i = this.indicators.length; i--; ) {
+			this.indicators[i].updatePosition();
+		}
+	}
+
+
+// INSERT POINT: _translate
+
+	},
+
+	_initEvents: function (remove) {
+		var eventType = remove ? utils.removeEvent : utils.addEvent,
+			target = this.options.bindToWrapper ? this.wrapper : window;
+
+		eventType(window, 'orientationchange', this);
+		eventType(window, 'resize', this);
+
+		if ( this.options.click ) {
+			eventType(this.wrapper, 'click', this, true);
+		}
+
+		if ( !this.options.disableMouse ) {
+			eventType(this.wrapper, 'mousedown', this);
+			eventType(target, 'mousemove', this);
+			eventType(target, 'mousecancel', this);
+			eventType(target, 'mouseup', this);
+		}
+
+		if ( utils.hasPointer && !this.options.disablePointer ) {
+			eventType(this.wrapper, utils.prefixPointerEvent('pointerdown'), this);
+			eventType(target, utils.prefixPointerEvent('pointermove'), this);
+			eventType(target, utils.prefixPointerEvent('pointercancel'), this);
+			eventType(target, utils.prefixPointerEvent('pointerup'), this);
+		}
+
+		if ( utils.hasTouch && !this.options.disableTouch ) {
+			eventType(this.wrapper, 'touchstart', this);
+			eventType(target, 'touchmove', this);
+			eventType(target, 'touchcancel', this);
+			eventType(target, 'touchend', this);
+		}
+
+		eventType(this.scroller, 'transitionend', this);
+		eventType(this.scroller, 'webkitTransitionEnd', this);
+		eventType(this.scroller, 'oTransitionEnd', this);
+		eventType(this.scroller, 'MSTransitionEnd', this);
+	},
+
+	getComputedPosition: function () {
+		var matrix = window.getComputedStyle(this.scroller, null),
+			x, y;
+
+		if ( this.options.useTransform ) {
+			matrix = matrix[utils.style.transform].split(')')[0].split(', ');
+			x = +(matrix[12] || matrix[4]);
+			y = +(matrix[13] || matrix[5]);
+		} else {
+			x = +matrix.left.replace(/[^-\d.]/g, '');
+			y = +matrix.top.replace(/[^-\d.]/g, '');
+		}
+
+		return { x: x, y: y };
+	},
+
+	_initIndicators: function () {
+		var interactive = this.options.interactiveScrollbars,
+			customStyle = typeof this.options.scrollbars != 'string',
+			indicators = [],
+			indicator;
+
+		var that = this;
+
+		this.indicators = [];
+
+		if ( this.options.scrollbars ) {
+			// Vertical scrollbar
+			if ( this.options.scrollY ) {
+				indicator = {
+					el: createDefaultScrollbar('v', interactive, this.options.scrollbars),
+					interactive: interactive,
+					defaultScrollbars: true,
+					customStyle: customStyle,
+					resize: this.options.resizeScrollbars,
+					shrink: this.options.shrinkScrollbars,
+					fade: this.options.fadeScrollbars,
+					listenX: false
+				};
+
+				this.wrapper.appendChild(indicator.el);
+				indicators.push(indicator);
+			}
+
+			// Horizontal scrollbar
+			if ( this.options.scrollX ) {
+				indicator = {
+					el: createDefaultScrollbar('h', interactive, this.options.scrollbars),
+					interactive: interactive,
+					defaultScrollbars: true,
+					customStyle: customStyle,
+					resize: this.options.resizeScrollbars,
+					shrink: this.options.shrinkScrollbars,
+					fade: this.options.fadeScrollbars,
+					listenY: false
+				};
+
+				this.wrapper.appendChild(indicator.el);
+				indicators.push(indicator);
+			}
+		}
+
+		if ( this.options.indicators ) {
+			// TODO: check concat compatibility
+			indicators = indicators.concat(this.options.indicators);
+		}
+
+		for ( var i = indicators.length; i--; ) {
+			this.indicators.push( new Indicator(this, indicators[i]) );
+		}
+
+		// TODO: check if we can use array.map (wide compatibility and performance issues)
+		function _indicatorsMap (fn) {
+			for ( var i = that.indicators.length; i--; ) {
+				fn.call(that.indicators[i]);
+			}
+		}
+
+		if ( this.options.fadeScrollbars ) {
+			this.on('scrollEnd', function () {
+				_indicatorsMap(function () {
+					this.fade();
+				});
+			});
+
+			this.on('scrollCancel', function () {
+				_indicatorsMap(function () {
+					this.fade();
+				});
+			});
+
+			this.on('scrollStart', function () {
+				_indicatorsMap(function () {
+					this.fade(1);
+				});
+			});
+
+			this.on('beforeScrollStart', function () {
+				_indicatorsMap(function () {
+					this.fade(1, true);
+				});
+			});
+		}
+
+
+		this.on('refresh', function () {
+			_indicatorsMap(function () {
+				this.refresh();
+			});
+		});
+
+		this.on('destroy', function () {
+			_indicatorsMap(function () {
+				this.destroy();
+			});
+
+			delete this.indicators;
+		});
+	},
+
+	_initWheel: function () {
+		utils.addEvent(this.wrapper, 'wheel', this);
+		utils.addEvent(this.wrapper, 'mousewheel', this);
+		utils.addEvent(this.wrapper, 'DOMMouseScroll', this);
+
+		this.on('destroy', function () {
+			utils.removeEvent(this.wrapper, 'wheel', this);
+			utils.removeEvent(this.wrapper, 'mousewheel', this);
+			utils.removeEvent(this.wrapper, 'DOMMouseScroll', this);
+		});
+	},
+
+	_wheel: function (e) {
+		if ( !this.enabled ) {
+			return;
+		}
+
+		e.preventDefault();
+		e.stopPropagation();
+
+		var wheelDeltaX, wheelDeltaY,
+			newX, newY,
+			that = this;
+
+		if ( this.wheelTimeout === undefined ) {
+			that._execEvent('scrollStart');
+		}
+
+		// Execute the scrollEnd event after 400ms the wheel stopped scrolling
+		clearTimeout(this.wheelTimeout);
+		this.wheelTimeout = setTimeout(function () {
+			that._execEvent('scrollEnd');
+			that.wheelTimeout = undefined;
+		}, 400);
+
+		if ( 'deltaX' in e ) {
+			wheelDeltaX = -e.deltaX;
+			wheelDeltaY = -e.deltaY;
+		} else if ( 'wheelDeltaX' in e ) {
+			wheelDeltaX = e.wheelDeltaX / 120 * this.options.mouseWheelSpeed;
+			wheelDeltaY = e.wheelDeltaY / 120 * this.options.mouseWheelSpeed;
+		} else if ( 'wheelDelta' in e ) {
+			wheelDeltaX = wheelDeltaY = e.wheelDelta / 120 * this.options.mouseWheelSpeed;
+		} else if ( 'detail' in e ) {
+			wheelDeltaX = wheelDeltaY = -e.detail / 3 * this.options.mouseWheelSpeed;
+		} else {
+			return;
+		}
+
+		wheelDeltaX *= this.options.invertWheelDirection;
+		wheelDeltaY *= this.options.invertWheelDirection;
+
+		if ( !this.hasVerticalScroll ) {
+			wheelDeltaX = wheelDeltaY;
+			wheelDeltaY = 0;
+		}
+
+		if ( this.options.snap ) {
+			newX = this.currentPage.pageX;
+			newY = this.currentPage.pageY;
+
+			if ( wheelDeltaX > 0 ) {
+				newX--;
+			} else if ( wheelDeltaX < 0 ) {
+				newX++;
+			}
+
+			if ( wheelDeltaY > 0 ) {
+				newY--;
+			} else if ( wheelDeltaY < 0 ) {
+				newY++;
+			}
+
+			this.goToPage(newX, newY);
+
+			return;
+		}
+
+		newX = this.x + Math.round(this.hasHorizontalScroll ? wheelDeltaX : 0);
+		newY = this.y + Math.round(this.hasVerticalScroll ? wheelDeltaY : 0);
+
+		if ( newX > 0 ) {
+			newX = 0;
+		} else if ( newX < this.maxScrollX ) {
+			newX = this.maxScrollX;
+		}
+
+		if ( newY > 0 ) {
+			newY = 0;
+		} else if ( newY < this.maxScrollY ) {
+			newY = this.maxScrollY;
+		}
+
+		this.scrollTo(newX, newY, 0);
+
+// INSERT POINT: _wheel
+	},
+
+	_initSnap: function () {
+		this.currentPage = {};
+
+		if ( typeof this.options.snap == 'string' ) {
+			this.options.snap = this.scroller.querySelectorAll(this.options.snap);
+		}
+
+		this.on('refresh', function () {
+			var i = 0, l,
+				m = 0, n,
+				cx, cy,
+				x = 0, y,
+				stepX = this.options.snapStepX || this.wrapperWidth,
+				stepY = this.options.snapStepY || this.wrapperHeight,
+				el;
+
+			this.pages = [];
+
+			if ( !this.wrapperWidth || !this.wrapperHeight || !this.scrollerWidth || !this.scrollerHeight ) {
+				return;
+			}
+
+			if ( this.options.snap === true ) {
+				cx = Math.round( stepX / 2 );
+				cy = Math.round( stepY / 2 );
+
+				while ( x > -this.scrollerWidth ) {
+					this.pages[i] = [];
+					l = 0;
+					y = 0;
+
+					while ( y > -this.scrollerHeight ) {
+						this.pages[i][l] = {
+							x: Math.max(x, this.maxScrollX),
+							y: Math.max(y, this.maxScrollY),
+							width: stepX,
+							height: stepY,
+							cx: x - cx,
+							cy: y - cy
+						};
+
+						y -= stepY;
+						l++;
+					}
+
+					x -= stepX;
+					i++;
+				}
+			} else {
+				el = this.options.snap;
+				l = el.length;
+				n = -1;
+
+				for ( ; i < l; i++ ) {
+					if ( i === 0 || el[i].offsetLeft <= el[i-1].offsetLeft ) {
+						m = 0;
+						n++;
+					}
+
+					if ( !this.pages[m] ) {
+						this.pages[m] = [];
+					}
+
+					x = Math.max(-el[i].offsetLeft, this.maxScrollX);
+					y = Math.max(-el[i].offsetTop, this.maxScrollY);
+					cx = x - Math.round(el[i].offsetWidth / 2);
+					cy = y - Math.round(el[i].offsetHeight / 2);
+
+					this.pages[m][n] = {
+						x: x,
+						y: y,
+						width: el[i].offsetWidth,
+						height: el[i].offsetHeight,
+						cx: cx,
+						cy: cy
+					};
+
+					if ( x > this.maxScrollX ) {
+						m++;
+					}
+				}
+			}
+
+			this.goToPage(this.currentPage.pageX || 0, this.currentPage.pageY || 0, 0);
+
+			// Update snap threshold if needed
+			if ( this.options.snapThreshold % 1 === 0 ) {
+				this.snapThresholdX = this.options.snapThreshold;
+				this.snapThresholdY = this.options.snapThreshold;
+			} else {
+				this.snapThresholdX = Math.round(this.pages[this.currentPage.pageX][this.currentPage.pageY].width * this.options.snapThreshold);
+				this.snapThresholdY = Math.round(this.pages[this.currentPage.pageX][this.currentPage.pageY].height * this.options.snapThreshold);
+			}
+		});
+
+		this.on('flick', function () {
+			var time = this.options.snapSpeed || Math.max(
+					Math.max(
+						Math.min(Math.abs(this.x - this.startX), 1000),
+						Math.min(Math.abs(this.y - this.startY), 1000)
+					), 300);
+
+			this.goToPage(
+				this.currentPage.pageX + this.directionX,
+				this.currentPage.pageY + this.directionY,
+				time
+			);
+		});
+	},
+
+	_nearestSnap: function (x, y) {
+		if ( !this.pages.length ) {
+			return { x: 0, y: 0, pageX: 0, pageY: 0 };
+		}
+
+		var i = 0,
+			l = this.pages.length,
+			m = 0;
+
+		// Check if we exceeded the snap threshold
+		if ( Math.abs(x - this.absStartX) < this.snapThresholdX &&
+			Math.abs(y - this.absStartY) < this.snapThresholdY ) {
+			return this.currentPage;
+		}
+
+		if ( x > 0 ) {
+			x = 0;
+		} else if ( x < this.maxScrollX ) {
+			x = this.maxScrollX;
+		}
+
+		if ( y > 0 ) {
+			y = 0;
+		} else if ( y < this.maxScrollY ) {
+			y = this.maxScrollY;
+		}
+
+		for ( ; i < l; i++ ) {
+			if ( x >= this.pages[i][0].cx ) {
+				x = this.pages[i][0].x;
+				break;
+			}
+		}
+
+		l = this.pages[i].length;
+
+		for ( ; m < l; m++ ) {
+			if ( y >= this.pages[0][m].cy ) {
+				y = this.pages[0][m].y;
+				break;
+			}
+		}
+
+		if ( i == this.currentPage.pageX ) {
+			i += this.directionX;
+
+			if ( i < 0 ) {
+				i = 0;
+			} else if ( i >= this.pages.length ) {
+				i = this.pages.length - 1;
+			}
+
+			x = this.pages[i][0].x;
+		}
+
+		if ( m == this.currentPage.pageY ) {
+			m += this.directionY;
+
+			if ( m < 0 ) {
+				m = 0;
+			} else if ( m >= this.pages[0].length ) {
+				m = this.pages[0].length - 1;
+			}
+
+			y = this.pages[0][m].y;
+		}
+
+		return {
+			x: x,
+			y: y,
+			pageX: i,
+			pageY: m
+		};
+	},
+
+	goToPage: function (x, y, time, easing) {
+		easing = easing || this.options.bounceEasing;
+
+		if ( x >= this.pages.length ) {
+			x = this.pages.length - 1;
+		} else if ( x < 0 ) {
+			x = 0;
+		}
+
+		if ( y >= this.pages[x].length ) {
+			y = this.pages[x].length - 1;
+		} else if ( y < 0 ) {
+			y = 0;
+		}
+
+		var posX = this.pages[x][y].x,
+			posY = this.pages[x][y].y;
+
+		time = time === undefined ? this.options.snapSpeed || Math.max(
+			Math.max(
+				Math.min(Math.abs(posX - this.x), 1000),
+				Math.min(Math.abs(posY - this.y), 1000)
+			), 300) : time;
+
+		this.currentPage = {
+			x: posX,
+			y: posY,
+			pageX: x,
+			pageY: y
+		};
+
+		this.scrollTo(posX, posY, time, easing);
+	},
+
+	next: function (time, easing) {
+		var x = this.currentPage.pageX,
+			y = this.currentPage.pageY;
+
+		x++;
+
+		if ( x >= this.pages.length && this.hasVerticalScroll ) {
+			x = 0;
+			y++;
+		}
+
+		this.goToPage(x, y, time, easing);
+	},
+
+	prev: function (time, easing) {
+		var x = this.currentPage.pageX,
+			y = this.currentPage.pageY;
+
+		x--;
+
+		if ( x < 0 && this.hasVerticalScroll ) {
+			x = 0;
+			y--;
+		}
+
+		this.goToPage(x, y, time, easing);
+	},
+
+	_initKeys: function (e) {
+		// default key bindings
+		var keys = {
+			pageUp: 33,
+			pageDown: 34,
+			end: 35,
+			home: 36,
+			left: 37,
+			up: 38,
+			right: 39,
+			down: 40
+		};
+		var i;
+
+		// if you give me characters I give you keycode
+		if ( typeof this.options.keyBindings == 'object' ) {
+			for ( i in this.options.keyBindings ) {
+				if ( typeof this.options.keyBindings[i] == 'string' ) {
+					this.options.keyBindings[i] = this.options.keyBindings[i].toUpperCase().charCodeAt(0);
+				}
+			}
+		} else {
+			this.options.keyBindings = {};
+		}
+
+		for ( i in keys ) {
+			this.options.keyBindings[i] = this.options.keyBindings[i] || keys[i];
+		}
+
+		utils.addEvent(window, 'keydown', this);
+
+		this.on('destroy', function () {
+			utils.removeEvent(window, 'keydown', this);
+		});
+	},
+
+	_key: function (e) {
+		if ( !this.enabled ) {
+			return;
+		}
+
+		var snap = this.options.snap,	// we are using this alot, better to cache it
+			newX = snap ? this.currentPage.pageX : this.x,
+			newY = snap ? this.currentPage.pageY : this.y,
+			now = utils.getTime(),
+			prevTime = this.keyTime || 0,
+			acceleration = 0.250,
+			pos;
+
+		if ( this.options.useTransition && this.isInTransition ) {
+			pos = this.getComputedPosition();
+
+			this._translate(Math.round(pos.x), Math.round(pos.y));
+			this.isInTransition = false;
+		}
+
+		this.keyAcceleration = now - prevTime < 200 ? Math.min(this.keyAcceleration + acceleration, 50) : 0;
+
+		switch ( e.keyCode ) {
+			case this.options.keyBindings.pageUp:
+				if ( this.hasHorizontalScroll && !this.hasVerticalScroll ) {
+					newX += snap ? 1 : this.wrapperWidth;
+				} else {
+					newY += snap ? 1 : this.wrapperHeight;
+				}
+				break;
+			case this.options.keyBindings.pageDown:
+				if ( this.hasHorizontalScroll && !this.hasVerticalScroll ) {
+					newX -= snap ? 1 : this.wrapperWidth;
+				} else {
+					newY -= snap ? 1 : this.wrapperHeight;
+				}
+				break;
+			case this.options.keyBindings.end:
+				newX = snap ? this.pages.length-1 : this.maxScrollX;
+				newY = snap ? this.pages[0].length-1 : this.maxScrollY;
+				break;
+			case this.options.keyBindings.home:
+				newX = 0;
+				newY = 0;
+				break;
+			case this.options.keyBindings.left:
+				newX += snap ? -1 : 5 + this.keyAcceleration>>0;
+				break;
+			case this.options.keyBindings.up:
+				newY += snap ? 1 : 5 + this.keyAcceleration>>0;
+				break;
+			case this.options.keyBindings.right:
+				newX -= snap ? -1 : 5 + this.keyAcceleration>>0;
+				break;
+			case this.options.keyBindings.down:
+				newY -= snap ? 1 : 5 + this.keyAcceleration>>0;
+				break;
+			default:
+				return;
+		}
+
+		if ( snap ) {
+			this.goToPage(newX, newY);
+			return;
+		}
+
+		if ( newX > 0 ) {
+			newX = 0;
+			this.keyAcceleration = 0;
+		} else if ( newX < this.maxScrollX ) {
+			newX = this.maxScrollX;
+			this.keyAcceleration = 0;
+		}
+
+		if ( newY > 0 ) {
+			newY = 0;
+			this.keyAcceleration = 0;
+		} else if ( newY < this.maxScrollY ) {
+			newY = this.maxScrollY;
+			this.keyAcceleration = 0;
+		}
+
+		this.scrollTo(newX, newY, 0);
+
+		this.keyTime = now;
+	},
+
+	_animate: function (destX, destY, duration, easingFn) {
+		var that = this,
+			startX = this.x,
+			startY = this.y,
+			startTime = utils.getTime(),
+			destTime = startTime + duration;
+
+		function step () {
+			var now = utils.getTime(),
+				newX, newY,
+				easing;
+
+			if ( now >= destTime ) {
+				that.isAnimating = false;
+				that._translate(destX, destY);
+
+				if ( !that.resetPosition(that.options.bounceTime) ) {
+					that._execEvent('scrollEnd');
+				}
+
+				return;
+			}
+
+			now = ( now - startTime ) / duration;
+			easing = easingFn(now);
+			newX = ( destX - startX ) * easing + startX;
+			newY = ( destY - startY ) * easing + startY;
+			that._translate(newX, newY);
+
+			if ( that.isAnimating ) {
+				rAF(step);
+			}
+		}
+
+		this.isAnimating = true;
+		step();
+	},
+	handleEvent: function (e) {
+		switch ( e.type ) {
+			case 'touchstart':
+			case 'pointerdown':
+			case 'MSPointerDown':
+			case 'mousedown':
+				this._start(e);
+				break;
+			case 'touchmove':
+			case 'pointermove':
+			case 'MSPointerMove':
+			case 'mousemove':
+				this._move(e);
+				break;
+			case 'touchend':
+			case 'pointerup':
+			case 'MSPointerUp':
+			case 'mouseup':
+			case 'touchcancel':
+			case 'pointercancel':
+			case 'MSPointerCancel':
+			case 'mousecancel':
+				this._end(e);
+				break;
+			case 'orientationchange':
+			case 'resize':
+				this._resize();
+				break;
+			case 'transitionend':
+			case 'webkitTransitionEnd':
+			case 'oTransitionEnd':
+			case 'MSTransitionEnd':
+				this._transitionEnd(e);
+				break;
+			case 'wheel':
+			case 'DOMMouseScroll':
+			case 'mousewheel':
+				this._wheel(e);
+				break;
+			case 'keydown':
+				this._key(e);
+				break;
+			case 'click':
+				if ( !e._constructed ) {
+					e.preventDefault();
+					e.stopPropagation();
+				}
+				break;
+		}
+	}
+};
+function createDefaultScrollbar (direction, interactive, type) {
+	var scrollbar = document.createElement('div'),
+		indicator = document.createElement('div');
+
+	if ( type === true ) {
+		scrollbar.style.cssText = 'position:absolute;z-index:9999';
+		indicator.style.cssText = '-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:absolute;background:rgba(0,0,0,0.5);border:1px solid rgba(255,255,255,0.9);border-radius:3px';
+	}
+
+	indicator.className = 'iScrollIndicator';
+
+	if ( direction == 'h' ) {
+		if ( type === true ) {
+			scrollbar.style.cssText += ';height:7px;left:2px;right:2px;bottom:0';
+			indicator.style.height = '100%';
+		}
+		scrollbar.className = 'iScrollHorizontalScrollbar';
+	} else {
+		if ( type === true ) {
+			scrollbar.style.cssText += ';width:7px;bottom:2px;top:2px;right:1px';
+			indicator.style.width = '100%';
+		}
+		scrollbar.className = 'iScrollVerticalScrollbar';
+	}
+
+	scrollbar.style.cssText += ';overflow:hidden';
+
+	if ( !interactive ) {
+		scrollbar.style.pointerEvents = 'none';
+	}
+
+	scrollbar.appendChild(indicator);
+
+	return scrollbar;
+}
+
+function Indicator (scroller, options) {
+	this.wrapper = typeof options.el == 'string' ? document.querySelector(options.el) : options.el;
+	this.wrapperStyle = this.wrapper.style;
+	this.indicator = this.wrapper.children[0];
+	this.indicatorStyle = this.indicator.style;
+	this.scroller = scroller;
+
+	this.options = {
+		listenX: true,
+		listenY: true,
+		interactive: false,
+		resize: true,
+		defaultScrollbars: false,
+		shrink: false,
+		fade: false,
+		speedRatioX: 0,
+		speedRatioY: 0
+	};
+
+	for ( var i in options ) {
+		this.options[i] = options[i];
+	}
+
+	this.sizeRatioX = 1;
+	this.sizeRatioY = 1;
+	this.maxPosX = 0;
+	this.maxPosY = 0;
+
+	if ( this.options.interactive ) {
+		if ( !this.options.disableTouch ) {
+			utils.addEvent(this.indicator, 'touchstart', this);
+			utils.addEvent(window, 'touchend', this);
+		}
+		if ( !this.options.disablePointer ) {
+			utils.addEvent(this.indicator, utils.prefixPointerEvent('pointerdown'), this);
+			utils.addEvent(window, utils.prefixPointerEvent('pointerup'), this);
+		}
+		if ( !this.options.disableMouse ) {
+			utils.addEvent(this.indicator, 'mousedown', this);
+			utils.addEvent(window, 'mouseup', this);
+		}
+	}
+
+	if ( this.options.fade ) {
+		this.wrapperStyle[utils.style.transform] = this.scroller.translateZ;
+		this.wrapperStyle[utils.style.transitionDuration] = utils.isBadAndroid ? '0.001s' : '0ms';
+		this.wrapperStyle.opacity = '0';
+	}
+}
+
+Indicator.prototype = {
+	handleEvent: function (e) {
+		switch ( e.type ) {
+			case 'touchstart':
+			case 'pointerdown':
+			case 'MSPointerDown':
+			case 'mousedown':
+				this._start(e);
+				break;
+			case 'touchmove':
+			case 'pointermove':
+			case 'MSPointerMove':
+			case 'mousemove':
+				this._move(e);
+				break;
+			case 'touchend':
+			case 'pointerup':
+			case 'MSPointerUp':
+			case 'mouseup':
+			case 'touchcancel':
+			case 'pointercancel':
+			case 'MSPointerCancel':
+			case 'mousecancel':
+				this._end(e);
+				break;
+		}
+	},
+
+	destroy: function () {
+		if ( this.options.interactive ) {
+			utils.removeEvent(this.indicator, 'touchstart', this);
+			utils.removeEvent(this.indicator, utils.prefixPointerEvent('pointerdown'), this);
+			utils.removeEvent(this.indicator, 'mousedown', this);
+
+			utils.removeEvent(window, 'touchmove', this);
+			utils.removeEvent(window, utils.prefixPointerEvent('pointermove'), this);
+			utils.removeEvent(window, 'mousemove', this);
+
+			utils.removeEvent(window, 'touchend', this);
+			utils.removeEvent(window, utils.prefixPointerEvent('pointerup'), this);
+			utils.removeEvent(window, 'mouseup', this);
+		}
+
+		if ( this.options.defaultScrollbars ) {
+			this.wrapper.parentNode.removeChild(this.wrapper);
+		}
+	},
+
+	_start: function (e) {
+		var point = e.touches ? e.touches[0] : e;
+
+		e.preventDefault();
+		e.stopPropagation();
+
+		this.transitionTime();
+
+		this.initiated = true;
+		this.moved = false;
+		this.lastPointX	= point.pageX;
+		this.lastPointY	= point.pageY;
+
+		this.startTime	= utils.getTime();
+
+		if ( !this.options.disableTouch ) {
+			utils.addEvent(window, 'touchmove', this);
+		}
+		if ( !this.options.disablePointer ) {
+			utils.addEvent(window, utils.prefixPointerEvent('pointermove'), this);
+		}
+		if ( !this.options.disableMouse ) {
+			utils.addEvent(window, 'mousemove', this);
+		}
+
+		this.scroller._execEvent('beforeScrollStart');
+	},
+
+	_move: function (e) {
+		var point = e.touches ? e.touches[0] : e,
+			deltaX, deltaY,
+			newX, newY,
+			timestamp = utils.getTime();
+
+		if ( !this.moved ) {
+			this.scroller._execEvent('scrollStart');
+		}
+
+		this.moved = true;
+
+		deltaX = point.pageX - this.lastPointX;
+		this.lastPointX = point.pageX;
+
+		deltaY = point.pageY - this.lastPointY;
+		this.lastPointY = point.pageY;
+
+		newX = this.x + deltaX;
+		newY = this.y + deltaY;
+
+		this._pos(newX, newY);
+
+// INSERT POINT: indicator._move
+
+		e.preventDefault();
+		e.stopPropagation();
+	},
+
+	_end: function (e) {
+		if ( !this.initiated ) {
+			return;
+		}
+
+		this.initiated = false;
+
+		e.preventDefault();
+		e.stopPropagation();
+
+		utils.removeEvent(window, 'touchmove', this);
+		utils.removeEvent(window, utils.prefixPointerEvent('pointermove'), this);
+		utils.removeEvent(window, 'mousemove', this);
+
+		if ( this.scroller.options.snap ) {
+			var snap = this.scroller._nearestSnap(this.scroller.x, this.scroller.y);
+
+			var time = this.options.snapSpeed || Math.max(
+					Math.max(
+						Math.min(Math.abs(this.scroller.x - snap.x), 1000),
+						Math.min(Math.abs(this.scroller.y - snap.y), 1000)
+					), 300);
+
+			if ( this.scroller.x != snap.x || this.scroller.y != snap.y ) {
+				this.scroller.directionX = 0;
+				this.scroller.directionY = 0;
+				this.scroller.currentPage = snap;
+				this.scroller.scrollTo(snap.x, snap.y, time, this.scroller.options.bounceEasing);
+			}
+		}
+
+		if ( this.moved ) {
+			this.scroller._execEvent('scrollEnd');
+		}
+	},
+
+	transitionTime: function (time) {
+		time = time || 0;
+		this.indicatorStyle[utils.style.transitionDuration] = time + 'ms';
+
+		if ( !time && utils.isBadAndroid ) {
+			this.indicatorStyle[utils.style.transitionDuration] = '0.001s';
+		}
+	},
+
+	transitionTimingFunction: function (easing) {
+		this.indicatorStyle[utils.style.transitionTimingFunction] = easing;
+	},
+
+	refresh: function () {
+		this.transitionTime();
+
+		if ( this.options.listenX && !this.options.listenY ) {
+			this.indicatorStyle.display = this.scroller.hasHorizontalScroll ? 'block' : 'none';
+		} else if ( this.options.listenY && !this.options.listenX ) {
+			this.indicatorStyle.display = this.scroller.hasVerticalScroll ? 'block' : 'none';
+		} else {
+			this.indicatorStyle.display = this.scroller.hasHorizontalScroll || this.scroller.hasVerticalScroll ? 'block' : 'none';
+		}
+
+		if ( this.scroller.hasHorizontalScroll && this.scroller.hasVerticalScroll ) {
+			utils.addClass(this.wrapper, 'iScrollBothScrollbars');
+			utils.removeClass(this.wrapper, 'iScrollLoneScrollbar');
+
+			if ( this.options.defaultScrollbars && this.options.customStyle ) {
+				if ( this.options.listenX ) {
+					this.wrapper.style.right = '8px';
+				} else {
+					this.wrapper.style.bottom = '8px';
+				}
+			}
+		} else {
+			utils.removeClass(this.wrapper, 'iScrollBothScrollbars');
+			utils.addClass(this.wrapper, 'iScrollLoneScrollbar');
+
+			if ( this.options.defaultScrollbars && this.options.customStyle ) {
+				if ( this.options.listenX ) {
+					this.wrapper.style.right = '2px';
+				} else {
+					this.wrapper.style.bottom = '2px';
+				}
+			}
+		}
+
+		var r = this.wrapper.offsetHeight;	// force refresh
+
+		if ( this.options.listenX ) {
+			this.wrapperWidth = this.wrapper.clientWidth;
+			if ( this.options.resize ) {
+				this.indicatorWidth = Math.max(Math.round(this.wrapperWidth * this.wrapperWidth / (this.scroller.scrollerWidth || this.wrapperWidth || 1)), 8);
+				this.indicatorStyle.width = this.indicatorWidth + 'px';
+			} else {
+				this.indicatorWidth = this.indicator.clientWidth;
+			}
+
+			this.maxPosX = this.wrapperWidth - this.indicatorWidth;
+
+			if ( this.options.shrink == 'clip' ) {
+				this.minBoundaryX = -this.indicatorWidth + 8;
+				this.maxBoundaryX = this.wrapperWidth - 8;
+			} else {
+				this.minBoundaryX = 0;
+				this.maxBoundaryX = this.maxPosX;
+			}
+
+			this.sizeRatioX = this.options.speedRatioX || (this.scroller.maxScrollX && (this.maxPosX / this.scroller.maxScrollX));	
+		}
+
+		if ( this.options.listenY ) {
+			this.wrapperHeight = this.wrapper.clientHeight;
+			if ( this.options.resize ) {
+				this.indicatorHeight = Math.max(Math.round(this.wrapperHeight * this.wrapperHeight / (this.scroller.scrollerHeight || this.wrapperHeight || 1)), 8);
+				this.indicatorStyle.height = this.indicatorHeight + 'px';
+			} else {
+				this.indicatorHeight = this.indicator.clientHeight;
+			}
+
+			this.maxPosY = this.wrapperHeight - this.indicatorHeight;
+
+			if ( this.options.shrink == 'clip' ) {
+				this.minBoundaryY = -this.indicatorHeight + 8;
+				this.maxBoundaryY = this.wrapperHeight - 8;
+			} else {
+				this.minBoundaryY = 0;
+				this.maxBoundaryY = this.maxPosY;
+			}
+
+			this.maxPosY = this.wrapperHeight - this.indicatorHeight;
+			this.sizeRatioY = this.options.speedRatioY || (this.scroller.maxScrollY && (this.maxPosY / this.scroller.maxScrollY));
+		}
+
+		this.updatePosition();
+	},
+
+	updatePosition: function () {
+		var x = this.options.listenX && Math.round(this.sizeRatioX * this.scroller.x) || 0,
+			y = this.options.listenY && Math.round(this.sizeRatioY * this.scroller.y) || 0;
+
+		if ( !this.options.ignoreBoundaries ) {
+			if ( x < this.minBoundaryX ) {
+				if ( this.options.shrink == 'scale' ) {
+					this.width = Math.max(this.indicatorWidth + x, 8);
+					this.indicatorStyle.width = this.width + 'px';
+				}
+				x = this.minBoundaryX;
+			} else if ( x > this.maxBoundaryX ) {
+				if ( this.options.shrink == 'scale' ) {
+					this.width = Math.max(this.indicatorWidth - (x - this.maxPosX), 8);
+					this.indicatorStyle.width = this.width + 'px';
+					x = this.maxPosX + this.indicatorWidth - this.width;
+				} else {
+					x = this.maxBoundaryX;
+				}
+			} else if ( this.options.shrink == 'scale' && this.width != this.indicatorWidth ) {
+				this.width = this.indicatorWidth;
+				this.indicatorStyle.width = this.width + 'px';
+			}
+
+			if ( y < this.minBoundaryY ) {
+				if ( this.options.shrink == 'scale' ) {
+					this.height = Math.max(this.indicatorHeight + y * 3, 8);
+					this.indicatorStyle.height = this.height + 'px';
+				}
+				y = this.minBoundaryY;
+			} else if ( y > this.maxBoundaryY ) {
+				if ( this.options.shrink == 'scale' ) {
+					this.height = Math.max(this.indicatorHeight - (y - this.maxPosY) * 3, 8);
+					this.indicatorStyle.height = this.height + 'px';
+					y = this.maxPosY + this.indicatorHeight - this.height;
+				} else {
+					y = this.maxBoundaryY;
+				}
+			} else if ( this.options.shrink == 'scale' && this.height != this.indicatorHeight ) {
+				this.height = this.indicatorHeight;
+				this.indicatorStyle.height = this.height + 'px';
+			}
+		}
+
+		this.x = x;
+		this.y = y;
+
+		if ( this.scroller.options.useTransform ) {
+			this.indicatorStyle[utils.style.transform] = 'translate(' + x + 'px,' + y + 'px)' + this.scroller.translateZ;
+		} else {
+			this.indicatorStyle.left = x + 'px';
+			this.indicatorStyle.top = y + 'px';
+		}
+	},
+
+	_pos: function (x, y) {
+		if ( x < 0 ) {
+			x = 0;
+		} else if ( x > this.maxPosX ) {
+			x = this.maxPosX;
+		}
+
+		if ( y < 0 ) {
+			y = 0;
+		} else if ( y > this.maxPosY ) {
+			y = this.maxPosY;
+		}
+
+		x = this.options.listenX ? Math.round(x / this.sizeRatioX) : this.scroller.x;
+		y = this.options.listenY ? Math.round(y / this.sizeRatioY) : this.scroller.y;
+
+		this.scroller.scrollTo(x, y);
+	},
+
+	fade: function (val, hold) {
+		if ( hold && !this.visible ) {
+			return;
+		}
+
+		clearTimeout(this.fadeTimeout);
+		this.fadeTimeout = null;
+
+		var time = val ? 250 : 500,
+			delay = val ? 0 : 300;
+
+		val = val ? '1' : '0';
+
+		this.wrapperStyle[utils.style.transitionDuration] = time + 'ms';
+
+		this.fadeTimeout = setTimeout((function (val) {
+			this.wrapperStyle.opacity = val;
+			this.visible = +val;
+		}).bind(this, val), delay);
+	}
+};
+
+IScroll.utils = utils;
+
+if ( typeof module != 'undefined' && module.exports ) {
+	module.exports = IScroll;
+} else {
+	window.IScroll = IScroll;
+}
+
+})(window, document, Math);

+ 66 - 0
xihuaTemplate/js/list.js

@@ -0,0 +1,66 @@
+$(function(){
+	/*栏目图片高度*/
+	var $lbannerImg = $(".page_title_box").find("img");
+	var imgsrc = $lbannerImg.attr("src");
+	if(imgsrc == "" || imgsrc == undefined){
+		var imgsrc = $lbannerImg.data("imgsrc");
+	}
+	//$lbannerImg.attr("src",imgsrc);
+	$(".page_title_box").css("backgroundImage","url("+imgsrc+")");
+	
+	var os = function(){  
+		var ua = navigator.userAgent,  
+		isWindowsPhone = /(?:Windows Phone)/.test(ua),  
+		isSymbian = /(?:SymbianOS)/.test(ua) || isWindowsPhone,   
+		isAndroid = /(?:Android)/.test(ua),   
+		isFireFox = /(?:Firefox)/.test(ua),   
+		isChrome = /(?:Chrome|CriOS)/.test(ua),  
+		isTablet = /(?:iPad|PlayBook)/.test(ua) || (isAndroid && !/(?:Mobile)/.test(ua)) || (isFireFox && /(?:Tablet)/.test(ua)),  
+		isPhone = /(?:iPhone)/.test(ua) && !isTablet,  
+		isPc = !isPhone && !isAndroid && !isSymbian;  
+		return {  
+			isTablet: isTablet,  
+			isPhone: isPhone,  
+			isAndroid : isAndroid,  
+			isPc : isPc  
+		};  
+	}();
+
+	if(os.isAndroid || os.isPhone || os.isTablet){
+	    scrollTable()
+	}
+	if(os.isPhone || os.isTablet){
+		var idIframe = 'wrapperinner-iframe-t';
+		$(".wp_articlecontent iframe").each(function(i, iframe){
+			var idsIframe = idIframe+'-'+i;
+			$wrapper = $('<div class="wrapperiframe" id="'+idsIframe+'" />');
+			$(iframe).wrap($wrapper);
+			var resultContentH = $(iframe).height();
+			$("#"+ids).height(resultContentH+20);
+		});
+	}
+	function scrollTable(){
+		setTimeout(function(){
+			var id = 'wrapperinner-tab-t';
+			$(".wp_articlecontent table").each(function(i, table){
+				var ids = id+'-'+i;
+				$wrapper = $('<div class="wrapperinner" id="'+ids+'" />');
+				$scroller = $('<div class="scroller" />');
+				$(table).wrap($wrapper);
+				$(table).wrap($scroller);
+				
+				var resultContentH = $(table).height();
+				$("#"+ids).height(resultContentH+20);
+				var scroller = new IScroll("#"+ids, { eventPassthrough: true, scrollX: true, scrollY: false, preventDefault: false });
+				setTimeout(function(){
+					scroller.refresh();
+				},60);
+				$(table).data("scroller", scroller);
+			});
+		},30);
+	}
+}); 
+
+
+
+

+ 60 - 0
xihuaTemplate/js/main.js

@@ -0,0 +1,60 @@
+$(function () {
+	/*主大图切换*/
+	var isPc = function () {
+		if (
+			window.navigator.userAgent.match(
+				/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i
+			)
+		) {
+			return false; // 移动端
+		} else {
+			return true; // PC端
+		}
+	}()
+	$(".banner_wrapper .focus").sudyfocus({
+		p: 2,
+		zWidth: 1920,
+		zHeight: 800,
+		title: {
+			isAutoWidth: true,
+			active: false
+		},
+		text: {
+			active: false,
+			isAutoHeight: false,
+			href: false
+		},
+		response: true,
+		pagination: true,
+		navigation: true,
+		isNavHover: isPc,
+		href: true,
+		effect: 'slide'
+	});
+
+
+
+	/*教育教学tab*/
+	$(".talent_tab").sudyTab({
+		handle: ".tabs_nav_list .list_item",
+		content: ".tabs_page_wrap .wrap_item",
+		trigger: "click",
+		start: 1,
+		autoPlay: {
+			active: false
+		}
+	});
+
+
+	/*师生作品tab*/
+	$(".works_tab").sudyTab({
+		handle: ".tabs_nav_list .list_item",
+		content: ".tabs_page_wrap .wrap_item",
+		trigger: "click",
+		start: 1,
+		autoPlay: {
+			active: false
+		}
+	});
+
+});

+ 282 - 0
xihuaTemplate/listcolumn.htm

@@ -0,0 +1,282 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset="utf-8" />
+    <meta name="renderer" content="webkit" />
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
+    <meta
+      name="viewport"
+      content="width=device-width,user-scalable=0,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0"
+    />
+    <title>西华大学美术与设计学院</title>
+    <link rel="shortcut icon " type="images/x-icon" href="favicon.ico" />
+    <meta
+      name="keywords"
+      content="美术系、动画系、工业设计系、视觉传达设计系、环境设计系"
+    />
+    <meta
+      name="description"
+      content="西华大学美术与设计学院主要是由原西华大学艺术学院的美术系、工业设计系、视觉传达设计系、环境设计系与动画系于2016年12月组建而成。原西华大学艺术学院美术系的前身是原成都师范高等专科学校美术系,1993年开始招收美术教育专科,1995年开始招收工艺美术专科,2003年西华大学组建后更名为“西华大学艺术学院美术系”并开始招收美术学专业本科。"
+    />
+    <script type="text/javascript" src="extends/extends.js"></script>
+    <link rel="stylesheet" href="./css/reset.css" type="text/css" />
+    <link rel="stylesheet" href="./css/style.css" type="text/css" />
+    <link rel="stylesheet" href="./css/media.css" type="text/css" />
+    <!--[if lt IE 9]>
+      <script src="extends/libs/html5.js"></script>
+    <![endif]-->
+  </head>
+  <body>
+    <!--Start||head-->
+    <div class="wrapper header_wapper">
+      <div class="header_layout">
+        <div class="header_logo">
+          <div>
+            <a href="/">
+              <img src="./images/logo_header.png" alt="logo" />
+            </a>
+          </div>
+        </div>
+        <div class="header_menu">
+          <div class="nav wp-navi">
+            <div class="wp-panel">
+              <div class="wp-window" frag="窗口2">
+                <div frag="窗口内容">
+                  <!--[NaviStructBegin]-->
+                  <ul class="wp-menu">
+                    <!--[NaviItemCycleBegin]-->
+                    <li class="menu-item">
+                      <a class="menu-link" href="{栏目URL}" target="{打开方式}"
+                        >{栏目名称}</a
+                      >
+                      <!--[MenuStructBegin]-->
+                      <em class="menu-switch-arrow"></em>
+                      <ul class="sub-menu">
+                        <!--[MenuItemCycleBegin]-->
+                        <li class="sub-item">
+                          <a
+                            class="sub-link"
+                            href="{栏目URL}"
+                            target="{打开方式}"
+                            >{栏目名称}</a
+                          ><!--[SubMenuList]-->
+                        </li>
+                        <!--[MenuItemCycleEnd]-->
+                      </ul>
+                      <!--[MenuStructEnd]-->
+                    </li>
+
+                    <!--[NaviItemCycleEnd]-->
+                  </ul>
+                  <!--[NaviStructEnd]-->
+                </div>
+              </div>
+            </div>
+          </div>
+        </div>
+        <div class="header_btns">
+          <div class="search_box" frag="窗口112">
+            <div frag="窗口内容">
+              <!--搜索组件-->
+              <div class="wp-search">
+                <form action="搜索地址" method="post" target="_blank">
+                  <div class="form_box">
+                    <div class="search-input">
+                      <input
+                        name="keyword"
+                        type="text"
+                        placeholder="请输入关键词..."
+                      />
+                    </div>
+                    <div class="search-btn">
+                      <input
+                        name="submit"
+                        class="search-submit"
+                        type="submit"
+                        value="搜索"
+                      />
+                    </div>
+                  </div>
+                </form>
+              </div>
+              <!--//复制以上代码到自定义搜索-->
+            </div>
+            <div class="search_icon"></div>
+          </div>
+          <div class="mobile_menu">
+            <div class="mobile_menu_taggle">
+              <img src="./images/menu.png" alt="button" />
+            </div>
+          </div>
+        </div>
+      </div>
+    </div>
+    <!--End||head-->
+
+    <!--aside导航-->
+    <div class="wp-navi-aside" id="wp-navi-aside">
+      <div class="aside-inner">
+        <div class="navi-aside-wrap"></div>
+      </div>
+      <div class="navi-aside-mask"></div>
+    </div>
+
+    <!--Start||focus-->
+    <div
+      class="header_btm_wrapper"
+      frag="窗口3"
+      portletmode="simpleColumnAttri"
+    >
+      <div frag="窗口内容">
+        <div class="page_title_box">
+          <img src="{栏目图片URL}" data-imgsrc="./images/banner.png" />
+          <div class="title detail_inner">
+            <h1>{位置栏目}</h1>
+            <h2>{栏目简介}</h2>
+          </div>
+        </div>
+      </div>
+    </div>
+
+    <!--End||focus-->
+    <!--Start||content-->
+    <div class="page_tabs_box">
+      <div class="detail_inner" frag="窗口4" portletmode="simpleColumnList">
+        <div frag="窗口内容">
+          <!--[ColumnStructBegin]-->
+          <ul class="page_tab_list">
+            <!--[ColumnCycleBegin]-->
+            <li class="page_list_item {选中样式}">
+              <a
+                title="{栏目名称}"
+                class="item_link {选中样式}"
+                href="{栏目URL}"
+                >{栏目名称}</a
+              >
+              <!--[SubColumnStructBegin]-->
+              <ul class="sub_list">
+                <!--[ColumnCycleBegin]-->
+                <li class="sub_item {选中样式}">
+                  <a
+                    title="{栏目名称}"
+                    class="sub_item_link {选中样式}"
+                    href="{栏目URL}"
+                    target="{打开方式}"
+                    >{栏目名称}</a
+                  ><!--[SubColumnList]-->
+                </li>
+                <!--[ColumnCycleEnd]-->
+              </ul>
+              <!--[SubColumnStructEnd]-->
+            </li>
+
+            <!--[ColumnCycleEnd]-->
+          </ul>
+          <!--[ColumnStructEnd]-->
+        </div>
+      </div>
+    </div>
+    <div class="content_wrapper">
+      <div class="page_article_box">
+        <div class="detail_inner" frag="窗口5" portletmode="simpleList">
+          <div frag="窗口内容">
+            <ul class="page_article_list">
+              <!--[InfoCycleBegin]-->
+              <li class="list_item">
+                <div class="item">
+                  <div class="list_img">{缩略图}</div>
+                  <div class="info_box">
+                    <div class="item_tit">{标题}</div>
+                    <div class="item_desc">{简介}</div>
+                    <div class="item_date">{发布时间}</div>
+                  </div>
+                </div>
+              </li>
+              <!--[InfoCycleEnd]-->
+            </ul>
+          </div>
+        </div>
+      </div>
+    </div>
+
+    <!--End||content-->
+    <!--Start||footer-->
+    <div class="footer_layout">
+      <div class="footer_fix_link" >
+        <div>
+          <div class="link_vertical">
+            <a class="xihua_link" href="http://www.xhu.edu.cn/" target="_blank">
+              西华主页
+            </a>
+            <a class="index_link" href="/"> 学院主页 </a>
+          </div>
+        </div>
+      </div>
+      <div class="top_btn" id="gotop">
+        <img src="./images/arrow_top.png" />
+      </div>
+      <div class="lay_footer wrapper">
+        <div class="inner footer_menu">
+          <div class="logo">
+            <div class="footer_logo">
+              <img src="./images/logo_footer.png" />
+            </div>
+            <div class="footer_tips">
+              <img src="./images/footer_tips.png" />
+            </div>
+            <div class="contact_view">
+              <p class="title">关注我们</p>
+              <p>电话(传真):028-87723068</p>
+              <p>招生就业咨询:028-87721839</p>
+              <p>中国•四川•成都市 西华大学 艺术大楼( 610039 )</p>
+              <p class="qrcode">
+                <img src="./images/footer_qrcode.png" />
+              </p>
+            </div>
+          </div>
+
+          <div class="menus wp-window" frag="窗口7">
+            <div frag="窗口内容">
+              <!--[NaviStructBegin]-->
+              <ul class="wp-menu">
+                <!--[NaviItemCycleBegin]-->
+                <li class="menu-item">
+                  <a class="menu-link" href="{栏目URL}" target="{打开方式}"
+                    >{栏目名称}</a
+                  >
+                  <!--[MenuStructBegin]-->
+                  <ul class="sub-menu">
+                    <!--[MenuItemCycleBegin]-->
+                    <li class="sub-item">
+                      <a class="sub-link" href="{栏目URL}" target="{打开方式}"
+                        >{栏目名称}</a
+                      ><!--[SubMenuList]-->
+                    </li>
+                    <!--[MenuItemCycleEnd]-->
+                  </ul>
+                  <!--[MenuStructEnd]-->
+                </li>
+
+                <!--[NaviItemCycleEnd]-->
+              </ul>
+              <!--[NaviStructEnd]-->
+            </div>
+          </div>
+        </div>
+      </div>
+      <div class="copyright">
+        版权所有 2007-2023 西华大学美术与艺术学院 Copyright © 2007-2023 CAFA.
+        All Rights Reserved.
+      </div>
+    </div>
+    <!--End||footer-->
+  </body>
+  <script type="text/javascript" src="./js/list.js"></script>
+  <script type="text/javascript" src="./js/app.js"></script>
+  <script type="text/javascript">
+    $(function () {
+      // 初始化SDAPP
+      new SDAPP();
+    });
+  </script>
+</html>

+ 277 - 0
xihuaTemplate/listintro.htm

@@ -0,0 +1,277 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset="utf-8" />
+    <meta name="renderer" content="webkit" />
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
+    <meta
+      name="viewport"
+      content="width=device-width,user-scalable=0,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0"
+    />
+    <title>西华大学美术与设计学院</title>
+    <link rel="shortcut icon " type="images/x-icon" href="favicon.ico" />
+    <meta
+      name="keywords"
+      content="美术系、动画系、工业设计系、视觉传达设计系、环境设计系"
+    />
+    <meta
+      name="description"
+      content="西华大学美术与设计学院主要是由原西华大学艺术学院的美术系、工业设计系、视觉传达设计系、环境设计系与动画系于2016年12月组建而成。原西华大学艺术学院美术系的前身是原成都师范高等专科学校美术系,1993年开始招收美术教育专科,1995年开始招收工艺美术专科,2003年西华大学组建后更名为“西华大学艺术学院美术系”并开始招收美术学专业本科。"
+    />
+    <script type="text/javascript" src="extends/extends.js"></script>
+    <link rel="stylesheet" href="./css/reset.css" type="text/css" />
+    <link rel="stylesheet" href="./css/style.css" type="text/css" />
+    <link rel="stylesheet" href="./css/media.css" type="text/css" />
+    <!--[if lt IE 9]>
+      <script src="extends/libs/html5.js"></script>
+    <![endif]-->
+  </head>
+  <body>
+    <!--Start||head-->
+    <div class="wrapper header_wapper">
+      <div class="header_layout">
+        <div class="header_logo">
+          <div>
+            <a href="/">
+              <img src="./images/logo_header.png" alt="logo" />
+            </a>
+          </div>
+        </div>
+        <div class="header_menu">
+          <div class="nav wp-navi">
+            <div class="wp-panel">
+              <div class="wp-window" frag="窗口2">
+                <div frag="窗口内容">
+                  <!--[NaviStructBegin]-->
+                  <ul class="wp-menu">
+                    <!--[NaviItemCycleBegin]-->
+                    <li class="menu-item">
+                      <a class="menu-link" href="{栏目URL}" target="{打开方式}"
+                        >{栏目名称}</a
+                      >
+                      <!--[MenuStructBegin]-->
+                      <em class="menu-switch-arrow"></em>
+                      <ul class="sub-menu">
+                        <!--[MenuItemCycleBegin]-->
+                        <li class="sub-item">
+                          <a
+                            class="sub-link"
+                            href="{栏目URL}"
+                            target="{打开方式}"
+                            >{栏目名称}</a
+                          ><!--[SubMenuList]-->
+                        </li>
+                        <!--[MenuItemCycleEnd]-->
+                      </ul>
+                      <!--[MenuStructEnd]-->
+                    </li>
+
+                    <!--[NaviItemCycleEnd]-->
+                  </ul>
+                  <!--[NaviStructEnd]-->
+                </div>
+              </div>
+            </div>
+          </div>
+        </div>
+        <div class="header_btns">
+          <div class="search_box" frag="窗口112">
+            <div frag="窗口内容">
+              <!--搜索组件-->
+              <div class="wp-search">
+                <form action="搜索地址" method="post" target="_blank">
+                  <div class="form_box">
+                    <div class="search-input">
+                      <input
+                        name="keyword"
+                        type="text"
+                        placeholder="请输入关键词..."
+                      />
+                    </div>
+                    <div class="search-btn">
+                      <input
+                        name="submit"
+                        class="search-submit"
+                        type="submit"
+                        value="搜索"
+                      />
+                    </div>
+                  </div>
+                </form>
+              </div>
+              <!--//复制以上代码到自定义搜索-->
+            </div>
+            <div class="search_icon"></div>
+          </div>
+          <div class="mobile_menu">
+            <div class="mobile_menu_taggle">
+              <img src="./images/menu.png" alt="button" />
+            </div>
+          </div>
+        </div>
+      </div>
+    </div>
+    <!--End||head-->
+
+    <!--aside导航-->
+    <div class="wp-navi-aside" id="wp-navi-aside">
+      <div class="aside-inner">
+        <div class="navi-aside-wrap"></div>
+      </div>
+      <div class="navi-aside-mask"></div>
+    </div>
+    <!--End||nav-->
+
+    <!--Start||focus-->
+    <div
+      class="header_btm_wrapper"
+      frag="窗口3"
+      portletmode="simpleColumnAttri"
+    >
+      <div frag="窗口内容">
+        <div class="page_title_box">
+          <img src="{栏目图片URL}" data-imgsrc="./images/banner.png" />
+          <div class="title detail_inner">
+            <h1>{位置栏目}</h1>
+            <h2>{栏目简介}</h2>
+          </div>
+        </div>
+      </div>
+    </div>
+
+    <!--End||focus-->
+    <!--Start||content-->
+    <div class="page_tabs_box">
+      <div class="detail_inner" frag="窗口4" portletmode="simpleColumnList">
+        <div frag="窗口内容">
+          <!--[ColumnStructBegin]-->
+          <ul class="page_tab_list">
+            <!--[ColumnCycleBegin]-->
+            <li class="page_list_item {选中样式}">
+              <a
+                title="{栏目名称}"
+                class="item_link {选中样式}"
+                href="{栏目URL}"
+                >{栏目名称}</a
+              >
+              <!--[SubColumnStructBegin]-->
+              <ul class="sub_list">
+                <!--[ColumnCycleBegin]-->
+                <li class="sub_item {选中样式}">
+                  <a
+                    title="{栏目名称}"
+                    class="sub_item_link {选中样式}"
+                    href="{栏目URL}"
+                    target="{打开方式}"
+                    >{栏目名称}</a
+                  ><!--[SubColumnList]-->
+                </li>
+                <!--[ColumnCycleEnd]-->
+              </ul>
+              <!--[SubColumnStructEnd]-->
+            </li>
+
+            <!--[ColumnCycleEnd]-->
+          </ul>
+          <!--[ColumnStructEnd]-->
+        </div>
+      </div>
+    </div>
+    <div class="content_wrapper">
+      <div class="page_article_box">
+        <div class="detail_inner" frag="窗口5" portletmode="simpleList">
+          <div frag="窗口内容">
+            <ul class="page_def_list">
+              <!--[InfoCycleBegin]-->
+              <li class="item">
+                {标题}
+                <div class="arrow"></div>
+              </li>
+              <!--[InfoCycleEnd]-->
+            </ul>
+          </div>
+        </div>
+      </div>
+    </div>
+
+    <!--End||content-->
+    <!--Start||footer-->
+    <div class="footer_layout">
+      <div class="footer_fix_link">
+        <div>
+          <div class="link_vertical">
+            <a class="xihua_link" href="http://www.xhu.edu.cn/" target="_blank">
+              西华主页
+            </a>
+            <a class="index_link" href="/"> 学院主页 </a>
+          </div>
+        </div>
+      </div>
+      <div class="top_btn" id="gotop">
+        <img src="./images/arrow_top.png" />
+      </div>
+      <div class="lay_footer wrapper">
+        <div class="inner footer_menu">
+          <div class="logo">
+            <div class="footer_logo">
+              <img src="./images/logo_footer.png" />
+            </div>
+            <div class="footer_tips">
+              <img src="./images/footer_tips.png" />
+            </div>
+            <div class="contact_view">
+              <p class="title">关注我们</p>
+              <p>电话(传真):028-87723068</p>
+              <p>招生就业咨询:028-87721839</p>
+              <p>中国•四川•成都市 西华大学 艺术大楼( 610039 )</p>
+              <p class="qrcode">
+                <img src="./images/footer_qrcode.png" />
+              </p>
+            </div>
+          </div>
+
+          <div class="menus wp-window" frag="窗口7">
+            <div frag="窗口内容">
+              <!--[NaviStructBegin]-->
+              <ul class="wp-menu">
+                <!--[NaviItemCycleBegin]-->
+                <li class="menu-item">
+                  <a class="menu-link" href="{栏目URL}" target="{打开方式}"
+                    >{栏目名称}</a
+                  >
+                  <!--[MenuStructBegin]-->
+                  <ul class="sub-menu">
+                    <!--[MenuItemCycleBegin]-->
+                    <li class="sub-item">
+                      <a class="sub-link" href="{栏目URL}" target="{打开方式}"
+                        >{栏目名称}</a
+                      ><!--[SubMenuList]-->
+                    </li>
+                    <!--[MenuItemCycleEnd]-->
+                  </ul>
+                  <!--[MenuStructEnd]-->
+                </li>
+
+                <!--[NaviItemCycleEnd]-->
+              </ul>
+              <!--[NaviStructEnd]-->
+            </div>
+          </div>
+        </div>
+      </div>
+      <div class="copyright">
+        版权所有 2007-2023 西华大学美术与艺术学院 Copyright © 2007-2023 CAFA.
+        All Rights Reserved.
+      </div>
+    </div>
+    <!--End||footer-->
+  </body>
+  <script type="text/javascript" src="./js/list.js"></script>
+  <script type="text/javascript" src="./js/app.js"></script>
+  <script type="text/javascript">
+    $(function () {
+      // 初始化SDAPP
+      new SDAPP();
+    });
+  </script>
+</html>

+ 279 - 0
xihuaTemplate/listteacher.htm

@@ -0,0 +1,279 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset="utf-8" />
+    <meta name="renderer" content="webkit" />
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
+    <meta
+      name="viewport"
+      content="width=device-width,user-scalable=0,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0"
+    />
+    <title>西华大学美术与设计学院</title>
+    <link rel="shortcut icon " type="images/x-icon" href="favicon.ico" />
+    <meta
+      name="keywords"
+      content="美术系、动画系、工业设计系、视觉传达设计系、环境设计系"
+    />
+    <meta
+      name="description"
+      content="西华大学美术与设计学院主要是由原西华大学艺术学院的美术系、工业设计系、视觉传达设计系、环境设计系与动画系于2016年12月组建而成。原西华大学艺术学院美术系的前身是原成都师范高等专科学校美术系,1993年开始招收美术教育专科,1995年开始招收工艺美术专科,2003年西华大学组建后更名为“西华大学艺术学院美术系”并开始招收美术学专业本科。"
+    />
+    <script type="text/javascript" src="extends/extends.js"></script>
+    <link rel="stylesheet" href="./css/reset.css" type="text/css" />
+    <link rel="stylesheet" href="./css/style.css" type="text/css" />
+    <link rel="stylesheet" href="./css/media.css" type="text/css" />
+    <!--[if lt IE 9]>
+      <script src="extends/libs/html5.js"></script>
+    <![endif]-->
+  </head>
+  <body>
+    <!--Start||head-->
+    <div class="wrapper header_wapper">
+      <div class="header_layout">
+        <div class="header_logo">
+          <div>
+            <a href="/">
+              <img src="./images/logo_header.png" alt="logo" />
+            </a>
+          </div>
+        </div>
+        <div class="header_menu">
+          <div class="nav wp-navi">
+            <div class="wp-panel">
+              <div class="wp-window" frag="窗口2">
+                <div frag="窗口内容">
+                  <!--[NaviStructBegin]-->
+                  <ul class="wp-menu">
+                    <!--[NaviItemCycleBegin]-->
+                    <li class="menu-item">
+                      <a class="menu-link" href="{栏目URL}" target="{打开方式}"
+                        >{栏目名称}</a
+                      >
+                      <!--[MenuStructBegin]-->
+                      <em class="menu-switch-arrow"></em>
+                      <ul class="sub-menu">
+                        <!--[MenuItemCycleBegin]-->
+                        <li class="sub-item">
+                          <a
+                            class="sub-link"
+                            href="{栏目URL}"
+                            target="{打开方式}"
+                            >{栏目名称}</a
+                          ><!--[SubMenuList]-->
+                        </li>
+                        <!--[MenuItemCycleEnd]-->
+                      </ul>
+                      <!--[MenuStructEnd]-->
+                    </li>
+
+                    <!--[NaviItemCycleEnd]-->
+                  </ul>
+                  <!--[NaviStructEnd]-->
+                </div>
+              </div>
+            </div>
+          </div>
+        </div>
+        <div class="header_btns">
+          <div class="search_box" frag="窗口112">
+            <div frag="窗口内容">
+              <!--搜索组件-->
+              <div class="wp-search">
+                <form action="搜索地址" method="post" target="_blank">
+                  <div class="form_box">
+                    <div class="search-input">
+                      <input
+                        name="keyword"
+                        type="text"
+                        placeholder="请输入关键词..."
+                      />
+                    </div>
+                    <div class="search-btn">
+                      <input
+                        name="submit"
+                        class="search-submit"
+                        type="submit"
+                        value="搜索"
+                      />
+                    </div>
+                  </div>
+                </form>
+              </div>
+              <!--//复制以上代码到自定义搜索-->
+            </div>
+            <div class="search_icon"></div>
+          </div>
+          <div class="mobile_menu">
+            <div class="mobile_menu_taggle">
+              <img src="./images/menu.png" alt="button" />
+            </div>
+          </div>
+        </div>
+      </div>
+    </div>
+    <!--End||head-->
+
+    <!--aside导航-->
+    <div class="wp-navi-aside" id="wp-navi-aside">
+      <div class="aside-inner">
+        <div class="navi-aside-wrap"></div>
+      </div>
+      <div class="navi-aside-mask"></div>
+    </div>
+    <!--End||nav-->
+
+    <!--Start||focus-->
+    <div
+      class="header_btm_wrapper"
+      frag="窗口3"
+      portletmode="simpleColumnAttri"
+    >
+      <div frag="窗口内容">
+        <div class="page_title_box">
+          <img src="{栏目图片URL}" data-imgsrc="./images/banner.png" />
+          <div class="title detail_inner">
+            <h1>{位置栏目}</h1>
+            <h2>{栏目简介}</h2>
+          </div>
+        </div>
+      </div>
+    </div>
+
+    <!--End||focus-->
+    <!--Start||content-->
+    <div class="page_tabs_box">
+      <div class="detail_inner" frag="窗口4" portletmode="simpleColumnList">
+        <div frag="窗口内容">
+          <!--[ColumnStructBegin]-->
+          <ul class="page_tab_list">
+            <!--[ColumnCycleBegin]-->
+            <li class="page_list_item {选中样式}">
+              <a
+                title="{栏目名称}"
+                class="item_link {选中样式}"
+                href="{栏目URL}"
+                >{栏目名称}</a
+              >
+              <!--[SubColumnStructBegin]-->
+              <ul class="sub_list">
+                <!--[ColumnCycleBegin]-->
+                <li class="sub_item {选中样式}">
+                  <a
+                    title="{栏目名称}"
+                    class="sub_item_link {选中样式}"
+                    href="{栏目URL}"
+                    target="{打开方式}"
+                    >{栏目名称}</a
+                  ><!--[SubColumnList]-->
+                </li>
+                <!--[ColumnCycleEnd]-->
+              </ul>
+              <!--[SubColumnStructEnd]-->
+            </li>
+
+            <!--[ColumnCycleEnd]-->
+          </ul>
+          <!--[ColumnStructEnd]-->
+        </div>
+      </div>
+    </div>
+    <div class="content_wrapper">
+      <div class="page_article_box">
+        <div class="detail_inner" frag="窗口5" portletmode="simpleList">
+          <div frag="窗口内容">
+            <ul class="page_teacher_list">
+              <!--[InfoCycleBegin]-->
+              <li class="item">
+                {缩略图}
+                <div class="item_footer">
+                  <div class="name">{标题}</div>
+                </div>
+              </li>
+              <!--[InfoCycleEnd]-->
+            </ul>
+          </div>
+        </div>
+      </div>
+    </div>
+
+    <!--End||content-->
+    <!--Start||footer-->
+    <div class="footer_layout">
+      <div class="footer_fix_link">
+        <div>
+          <div class="link_vertical">
+            <a class="xihua_link" href="http://www.xhu.edu.cn/" target="_blank">
+              西华主页
+            </a>
+            <a class="index_link" href="/"> 学院主页 </a>
+          </div>
+        </div>
+      </div>
+      <div class="top_btn" id="gotop">
+        <img src="./images/arrow_top.png" />
+      </div>
+      <div class="lay_footer wrapper">
+        <div class="inner footer_menu">
+          <div class="logo">
+            <div class="footer_logo">
+              <img src="./images/logo_footer.png" />
+            </div>
+            <div class="footer_tips">
+              <img src="./images/footer_tips.png" />
+            </div>
+            <div class="contact_view">
+              <p class="title">关注我们</p>
+              <p>电话(传真):028-87723068</p>
+              <p>招生就业咨询:028-87721839</p>
+              <p>中国•四川•成都市 西华大学 艺术大楼( 610039 )</p>
+              <p class="qrcode">
+                <img src="./images/footer_qrcode.png" />
+              </p>
+            </div>
+          </div>
+
+          <div class="menus wp-window" frag="窗口7">
+            <div frag="窗口内容">
+              <!--[NaviStructBegin]-->
+              <ul class="wp-menu">
+                <!--[NaviItemCycleBegin]-->
+                <li class="menu-item">
+                  <a class="menu-link" href="{栏目URL}" target="{打开方式}"
+                    >{栏目名称}</a
+                  >
+                  <!--[MenuStructBegin]-->
+                  <ul class="sub-menu">
+                    <!--[MenuItemCycleBegin]-->
+                    <li class="sub-item">
+                      <a class="sub-link" href="{栏目URL}" target="{打开方式}"
+                        >{栏目名称}</a
+                      ><!--[SubMenuList]-->
+                    </li>
+                    <!--[MenuItemCycleEnd]-->
+                  </ul>
+                  <!--[MenuStructEnd]-->
+                </li>
+
+                <!--[NaviItemCycleEnd]-->
+              </ul>
+              <!--[NaviStructEnd]-->
+            </div>
+          </div>
+        </div>
+      </div>
+      <div class="copyright">
+        版权所有 2007-2023 西华大学美术与艺术学院 Copyright © 2007-2023 CAFA.
+        All Rights Reserved.
+      </div>
+    </div>
+    <!--End||footer-->
+  </body>
+  <script type="text/javascript" src="./js/list.js"></script>
+  <script type="text/javascript" src="./js/app.js"></script>
+  <script type="text/javascript">
+    $(function () {
+      // 初始化SDAPP
+      new SDAPP();
+    });
+  </script>
+</html>

+ 694 - 0
xihuaTemplate/main.htm

@@ -0,0 +1,694 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset="utf-8" />
+    <meta name="renderer" content="webkit" />
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
+    <meta
+      name="viewport"
+      content="width=device-width,user-scalable=0,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0"
+    />
+    <title>西华大学美术与设计学院</title>
+    <link rel="shortcut icon " type="images/x-icon" href="./favicon.ico" />
+    <meta
+      name="keywords"
+      content="美术系、动画系、工业设计系、视觉传达设计系、环境设计系"
+    />
+    <meta
+      name="description"
+      content="西华大学美术与设计学院主要是由原西华大学艺术学院的美术系、工业设计系、视觉传达设计系、环境设计系与动画系于2016年12月组建而成。原西华大学艺术学院美术系的前身是原成都师范高等专科学校美术系,1993年开始招收美术教育专科,1995年开始招收工艺美术专科,2003年西华大学组建后更名为“西华大学艺术学院美术系”并开始招收美术学专业本科。"
+    />
+    <script type="text/javascript" src="./extends/extends.js"></script>
+    <link rel="stylesheet" href="./css/reset.css" type="text/css" />
+    <link rel="stylesheet" href="./css/style.css" type="text/css" />
+    <link rel="stylesheet" href="./css/media.css" type="text/css" />
+
+    <!--[if lt IE 9]>
+      <script src="extends/libs/html5.js"></script>
+    <![endif]-->
+  </head>
+
+  <body class="main">
+    <!--Start||head-->
+    <div class="wrapper header_wapper">
+      <div class="header_layout">
+        <div class="header_logo">
+          <div>
+            <a href="/">
+              <img src="./images/logo_header.png" alt="logo" />
+            </a>
+          </div>
+        </div>
+        <div class="header_menu">
+          <div class="nav wp-navi">
+            <div class="wp-panel">
+              <div class="wp-window" frag="窗口1">
+                <div frag="窗口内容">
+                  <!--[NaviStructBegin]-->
+                  <ul class="wp-menu">
+                    <!--[NaviItemCycleBegin]-->
+                    <li class="menu-item">
+                      <a class="menu-link" href="{栏目URL}" target="{打开方式}"
+                        >{栏目名称}</a
+                      >
+                      <!--[MenuStructBegin]-->
+                      <em class="menu-switch-arrow"></em>
+                      <ul class="sub-menu">
+                        <!--[MenuItemCycleBegin]-->
+                        <li class="sub-item">
+                          <a
+                            class="sub-link"
+                            href="{栏目URL}"
+                            target="{打开方式}"
+                            >{栏目名称}</a
+                          ><!--[SubMenuList]-->
+                        </li>
+                        <!--[MenuItemCycleEnd]-->
+                      </ul>
+                      <!--[MenuStructEnd]-->
+                    </li>
+
+                    <!--[NaviItemCycleEnd]-->
+                  </ul>
+                  <!--[NaviStructEnd]-->
+                </div>
+              </div>
+            </div>
+          </div>
+        </div>
+        <div class="header_btns">
+          <div class="search_box" frag="窗口112">
+            <div frag="窗口内容">
+              <!--搜索组件-->
+              <div class="wp-search">
+                <form action="搜索地址" method="post" target="_blank">
+                  <div class="form_box">
+                    <div class="search-input">
+                      <input
+                        name="keyword"
+                        type="text"
+                        placeholder="请输入关键词..."
+                      />
+                    </div>
+                    <div class="search-btn">
+                      <input
+                        name="submit"
+                        class="search-submit"
+                        type="submit"
+                        value="搜索"
+                      />
+                    </div>
+                  </div>
+                </form>
+              </div>
+              <!--//复制以上代码到自定义搜索-->
+            </div>
+            <div class="search_icon"></div>
+          </div>
+          <div class="mobile_menu">
+            <div class="mobile_menu_taggle">
+              <img src="./images/menu.png" alt="button" />
+            </div>
+          </div>
+        </div>
+      </div>
+    </div>
+    <!--End||head-->
+
+    <!--aside导航-->
+    <div class="wp-navi-aside" id="wp-navi-aside">
+      <div class="aside-inner">
+        <div class="navi-aside-wrap"></div>
+      </div>
+      <div class="navi-aside-mask"></div>
+    </div>
+    <!--End||nav-->
+    <!--Start||focus-->
+    <div class="wrapper banner_wrapper header_btm_wrapper">
+      <div class="inner clearfix">
+        <div frag="窗口2">
+          <div class="focus"></div>
+          <script type="text/javascript">
+            var w2imgJsons = [
+              <!--[InfoCycleBegin]-->
+              {
+                title: "{标题内容}",
+                src: "{图片路径}",
+                url: "{文章URL}",
+              },
+              <!--[InfoCycleEnd]-->
+              {},
+            ];
+            w2imgJsons.pop();
+          </script>
+        </div>
+      </div>
+    </div>
+    <!--End||focus-->
+    <!--Start||content-->
+    <div class="wrapper home_lay_item_box">
+      <div class="inner">
+        <div class="home_lay_title">
+          最新动态<span>/</span>
+          <span>News</span>
+        </div>
+        <div class="news_lay_box">
+          <div class="news_lay_item" frag="窗口3">
+            <div class="news_tit">要闻快讯</div>
+            <div frag="窗口内容">
+              <div class="news_list">
+                <!--[InfoCycleBegin]-->
+                <div class="list_item item news_{序号值}">
+                  <div class="cover">{缩略图}</div>
+                  <div class="first_date">{发布时间}</div>
+                  <div class="title">{标题}</div>
+                  <div class="item_date">{发布时间}</div>
+                </div>
+                <!--[InfoCycleEnd]-->
+              </div>
+            </div>
+            <div class="list_more" frag="按钮" type="更多">
+              <span class="more_text" frag="按钮内容"
+                >查看更多<i class="arrow"></i
+              ></span>
+            </div>
+          </div>
+          <div class="news_lay_item" frag="窗口4">
+            <div class="news_tit">党建动态</div>
+            <div frag="窗口内容">
+              <div class="news_list_s">
+                <!--[InfoCycleBegin]-->
+                <div class="s_item item news_{序号值}">
+                  <div class="cover">{缩略图}</div>
+                  <div>{标题}</div>
+                </div>
+                <!--[InfoCycleEnd]-->
+              </div>
+            </div>
+            <div class="list_more" frag="按钮" type="更多">
+              <span class="more_text" frag="按钮内容"
+                >查看更多<i class="arrow"></i
+              ></span>
+            </div>
+          </div>
+          <div class="news_lay_item" frag="窗口5">
+            <div class="news_tit">招生就业</div>
+            <div frag="窗口内容">
+              <div class="news_list_s">
+                <!--[InfoCycleBegin]-->
+                <div class="s_item item news_{序号值}">
+                  <div class="cover">{缩略图}</div>
+                  <div>{标题}</div>
+                </div>
+                <!--[InfoCycleEnd]-->
+              </div>
+            </div>
+            <div class="list_more" frag="按钮" type="更多">
+              <span class="more_text" frag="按钮内容"
+                >查看更多<i class="arrow"></i
+              ></span>
+            </div>
+          </div>
+        </div>
+      </div>
+    </div>
+
+    <div class="wrapper home_lay_item_box">
+      <div class="inner" frag="窗口6" portletmode="simpleArticleAttri">
+        <div class="home_lay_title">
+          系部设置<span>/</span>
+          <span>Speciality</span>
+        </div>
+        <div frag="窗口内容">
+          <div class="spe_cards">
+            <!--[InfoCycleBegin]-->
+            <div class="cards_item card_{序号值}">
+              <div class="card_top">
+                <div class="card_icon icon_{序号值}"></div>
+                <div class="card_tit">
+                  <div>{标题}</div>
+                </div>
+              </div>
+              <div class="card_desc">
+                <div class="desc">{简介}</div>
+                <div class="more">
+                  <a href="{文章URL}" target="{打开方式}">
+                    <span class="more_text"
+                      >了解更多 <i class="arrow"></i
+                    ></span>
+                  </a>
+                </div>
+              </div>
+            </div>
+            <!--[InfoCycleEnd]-->
+          </div>
+        </div>
+      </div>
+    </div>
+
+    <div class="wrapper home_lay_item_box wrapper_teacher_bg">
+      <div class="inner" frag="窗口7">
+        <div class="home_lay_title">
+          教师队伍<span>/</span>
+          <span>Teachers</span>
+        </div>
+        <div frag="窗口内容">
+          <div class="teachers_box">
+            <div class="teachers_swiper">
+              <!--[InfoCycleBegin]-->
+              <div class="teacher_slide">
+                <div class="teacher_item">
+                  {缩略图}
+                  <div class="item_footer">
+                    <div class="name">{标题}</div>
+                  </div>
+                </div>
+              </div>
+              <!--[InfoCycleEnd]-->
+            </div>
+          </div>
+        </div>
+        <div class="list_more" frag="按钮" type="更多">
+          <span class="more_text" frag="按钮内容"
+            >查看更多 <i class="arrow"></i
+          ></span>
+        </div>
+      </div>
+    </div>
+
+    <div class="wrapper home_lay_item_box teach_bg">
+      <div class="inner talent_tab">
+        <div class="tabs_header">
+          <div class="home_lay_title">
+            教育教学<span>/</span>
+            <span>Education & teaching</span>
+          </div>
+          <div class="tabs_nav_list">
+            <div class="list_item" frag="窗口81" portletmode="windowTitle">
+              <span frag="窗口内容">{标题8}</span>
+            </div>
+            <div class="list_item" frag="窗口82" portletmode="windowTitle">
+              <span frag="窗口内容">{标题9}</span>
+            </div>
+            <div class="list_item" frag="窗口83" portletmode="windowTitle">
+              <span frag="窗口内容">{标题10}</span>
+            </div>
+          </div>
+        </div>
+        <div class="tabs_page_wrap">
+          <div class="wrap_item" frag="窗口8">
+            <div frag="窗口内容">
+              <ul class="tab_list">
+                <!--[InfoCycleBegin]-->
+                <li class="list_item">
+                  <div class="item">
+                    <div class="list_img">{缩略图}</div>
+                    <div class="info_box">
+                      <div class="item_tit">{标题}</div>
+                      <div class="item_desc">{简介}</div>
+                      <div class="item_date">{发布时间}</div>
+                    </div>
+                  </div>
+                  <!--[InfoCycleEnd]-->
+                </li>
+              </ul>
+            </div>
+            <div class="list_more" frag="按钮" type="更多">
+              <span class="more_text" frag="按钮内容"
+                >查看更多 <i class="arrow"></i
+              ></span>
+            </div>
+          </div>
+          <div class="wrap_item" frag="窗口9">
+            <div frag="窗口内容">
+              <ul class="tab_list">
+                <!--[InfoCycleBegin]-->
+                <li class="list_item">
+                  <div class="item">
+                    <div class="list_img">{缩略图}</div>
+                    <div class="info_box">
+                      <div class="item_tit">{标题}</div>
+                      <div class="item_desc">{简介}</div>
+                      <div class="item_date">{发布时间}</div>
+                    </div>
+                  </div>
+                </li>
+                <!--[InfoCycleEnd]-->
+              </ul>
+            </div>
+            <div class="list_more" frag="按钮" type="更多">
+              <span class="more_text" frag="按钮内容"
+                >查看更多 <i class="arrow"></i
+              ></span>
+            </div>
+          </div>
+          <div class="wrap_item" frag="窗口10">
+            <div frag="窗口内容">
+              <ul class="tab_list">
+                <!--[InfoCycleBegin]-->
+                <li class="list_item">
+                  <div class="item">
+                    <div class="list_img">{缩略图}</div>
+                    <div class="info_box">
+                      <div class="item_tit">{标题}</div>
+                      <div class="item_desc">{简介}</div>
+                      <div class="item_date">{发布时间}</div>
+                    </div>
+                  </div>
+                </li>
+                <!--[InfoCycleEnd]-->
+              </ul>
+            </div>
+            <div class="list_more" frag="按钮" type="更多">
+              <span class="more_text" frag="按钮内容"
+                >查看更多 <i class="arrow"></i
+              ></span>
+            </div>
+          </div>
+        </div>
+      </div>
+    </div>
+
+    <div class="wrapper home_lay_item_box research_bg">
+      <div class="inner" frag="窗口11">
+        <div class="home_lay_title white">
+          科研创作<span>/</span>
+          <span>Scientific Research</span>
+        </div>
+        <div frag="窗口内容">
+          <ul class="tab_list">
+            <!--[InfoCycleBegin]-->
+            <li class="list_item">
+              <div class="item">
+                <div class="list_img">{缩略图}</div>
+                <div class="info_box">
+                  <div class="item_tit">{标题}</div>
+                  <div class="item_desc">{简介}</div>
+                  <div class="item_date">{发布时间}</div>
+                </div>
+              </div>
+            </li>
+            <!--[InfoCycleEnd]-->
+          </ul>
+        </div>
+        <div class="list_more" frag="按钮" type="更多">
+          <span class="more_text" frag="按钮内容"
+            >查看更多 <i class="arrow"></i
+          ></span>
+        </div>
+      </div>
+    </div>
+
+    <div class="wrapper home_lay_item_box work_bg">
+      <div class="inner works_tab">
+        <div class="tabs_header">
+          <div class="home_lay_title white">
+            师生作品<span>/</span>
+            <span>Works</span>
+          </div>
+          <div class="tabs_nav_list">
+            <div class="list_item" frag="窗口121" portletmode="windowTitle">
+              <span frag="窗口内容">{标题12}</span>
+            </div>
+            <div class="list_item" frag="窗口122" portletmode="windowTitle">
+              <span frag="窗口内容">{标题13}</span>
+            </div>
+            <div class="list_item" frag="窗口123" portletmode="windowTitle">
+              <span frag="窗口内容">{标题14}</span>
+            </div>
+            <div class="list_item" frag="窗口124" portletmode="windowTitle">
+              <span frag="窗口内容">{标题15}</span>
+            </div>
+            <div class="list_item" frag="窗口125" portletmode="windowTitle">
+              <span frag="窗口内容">{标题16}</span>
+            </div>
+          </div>
+        </div>
+        <div class="tabs_page_wrap">
+          <div class="wrap_item" frag="窗口12">
+            <div frag="窗口内容">
+              <ul class="tab_list">
+                <!--[InfoCycleBegin]-->
+                <li class="list_item">
+                  <div class="item_link">
+                    {缩略图}
+                    <div class="item_txt">
+                      <div class="name">{标题}</div>
+                    </div>
+                  </div>
+                </li>
+                <!--[InfoCycleEnd]-->
+              </ul>
+            </div>
+            <div class="list_more" frag="按钮" type="更多">
+              <span class="more_text" frag="按钮内容"
+                >查看更多 <i class="arrow"></i
+              ></span>
+            </div>
+          </div>
+          <div class="wrap_item" frag="窗口13">
+            <div frag="窗口内容">
+              <ul class="tab_list">
+                <!--[InfoCycleBegin]-->
+                <li class="list_item">
+                  <div class="item_link">
+                    {缩略图}
+                    <div class="item_txt">
+                      <div class="name">{标题}</div>
+                    </div>
+                  </div>
+                </li>
+                <!--[InfoCycleEnd]-->
+              </ul>
+            </div>
+            <div class="list_more" frag="按钮" type="更多">
+              <span class="more_text" frag="按钮内容"
+                >查看更多 <i class="arrow"></i
+              ></span>
+            </div>
+          </div>
+          <div class="wrap_item" frag="窗口14">
+            <div frag="窗口内容">
+              <ul class="tab_list">
+                <!--[InfoCycleBegin]-->
+                <li class="list_item">
+                  <div class="item_link">
+                    {缩略图}
+                    <div class="item_txt">
+                      <div class="name">{标题}</div>
+                    </div>
+                  </div>
+                </li>
+                <!--[InfoCycleEnd]-->
+              </ul>
+            </div>
+            <div class="list_more" frag="按钮" type="更多">
+              <span class="more_text" frag="按钮内容"
+                >查看更多 <i class="arrow"></i
+              ></span>
+            </div>
+          </div>
+          <div class="wrap_item" frag="窗口15">
+            <div frag="窗口内容">
+              <ul class="tab_list">
+                <!--[InfoCycleBegin]-->
+                <li class="list_item">
+                  <div class="item_link">
+                    {缩略图}
+                    <div class="item_txt">
+                      <div class="name">{标题}</div>
+                    </div>
+                  </div>
+                </li>
+                <!--[InfoCycleEnd]-->
+              </ul>
+            </div>
+            <div class="list_more" frag="按钮" type="更多">
+              <span class="more_text" frag="按钮内容"
+                >查看更多 <i class="arrow"></i
+              ></span>
+            </div>
+          </div>
+          <div class="wrap_item" frag="窗口16">
+            <div frag="窗口内容">
+              <ul class="tab_list">
+                <!--[InfoCycleBegin]-->
+                <li class="list_item">
+                  <div class="item_link">
+                    {缩略图}
+                    <div class="item_txt">
+                      <div class="name">{标题}</div>
+                    </div>
+                  </div>
+                </li>
+                <!--[InfoCycleEnd]-->
+              </ul>
+            </div>
+            <div class="list_more" frag="按钮" type="更多">
+              <span class="more_text" frag="按钮内容"
+                >查看更多 <i class="arrow"></i
+              ></span>
+            </div>
+          </div>
+        </div>
+      </div>
+    </div>
+    <div class="wrapper home_lay_item_box services_bg">
+      <div class="inner">
+        <div class="home_lay_title">
+          学生服务<span>/</span>
+          <span>Services</span>
+        </div>
+        <div class="service_list">
+          <div class="ser_item">
+            <a href="http://www.lib.xhu.edu.cn/" target="_blank">
+              <div class="ser_icon">
+                <img src="./images/icon_home_service_1.png" />
+              </div>
+              <div class="ser_tit">
+                <p>图书馆</p>
+                <p class="desc">丰富馆藏,为师生提供各学科信息查阅服务</p>
+              </div>
+            </a>
+          </div>
+          <div class="ser_item">
+            <a href="http://jwc.xhu.edu.cn/" target="_blank">
+              <div class="ser_icon">
+                <img src="./images/icon_home_service_2.png" />
+              </div>
+              <div class="ser_tit">
+                <p>教育系统</p>
+                <p class="desc">线上教育系统,为师生提供网上教学服务</p>
+              </div>
+            </a>
+          </div>
+          <div class="ser_item">
+            <a href="http://urp.xhu.edu.cn/" target="_blank">
+              <div class="ser_icon">
+                <img src="./images/icon_home_service_3.png" />
+              </div>
+              <div class="ser_tit">
+                <p>校园门户</p>
+                <p class="desc">校园网的主入口,提供校园各类信息服务</p>
+              </div>
+            </a>
+          </div>
+          <div class="ser_item">
+            <a href="http://eclass.xhu.edu.cn/" target="_blank">
+              <div class="ser_icon">
+                <img src="./images/icon_home_service_4.png" />
+              </div>
+              <div class="ser_tit">
+                <p>西华易班</p>
+                <p class="desc">一站式学生事务网络平台,大学生网络互动社区</p>
+              </div>
+            </a>
+          </div>
+          <div class="ser_item">
+            <a href="mailto:msysj@mail.xhu.edu.cn" target="_blank">
+              <div class="ser_icon">
+                <img src="./images/icon_home_service_5.png" />
+              </div>
+              <div class="ser_tit">
+                <p>校长邮箱</p>
+                <p class="desc">学校领导和师生员工互动交流渠道</p>
+              </div>
+            </a>
+          </div>
+          <div class="ser_item">
+            <a href="http://oa.xhu.edu.cn/" target="_blank">
+              <div class="ser_icon">
+                <img src="./images/icon_home_service_6.png" />
+              </div>
+              <div class="ser_tit">
+                <p>办公OA</p>
+                <p class="desc">方便学校师生快捷地共享信息,高效协同工作</p>
+              </div>
+            </a>
+          </div>
+        </div>
+      </div>
+    </div>
+
+    <!--End||content-->
+    <!--Start||footer-->
+    <div class="footer_layout">
+      <div class="footer_fix_link">
+        <div>
+          <div class="link_vertical">
+            <a class="xihua_link" href="http://www.xhu.edu.cn/" target="_blank">
+              西华主页
+            </a>
+            <a class="index_link" href="/"> 学院主页 </a>
+          </div>
+        </div>
+      </div>
+      <div class="top_btn" id="gotop">
+        <img src="./images/arrow_top.png" />
+      </div>
+      <div class="lay_footer wrapper">
+        <div class="inner footer_menu">
+          <div class="logo">
+            <div class="footer_logo">
+              <img src="./images/logo_footer.png" />
+            </div>
+            <div class="footer_tips">
+              <img src="./images/footer_tips.png" />
+            </div>
+            <div class="contact_view">
+              <p class="title">关注我们</p>
+              <p>电话(传真):028-87723068</p>
+              <p>招生就业咨询:028-87721839</p>
+              <p>中国•四川•成都市 西华大学 艺术大楼( 610039 )</p>
+              <p class="qrcode">
+                <img src="./images/footer_qrcode.png" />
+              </p>
+            </div>
+          </div>
+
+          <div class="menus wp-window" frag="窗口17">
+            <div frag="窗口内容">
+              <!--[NaviStructBegin]-->
+              <ul class="wp-menu">
+                <!--[NaviItemCycleBegin]-->
+                <li class="menu-item">
+                  <a class="menu-link" href="{栏目URL}" target="{打开方式}"
+                    >{栏目名称}</a
+                  >
+                  <!--[MenuStructBegin]-->
+                  <ul class="sub-menu">
+                    <!--[MenuItemCycleBegin]-->
+                    <li class="sub-item">
+                      <a class="sub-link" href="{栏目URL}" target="{打开方式}"
+                        >{栏目名称}</a
+                      ><!--[SubMenuList]-->
+                    </li>
+                    <!--[MenuItemCycleEnd]-->
+                  </ul>
+                  <!--[MenuStructEnd]-->
+                </li>
+
+                <!--[NaviItemCycleEnd]-->
+              </ul>
+              <!--[NaviStructEnd]-->
+            </div>
+          </div>
+        </div>
+      </div>
+      <div class="copyright">
+        版权所有 2007-2023 西华大学美术与艺术学院 Copyright © 2007-2023 CAFA.
+        All Rights Reserved.
+      </div>
+    </div>
+    <!--End||footer-->
+  </body>
+
+  <script type="text/javascript" src="./js/main.js"></script>
+  <script type="text/javascript" src="./js/app.js"></script>
+  <script type="text/javascript">
+    $(function () {
+      // 初始化SDAPP
+      new SDAPP();
+    });
+  </script>
+</html>

BIN
xihuaTemplate/summary.jpg


Some files were not shown because too many files changed in this diff