lateri 4 rokov pred
rodič
commit
a2aa792bd2
100 zmenil súbory, kde vykonal 2312 pridanie a 0 odobranie
  1. 1 0
      .gitignore
  2. 699 0
      smty/css/style.css
  3. 122 0
      smty/index.html
  4. 1 0
      smty/js/index.min.js
  5. 1 0
      smty/js/smty.min.js
  6. 468 0
      smty/js/tour.xml
  7. 1 0
      smty/js/ybf.min.js
  8. 12 0
      smty/lib/tour.js
  9. BIN
      smty/lib/tour.swf
  10. 886 0
      smty/lib/tvSysBtnBind.v2.1.js
  11. BIN
      smty/nanimages/0.png
  12. BIN
      smty/nanimages/A1-1216.jpg
  13. BIN
      smty/nanimages/A1-12161.jpg
  14. BIN
      smty/nanimages/HomeHouseMap.png
  15. BIN
      smty/nanimages/HomePoint.png
  16. BIN
      smty/nanimages/auto_rotation.png
  17. BIN
      smty/nanimages/auto_rotation@2x.png
  18. BIN
      smty/nanimages/auto_rotation_click.png
  19. BIN
      smty/nanimages/auto_rotation_click@2x.png
  20. BIN
      smty/nanimages/bg.jpg
  21. BIN
      smty/nanimages/bg.png
  22. BIN
      smty/nanimages/bg1280.jpg
  23. BIN
      smty/nanimages/direction.png
  24. BIN
      smty/nanimages/direction_board.png
  25. BIN
      smty/nanimages/direction_board@2.png
  26. BIN
      smty/nanimages/direction_bottom.png
  27. BIN
      smty/nanimages/direction_bottom@2x.png
  28. BIN
      smty/nanimages/direction_bottom_disable.png
  29. BIN
      smty/nanimages/direction_bottom_disable@2x.png
  30. BIN
      smty/nanimages/direction_left.png
  31. BIN
      smty/nanimages/direction_left@2x.png
  32. BIN
      smty/nanimages/direction_left_disable.png
  33. BIN
      smty/nanimages/direction_left_disable@2x.png
  34. BIN
      smty/nanimages/direction_right.png
  35. BIN
      smty/nanimages/direction_right@2x.png
  36. BIN
      smty/nanimages/direction_right_disable.png
  37. BIN
      smty/nanimages/direction_right_disable@2x.png
  38. BIN
      smty/nanimages/direction_top.png
  39. BIN
      smty/nanimages/direction_top@2x.png
  40. BIN
      smty/nanimages/direction_top_disable.png
  41. BIN
      smty/nanimages/direction_top_disable@2x.png
  42. BIN
      smty/nanimages/direction_walk.png
  43. BIN
      smty/nanimages/direction_walk@2x.png
  44. BIN
      smty/nanimages/kuang.png
  45. BIN
      smty/nanimages/kuang_sel.png
  46. BIN
      smty/nanimages/nan0.jpg
  47. BIN
      smty/nanimages/nanjing_xiaoguotu.jpg
  48. BIN
      smty/nanimages/play4.png
  49. BIN
      smty/nanimages/play4@2x.png
  50. BIN
      smty/nanimages/play4@3x.png
  51. BIN
      smty/nanimages/play_click.png
  52. BIN
      smty/nanimages/play_click@2x.png
  53. BIN
      smty/nanimages/play_click@3x.png
  54. BIN
      smty/nanimages/point.png
  55. BIN
      smty/nanimages/qd_non.png
  56. BIN
      smty/nanimages/qd_sel.png
  57. BIN
      smty/nanimages/rang_1201.png
  58. BIN
      smty/nanimages/rang_1201@2x.png
  59. BIN
      smty/nanimages/rangle.png
  60. BIN
      smty/nanimages/rangle@2x.png
  61. BIN
      smty/nanimages/sc_1.jpg
  62. BIN
      smty/nanimages/sc_2.jpg
  63. BIN
      smty/nanimages/sc_3.jpg
  64. BIN
      smty/nanimages/sc_4.jpg
  65. BIN
      smty/nanimages/tc_yuyue.png
  66. BIN
      smty/nanimages/tc_yy_success.png
  67. BIN
      smty/nanimages/text_bg.png
  68. BIN
      smty/nanimages/tip.jpg
  69. BIN
      smty/nanimages/yao0.png
  70. BIN
      smty/nanimages/yykf2_non.png
  71. BIN
      smty/nanimages/yykf2_sel.png
  72. BIN
      smty/nanimages/yykf_non.png
  73. BIN
      smty/nanimages/yykf_sel.png
  74. BIN
      smty/nanimages/zoomin.png
  75. BIN
      smty/nanimages/zoomin@2x.png
  76. BIN
      smty/nanimages/zoomin_click.png
  77. BIN
      smty/nanimages/zoomin_click@2x.png
  78. BIN
      smty/nanimages/zoomout.png
  79. BIN
      smty/nanimages/zoomout@2x.png
  80. BIN
      smty/nanimages/zoomout_click.png
  81. BIN
      smty/nanimages/zoomout_click@2x.png
  82. 121 0
      smty/smty.html
  83. BIN
      smty/thumb1k/01frontGate1k_f.jpg
  84. BIN
      smty/thumb1k/02masterBedroom1k_f.jpg
  85. BIN
      smty/thumb1k/03masterBedroom1k_f.jpg
  86. BIN
      smty/thumb1k/04masterBedroom1k_f.jpg
  87. BIN
      smty/thumb1k/05masterBedroomToilet1k_f.jpg
  88. BIN
      smty/thumb1k/06masterBedroomPorch1k_f.jpg
  89. BIN
      smty/thumb1k/07masterBedroomCloakroom1k_f.jpg
  90. BIN
      smty/thumb1k/08AguestRoom1k_f.jpg
  91. BIN
      smty/thumb1k/09guestRoomA1k_f.jpg
  92. BIN
      smty/thumb1k/10guestRoomAToilet1k_f.jpg
  93. BIN
      smty/thumb1k/11guestRoomB1k_f.jpg
  94. BIN
      smty/thumb1k/12guestRoomB1k_f.jpg
  95. BIN
      smty/thumb1k/13guestRoomB1k_f.jpg
  96. BIN
      smty/thumb1k/14livingRoom1k_f.jpg
  97. BIN
      smty/thumb1k/15livingRoom1k_f.jpg
  98. BIN
      smty/thumb1k/16livingRoom1k_f.jpg
  99. BIN
      smty/thumb1k/17livingRoom1k_f.jpg
  100. 0 0
      smty/thumb1k/18livingRoom1k_f.jpg

+ 1 - 0
.gitignore

@@ -1,3 +1,4 @@
+smty/panos
 nanjing/panos
 nanjing/yao
 nanjing/tourpanos

+ 699 - 0
smty/css/style.css

@@ -0,0 +1,699 @@
+html,body{
+    height:100%;
+    width: 100%;
+}
+
+body {
+    /* set margin to 0 and overflow to hidden, to go fullscreen */
+    margin: 0;
+    overflow: hidden;
+    /* background-image: url('./nanimages/bg@2x.png');
+    background-size:cover; */
+    color:#ffffff;
+    font-family:  "Microsoft YaHei";  
+    /* width: 120vw; */
+    
+}
+
+.navigation{
+    display: flex;
+    z-index: 10;
+    position: fixed;
+    top:15px;
+    right:15px;
+    user-select: none;
+    -moz-user-select: none;
+    -khtml-user-select: none;
+    -webkit-user-select: none;
+    -o-user-select: none;
+    
+    /* flex-direction: column;
+    align-items: center; */
+}
+
+.navigation .map_img{
+    width: 128px;
+    height: 128px;
+}
+
+#map{
+    position: absolute;
+    /* z-index: 11;
+    top:32px; */
+    right:15px;
+}
+#cam{
+    position: absolute;
+    /* z-index: 12; */
+    /* top:32px; */
+    right:15px;
+    /* transform: rotate(180deg); */
+}
+
+#redPoints{
+    position: relative;
+    right:15px;
+}
+
+.navigation .cam_img{
+    width: 32px;
+    height: 32px;
+}
+
+.navigation .point_img{
+    width: 8px;
+    height: 8px;
+}
+
+#tip{
+    position: absolute;
+    right:15px;
+    bottom: 15px;
+    color: gray;
+    display: none;
+}
+
+#menuTip{
+    position: absolute;
+    left:20px;
+    bottom: 20px;
+    color: gray;
+    display: flex;
+    /* transform: translate(-50%,-50%); */
+    font-size: 26px;
+}
+
+#menuTitle{
+    position: absolute;
+    left:24px;
+    top: 23px;
+    color: #ffffff;
+    display: none;
+    /* transform: translate(-50%,-50%); */
+    font-size: 27px;
+}
+
+#menu{
+    position: absolute;
+    z-index: 9;
+    display: none;
+    bottom: 0px;
+    width: 100%; 
+    overflow: auto;
+    background-color: rgba(0,0,0,0);
+}
+
+#menu .pano{
+    position: relative;
+    /* margin: 10px; */
+    cursor: pointer;
+
+    
+    
+}
+
+#menu .panoEnd{
+    display: flex;
+    justify-content: flex-end;
+    align-items: flex-end;
+}
+
+#menu .panoSelect{
+    position: relative;
+    /* margin: 10px; */
+    cursor: pointer;
+    /* background-color: violet; */
+    
+}
+
+#menu .pano .title,#menu .panoSelect .title{
+    position: absolute;
+    top: 180px;
+    left: 50%;
+    transform: translate(-50%,0%);
+    font-size: 16px;
+    width: 273px;
+    color: #ffffff;
+    overflow: hidden;
+    max-width: 270px;
+    text-overflow: ellipsis;
+    white-space: nowrap;
+    text-align: center;
+
+
+}
+
+#menu .panoSelect .thumb {
+    width:327px;
+    height:233px;
+    background-image: url('../nanimages/rangle.png');
+    background-size: cover;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+}
+
+#menu .pano .thumb{
+
+    width:327px;
+    height:233px;
+    background-size: cover;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+}
+
+
+
+#menu .pano .thumb img,#menu .panoSelect .thumb img{
+    width:273px;
+    height:180px;
+    margin-left: 5px;
+    margin-top: 9px;
+    
+}
+
+#menuControl{
+    position: absolute;
+    display: none;
+    top: 220px;
+    left: 33px;
+    width: 89px;
+    height: 177px;
+    color: #fffff0;
+    font-family: MicrosoftYaHei;
+    justify-content: space-around;
+    flex-direction: column;
+}
+
+.menu_control_item{
+    text-align: center;
+    font-size: 20px;
+}
+#rotation_title,
+#zoom_title{
+    height:26px;
+}
+
+#auto_rotation,
+#zoom{
+    width: 53px;
+    height: 53px;
+}
+
+#wholeDirection{
+    position: absolute;
+    display: flex;
+    bottom: 20px;
+    right: 10px;
+    /* width: 141px;
+    height: 140px; */
+    color: #ffffff;
+    font-family: MicrosoftYaHei;
+    justify-content: space-around;
+    flex-direction: column;
+}
+
+#wholeDirection .directionCenter{
+    display: flex;
+    justify-content: space-between;
+    margin: 0px 10px;
+}
+
+#directionControl{
+    /* position: absolute; */
+    display: flex;
+    bottom: 30px;
+    right: 30px;
+    width: 141px;
+    height: 140px;
+    color: #ffffff;
+    font-family: MicrosoftYaHei;
+    justify-content: space-around;
+    flex-direction: column;
+    background-image: url('../nanimages/direction_board.png');
+    background-size: cover;
+
+}
+
+#directionControl img{
+    width: 15px;
+    height: 14px;
+}
+
+#direct_top,
+#direct_bottom{
+    display: flex;
+    justify-content: center;
+    flex-direction: column;
+    align-items: center;
+    
+}
+
+#direct_left,
+#direct_right{
+    display: flex;
+    justify-content: center;
+    align-items: center;
+}
+
+#direct_left div,
+#direct_right div{
+    margin: 0px 2px;
+}
+
+.direct_center{
+    display: flex;
+    justify-content: space-between;
+    margin: 0px 10px;
+}
+
+#directionTop,
+#directionBottom{
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    margin: 2px 0px;
+    height: 21px;
+}
+
+#directionLeft{
+    display: flex;
+    justify-content: flex-end;
+    align-items: center;
+    margin: 0px 2px;
+    width: 48px;
+    text-align: center;
+}
+
+#directionRight{
+    display: flex;
+    justify-content: flex;
+    align-items: center;
+    margin: 0px 2px;
+    width: 48px;
+    text-align: center;
+}
+
+#direction_top_tip{
+    display: flex;
+    position: absolute;
+    top: 10px;
+    left: 50%;
+}
+
+/* --------------------------------------------------------------------- */
+.home{
+    display: flex;
+    flex-direction: column;
+    margin-left: 39px;
+    /* margin-top: 30px; */
+}
+
+.home .preview{
+    display: flex;
+    height: 40%;
+}
+
+.home .detail{
+    
+}
+
+.home .detail .detailtitle{
+    display: flex;
+    align-items: center;
+
+    margin-top: 37px ;
+    margin-bottom: 27px ;
+    
+}
+
+
+.home .detail .titlelogo{
+    width: 5px;
+    height: 33px;
+    background-color: #316FEE;
+}
+
+.home .detail .title{
+    font-size: 30px;
+    margin-left: 15px ;
+    
+}
+
+.home .detail .thumb{
+    /* width:480px;
+    height:360px; */
+    /* max-width: 50%;
+    max-height: 50%; */
+
+}
+
+.home .detail .thumb img{
+    width: 600px;
+    height: 334px;
+
+}
+
+.home .descript{
+    margin-top: 94px;
+    margin-left: 25px;
+    min-width: 588px;
+    max-height: 345px;
+    display: flex;
+    flex-direction: column;
+    justify-content: space-between;
+}
+
+#descriptTitle{
+    font-size: 33px;
+    margin-bottom: 10px;
+}
+
+#descriptContent{
+    font-size: 21px;
+    font-weight: Light;
+    font-weight: lighter;
+    line-height: 34px;
+    max-width: 570px;
+
+}
+
+.home .descript .play{
+    display: flex;
+    position: relative;
+    /* top: 40%; */
+    /* background-color: #384071; */
+    background-image: url('../nanimages/play_click.png');
+    background-size: cover;
+    width: 135px;
+    height: 81px;
+    justify-content: center;
+    align-items: center;
+    font-size: 20px;
+    color: #ffffff;
+    /* transform:translate(0,-50%); */
+    cursor: pointer;
+    flex-direction: column;
+    
+} 
+
+.home .descript .playlogo{
+    width:0px;  
+    height:0px;  
+    border:13px solid transparent;
+    border-left:24px solid #ffffff;
+    transform: translate(6px, -6px);
+}
+
+.home .descript .playSelect{
+    display: flex;
+    position: relative;
+    /* top: 40%; */
+    background-color: #1F81FE;
+    width: 135px;
+    height: 81px;
+    justify-content: center;
+    align-items: center;
+    font-size: 20px;
+    color: #ffffff;
+    /* transform:translate(0,-50%); */
+    cursor: pointer;
+    flex-direction: column;
+} 
+
+#listTitle{
+    font-size: 23px;
+    margin-left: 42px;
+    margin-top:32px;
+    margin-bottom: -10px;
+    /* margin: 30px 30px 10px 30px; */
+}
+
+#listContent{
+    /* position: absolute;
+    z-index: 9;
+    display: flex;
+    bottom: 0px;
+    width: 100%; 
+    overflow: auto;
+    background-color: #eaeee3; */
+
+        /* position: absolute; */
+    /* z-index: 9; */
+    display: flex;
+    
+    bottom: 0px;
+    width: 100vw;
+    margin-left: 20px;
+    /* margin-right: 30px; */
+    /* height: 184px; */
+    overflow: auto;
+    background-color: rgba(0,0,0,0);
+    /* min-width: 1280px; */
+    width: calc( 1280px - 20px);
+
+
+    /* display: flex;
+    margin-top: 60px;
+    margin-left: 30px;
+    margin-right: 30px;
+    height: 300px;
+    overflow: auto;
+    background-color: #eaeee3; */
+}
+
+#listContent .pano{
+    position: relative;
+    /* margin: 0px 16px; */
+    cursor: pointer;
+}
+
+
+#listContent .panoEnd{
+    /* display: flex;
+    justify-content: flex-end;
+    align-items: flex-end; */
+    margin: 30px;
+}
+
+#listContent .panoSelect{
+     position: relative;
+     background-image: url('../nanimages/rangle.png');
+     background-size: cover;
+}
+
+#listContent .pano .title,#listContent .panoSelect .title{
+    position: absolute;
+    top: 176px;
+    left: 50%;
+    transform: translate(-50%,0%);
+    font-size: 16px;
+    width: 273px;
+    color: #ffffff;
+    overflow: hidden;
+    max-width: 270px;
+    text-overflow: ellipsis;
+    white-space: nowrap;
+    text-align: center;
+}
+
+
+#listContent .pano .thumb,#listContent .panoSelect .thumb{
+    width:322px;
+    height:230px;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+   
+}
+
+#listContent .pano .thumb img,#listContent .panoSelect .thumb img{
+    width:273px;
+    height: 180px;
+    margin-top: 8px;
+    margin-left: 5px;
+    
+}
+
+
+/*--------------------  home index html ------------------------*/
+#listContent_ybf{
+    position: absolute;
+    display: flex;
+    bottom: 0px;
+    width: 100vw;
+    margin-left: 48px;
+    /* margin-right: 30px; */
+    /* height: 184px; */
+    overflow: auto;
+    background-color: rgba(0,0,0,0);
+    /* min-width: 1280px; */
+    width: calc( 1280px - 20px);
+
+}
+
+#listContent_ybf .pano{
+    position: relative;
+    /* margin: 0px 16px; */
+    cursor: pointer;
+    background-position: center;
+}
+
+
+#listContent_ybf .panoEnd{
+
+    margin: 30px;
+}
+
+#listContent_ybf .panoSelect{
+     position: relative;
+     background-image: url('../nanimages/rangle.png');
+     background-size: cover;
+     background-position: center;
+}
+
+#listContent_ybf .kankanSelect{
+    position: relative;
+    background-size: cover;
+    background-position: center;
+}
+
+#listContent_ybf .pano .title,#listContent_ybf .panoSelect .title{
+    position: absolute;
+    top: 176px;
+    left: 50%;
+    transform: translate(-50%,0%);
+    font-size: 16px;
+    width: 254px;
+    color: #ffffff;
+    overflow: hidden;
+    /* max-width: 270px; */
+    text-overflow: ellipsis;
+    white-space: nowrap;
+    text-align: center;
+    margin-left: 3px;
+    background-image: url('../nanimages/text_bg.png');
+     background-size: cover;
+     background-position: center;
+
+
+}
+
+#listContent_ybf .pano .thumb,#listContent_ybf .panoSelect .thumb{
+    
+    width: 267px;
+    height: 217px;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+   
+}
+
+#listContent_ybf .pano .thumb img,#listContent_ybf .panoSelect .thumb img{
+    width: 254px;
+    height: 168px;
+    margin-top: 8px;
+    margin-left: 5px;
+    
+}
+
+#listContent_ybf .pano .kanfang,#listContent_ybf .panoSelect .kanfang{
+    
+    /* width: 298px; */
+    height: 217px;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+   
+}
+
+#listContent_ybf .pano .kanfang img,#listContent_ybf .panoSelect .kanfang img{
+    /* width: 255px; */
+    /* height: 168px; */
+    height: 196px;
+    margin-top: 8px;
+    margin-left: 5px;
+    
+}
+
+#kanfang_yuding{
+    background-image: url('../nanimages/tc_yuyue.png'); 
+    width: 1280px;
+    height: 720px;
+    position: absolute;
+    top:0;
+    z-index: 10;
+    display: none;
+    user-select: all;
+    -moz-user-select: all;
+    -khtml-user-select: all;
+    -webkit-user-select: all;
+    -o-user-select: all;
+    
+}
+
+#kanfang_yuding #yd_phone{
+    position: absolute;
+    top: 48.8%;
+    left: 51.7%;
+    height: 25px;
+    border: none;
+    outline: none;
+ 
+    
+}
+
+#kanfang_yuding #yuyue_ok{
+    position: absolute;
+    top: 70%;
+    left: 45%;
+    width: 127px;
+    height: 49px;
+    background-image: url('../nanimages/qd_non.png');
+}
+
+#ybf_yuyue{
+    display: flex;
+    position: relative;
+    background-image: url('../nanimages/yykf2_non.png');
+    background-size: cover;
+    width: 135px;
+    height: 81px;
+    justify-content: center;
+    align-items: center;
+    font-size: 20px;
+    color: #ffffff;
+    cursor: pointer;
+    flex-direction: column;
+}
+
+.home .descript .ybf_btn{
+    display: flex;
+    width: 300px;
+    justify-content: space-between;
+}
+
+*::-webkit-scrollbar {
+    /*滚动条整体样式*/
+    width: 1px;/*定义纵向滚动条宽度*/
+    height: 1px;/*定义横向滚动条高度*/
+    display: none;
+}
+
+*::-webkit-scrollbar-thumb {
+    /*滚动条内部滑块*/
+    border-radius: 1px;
+    background-color: hsla(220, 4%, 58%, 0.3);
+    transition: background-color 0.3s;
+}
+
+*::-webkit-scrollbar-thumb:hover {
+    /*鼠标悬停滚动条内部滑块*/
+    background: #bbb;
+}
+
+*::-webkit-scrollbar-track {
+    /*滚动条内部轨道*/
+    background: #ededed;
+}

+ 122 - 0
smty/index.html

@@ -0,0 +1,122 @@
+<!DOCTYPE html>
+
+<html>
+
+<head>
+    <title>南京世茂项目</title>
+
+    <script src="./lib/tvSysBtnBind.v2.1.js"></script>
+    <meta charset="utf-8">
+    <meta name="page-view-size" content="1280*720" />
+    <link rel="stylesheet" href="css/style.css">
+
+
+
+    <style>
+
+        body {
+            /* set margin to 0 and overflow to hidden, to go fullscreen */
+            margin: 0;
+            overflow: hidden;
+            background: url('./nanimages/bg.jpg') center no-repeat;
+            background-size:100% 100%;
+            color:#ffffff;
+            font-family:  "Microsoft YaHei";  
+            width: 1280px;
+            height:720px;
+            /* background-repeat:no-repeat; */
+            /* width: 120vw; */
+            
+}
+
+        #debug{
+            display: flex;
+            position: absolute;
+            top: 20px;
+            left: 10px;
+            color: #ffff00;
+        }
+
+
+    </style>
+</head>
+
+<script>
+    var deviceWidth = parseInt(window.screen.width);  //获取当前设备的屏幕宽度
+    var deviceScale = deviceWidth / 1280;  //得到当前设备屏幕与640之间的比例,之后我们就可以将网页宽度固定为640px
+    var ua = navigator.userAgent;
+    //获取当前设备类型(安卓或苹果)
+    if (/Android (\d+\.\d+)/.test(ua)) {
+        var version = parseFloat(RegExp.$1);
+        if (version > 2.3) {
+            document.write('<meta name="viewport" content="width=1280,initial-scale=' + deviceScale + ', minimum-scale = ' + deviceScale + ', maximum-scale = ' + deviceScale + ', target-densitydpi=device-dpi">');
+        } else {
+            document.write('<meta name="viewport" content="width=1280,initial-scale=0.75,maximum-scale=0.75,minimum-scale=0.75,target-densitydpi=device-dpi" />');
+        }
+    } else {
+        document.write('<meta name="viewport" content="width=1280, user-scalable=no">');
+    }
+</script>
+
+<body id="Jdoc">
+
+    <!-- 用来保存输出结果 -->
+    <div id="container">
+    </div>
+
+    <div class="home">
+
+
+    </div>
+
+
+    <!-- <div id='listContent_ypf'>
+        <div class="panoSelect">
+            <div class="title">样本房A</div>
+            <div class="thumb"><img  src='nanimages/sc_1.jpg' /></div>
+        </div>
+        <div class="pano">
+            <div class="title">样本房B</div>
+            <div class="thumb"><img  src='nanimages/sc_2.jpg' /></div>
+        </div>
+        <div class="pano">
+            <div class="title">样本房C</div>
+            <div class="thumb"><img  src='nanimages/sc_3.jpg' /></div>
+        </div>
+        <div class="pano">
+            <div class="title">样本房D</div>
+            <div class="thumb"><img  src='nanimages/sc_4.jpg' /></div>
+        </div>
+
+
+    </div> -->
+
+    <div id='kanfang_yuding'>
+            <input id='yd_phone' type="text"/>
+            <img id='yuyue_ok' src="./nanimages/qd_non.png" />
+    </div>
+
+
+
+    <div id='listContent_ybf'>
+        <!-- <div class="pano">
+            <div class="title"></div>
+            <div class="thumb"><img  src='panos/01frontGate4k_b.jpg' /></div>
+        </div> -->
+    </div>
+
+
+    <div id='debug' ></div>
+
+    <div class="ctrlBtn"></div>
+
+    <script src="./js/index.min.js"></script>
+
+    <script type="text/javaScript">
+
+
+
+    </script>
+</body>
+
+</html>

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 1 - 0
smty/js/index.min.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 1 - 0
smty/js/smty.min.js


+ 468 - 0
smty/js/tour.xml

@@ -0,0 +1,468 @@
+<krpano version="1.20.9" title="Virtual Tour">
+
+	<!-- <include url="skin/vtourskin.xml" /> -->
+
+	<!-- customize skin settings: maps, gyro, webvr, thumbnails, tooltips, layout, design, ... -->
+	<!-- <skin_settings maps="false"
+	               maps_type="google"
+	               maps_bing_api_key=""
+	               maps_google_api_key=""
+	               maps_zoombuttons="false"
+	               maps_loadonfirstuse="true"
+	               gyro="true"
+	               gyro_keeplookingdirection="false"
+	               webvr="true"
+	               webvr_keeplookingdirection="true"
+	               webvr_prev_next_hotspots="true"
+	               autotour="false"
+	               littleplanetintro="false"
+	               followmousecontrol="false"
+	               title="true"
+	               thumbs="true"
+	               thumbs_width="120" thumbs_height="80" thumbs_padding="10" thumbs_crop="0|40|240|160"
+	               thumbs_opened="false"
+	               thumbs_text="false"
+	               thumbs_dragging="true"
+	               thumbs_onhoverscrolling="false"
+	               thumbs_scrollbuttons="false"
+	               thumbs_scrollindicator="false"
+	               thumbs_loop="false"
+	               tooltips_buttons="false"
+	               tooltips_thumbs="false"
+	               tooltips_hotspots="false"
+	               tooltips_mapspots="false"
+	               deeplinking="false"
+	               loadscene_flags="MERGE"
+	               loadscene_blend="OPENBLEND(0.5, 0.0, 0.75, 0.05, linear)"
+	               loadscene_blend_prev="SLIDEBLEND(0.5, 180, 0.75, linear)"
+	               loadscene_blend_next="SLIDEBLEND(0.5,   0, 0.75, linear)"
+	               loadingtext=""
+	               layout_width="100%"
+	               layout_maxwidth="814"
+	               controlbar_width="-24"
+	               controlbar_height="40"
+	               controlbar_offset="20"
+	               controlbar_offset_closed="-40"
+	               controlbar_overlap.no-fractionalscaling="10"
+	               controlbar_overlap.fractionalscaling="0"
+	               design_skin_images="vtourskin.png"
+	               design_bgcolor="0x2D3E50"
+	               design_bgalpha="0.8"
+	               design_bgborder="0"
+	               design_bgroundedge="1"
+	               design_bgshadow="0 4 10 0x000000 0.3"
+	               design_thumbborder_bgborder="3 0xFFFFFF 1.0"
+	               design_thumbborder_padding="2"
+	               design_thumbborder_bgroundedge="0"
+	               design_text_css="color:#FFFFFF; font-family:Arial;"
+	               design_text_shadow="1"
+	               /> -->
+
+	<!--
+	    For an alternative skin design either change the <skin_settings> values 
+	    from above or optionally include one of the predefined designs from below.
+	-->
+	<!-- <include url="skin/vtourskin_design_flat_light.xml"  /> -->
+	<!-- <include url="skin/vtourskin_design_glass.xml"       /> -->
+	<!-- <include url="skin/vtourskin_design_ultra_light.xml" /> -->
+	<!-- <include url="skin/vtourskin_design_117.xml"         /> -->
+	<!-- <include url="skin/vtourskin_design_117round.xml"    /> -->
+	<!-- <include url="skin/vtourskin_design_black.xml"       /> -->
+
+
+	<!-- startup action - load the first scene -->
+	<action name="startup" autorun="onstart">
+		if(startscene === null OR !scene[get(startscene)], copy(startscene,scene[0].name); );
+		loadscene(get(startscene), null, MERGE);
+		if(startactions !== null, startactions() );
+	</action>
+
+	<control usercontrol="all"
+         mode="drag"
+         dragrelative="true"
+         draginertia="0.1"
+         dragfriction="0.9"
+         drag_oldmode="false"
+         movetorelative="true"
+         movetoaccelerate="1.0"
+         movetospeed="10.0"
+         movetofriction="0.8"
+         movetoyfriction="1.0"
+         frictionstop="0.01"
+         invert="false"
+         keybaccelerate="0.5"
+         keybspeed="10.0"
+         keybfriction="0.9"
+         keybinvert="false"
+         keybfovchange="0.75"
+         mousefovchange="1.0"
+         fovspeed="3.0"
+         fovfriction="0.9"
+         zoomtocursor="false"
+         zoomoutcursor="true"
+         disablewheel="false"
+         touchzoom="true"
+         keycodesleft="37"
+         keycodesright="39"
+         keycodesup="38"
+         keycodesdown="40"
+         keycodesin=""
+         keycodesout=""
+         keydownrepeat="true"
+         bouncinglimits="false"
+         />
+
+
+	
+	<scene name="scene_01frontGate" title="01frontGate" onstart="" thumburl="../panos/01frontGate.tiles/thumb.jpg" lat="" lng="" heading="">
+		
+		<control bouncinglimits="calc:image.cube ? true : false" />
+
+		<view hlookat="0.0" vlookat="0.0" fovtype="MFOV" fov="120" maxpixelzoom="2.0" fovmin="70" fovmax="140" limitview="auto" />
+
+		<preview url="../panos/01frontGate.tiles/preview.jpg" />
+
+		<image>
+			<cube url="../panos/01frontGate.tiles/%s/l%l/%v/l%l_%s_%v_%h.jpg" multires="512,640,1280,2560" />
+		</image>
+
+	</scene>
+
+	<scene name="scene_02masterBedroom" title="02masterBedroom" onstart="" thumburl="../panos/02masterBedroom.tiles/thumb.jpg" lat="" lng="" heading="">
+		
+		<control bouncinglimits="calc:image.cube ? true : false" />
+
+		<view hlookat="0.0" vlookat="0.0" fovtype="MFOV" fov="120" maxpixelzoom="2.0" fovmin="70" fovmax="140" limitview="auto" />
+
+		<preview url="../panos/02masterBedroom.tiles/preview.jpg" />
+
+		<image>
+			<cube url="../panos/02masterBedroom.tiles/%s/l%l/%v/l%l_%s_%v_%h.jpg" multires="512,640,1280,2560" />
+		</image>
+
+	</scene>
+
+	<scene name="scene_03masterBedroom" title="03masterBedroom" onstart="" thumburl="../panos/03masterBedroom.tiles/thumb.jpg" lat="" lng="" heading="">
+		
+		<control bouncinglimits="calc:image.cube ? true : false" />
+
+		<view hlookat="0.0" vlookat="0.0" fovtype="MFOV" fov="120" maxpixelzoom="2.0" fovmin="70" fovmax="140" limitview="auto" />
+
+		<preview url="../panos/03masterBedroom.tiles/preview.jpg" />
+
+		<image>
+			<cube url="../panos/03masterBedroom.tiles/%s/l%l/%v/l%l_%s_%v_%h.jpg" multires="512,640,1280,2560" />
+		</image>
+
+	</scene>
+
+	<scene name="scene_04masterBedroom" title="04masterBedroom" onstart="" thumburl="../panos/04masterBedroom.tiles/thumb.jpg" lat="" lng="" heading="">
+		
+		<control bouncinglimits="calc:image.cube ? true : false" />
+
+		<view hlookat="0.0" vlookat="0.0" fovtype="MFOV" fov="120" maxpixelzoom="2.0" fovmin="70" fovmax="140" limitview="auto" />
+
+		<preview url="../panos/04masterBedroom.tiles/preview.jpg" />
+
+		<image>
+			<cube url="../panos/04masterBedroom.tiles/%s/l%l/%v/l%l_%s_%v_%h.jpg" multires="512,640,1280,2560" />
+		</image>
+
+	</scene>
+
+	<scene name="scene_05masterBedroomToilet" title="05masterBedroomToilet" onstart="" thumburl="../panos/05masterBedroomToilet.tiles/thumb.jpg" lat="" lng="" heading="">
+		
+		<control bouncinglimits="calc:image.cube ? true : false" />
+
+		<view hlookat="0.0" vlookat="0.0" fovtype="MFOV" fov="120" maxpixelzoom="2.0" fovmin="70" fovmax="140" limitview="auto" />
+
+		<preview url="../panos/05masterBedroomToilet.tiles/preview.jpg" />
+
+		<image>
+			<cube url="../panos/05masterBedroomToilet.tiles/%s/l%l/%v/l%l_%s_%v_%h.jpg" multires="512,640,1280,2560" />
+		</image>
+
+	</scene>
+
+	<scene name="scene_06masterBedroomPorch" title="06masterBedroomPorch" onstart="" thumburl="../panos/06masterBedroomPorch.tiles/thumb.jpg" lat="" lng="" heading="">
+		
+		<control bouncinglimits="calc:image.cube ? true : false" />
+
+		<view hlookat="0.0" vlookat="0.0" fovtype="MFOV" fov="120" maxpixelzoom="2.0" fovmin="70" fovmax="140" limitview="auto" />
+
+		<preview url="../panos/06masterBedroomPorch.tiles/preview.jpg" />
+
+		<image>
+			<cube url="../panos/06masterBedroomPorch.tiles/%s/l%l/%v/l%l_%s_%v_%h.jpg" multires="512,640,1280,2560" />
+		</image>
+
+	</scene>
+
+	<scene name="scene_07masterBedroomCloakroom" title="07masterBedroomCloakroom" onstart="" thumburl="../panos/07masterBedroomCloakroom.tiles/thumb.jpg" lat="" lng="" heading="">
+		
+		<control bouncinglimits="calc:image.cube ? true : false" />
+
+		<view hlookat="0.0" vlookat="0.0" fovtype="MFOV" fov="120" maxpixelzoom="2.0" fovmin="70" fovmax="140" limitview="auto" />
+
+		<preview url="../panos/07masterBedroomCloakroom.tiles/preview.jpg" />
+
+		<image>
+			<cube url="../panos/07masterBedroomCloakroom.tiles/%s/l%l/%v/l%l_%s_%v_%h.jpg" multires="512,640,1280,2560" />
+		</image>
+
+	</scene>
+
+	<scene name="scene_08AguestRoom" title="08AguestRoom" onstart="" thumburl="../panos/08AguestRoom.tiles/thumb.jpg" lat="" lng="" heading="">
+		
+		<control bouncinglimits="calc:image.cube ? true : false" />
+
+		<view hlookat="0.0" vlookat="0.0" fovtype="MFOV" fov="120" maxpixelzoom="2.0" fovmin="70" fovmax="140" limitview="auto" />
+
+		<preview url="../panos/08AguestRoom.tiles/preview.jpg" />
+
+		<image>
+			<cube url="../panos/08AguestRoom.tiles/%s/l%l/%v/l%l_%s_%v_%h.jpg" multires="512,640,1280,2560" />
+		</image>
+
+	</scene>
+
+	<scene name="scene_09guestRoomA" title="09guestRoomA" onstart="" thumburl="../panos/09guestRoomA.tiles/thumb.jpg" lat="" lng="" heading="">
+		
+		<control bouncinglimits="calc:image.cube ? true : false" />
+
+		<view hlookat="0.0" vlookat="0.0" fovtype="MFOV" fov="120" maxpixelzoom="2.0" fovmin="70" fovmax="140" limitview="auto" />
+
+		<preview url="../panos/09guestRoomA.tiles/preview.jpg" />
+
+		<image>
+			<cube url="../panos/09guestRoomA.tiles/%s/l%l/%v/l%l_%s_%v_%h.jpg" multires="512,640,1280,2560" />
+		</image>
+
+	</scene>
+
+	<scene name="scene_10guestRoomAToilet" title="10guestRoomAToilet" onstart="" thumburl="../panos/10guestRoomAToilet.tiles/thumb.jpg" lat="" lng="" heading="">
+		
+		<control bouncinglimits="calc:image.cube ? true : false" />
+
+		<view hlookat="0.0" vlookat="0.0" fovtype="MFOV" fov="120" maxpixelzoom="2.0" fovmin="70" fovmax="140" limitview="auto" />
+
+		<preview url="../panos/10guestRoomAToilet.tiles/preview.jpg" />
+
+		<image>
+			<cube url="../panos/10guestRoomAToilet.tiles/%s/l%l/%v/l%l_%s_%v_%h.jpg" multires="512,640,1280,2560" />
+		</image>
+
+	</scene>
+
+	<scene name="scene_11guestRoomB" title="11guestRoomB" onstart="" thumburl="../panos/11guestRoomB.tiles/thumb.jpg" lat="" lng="" heading="">
+		
+		<control bouncinglimits="calc:image.cube ? true : false" />
+
+		<view hlookat="0.0" vlookat="0.0" fovtype="MFOV" fov="120" maxpixelzoom="2.0" fovmin="70" fovmax="140" limitview="auto" />
+
+		<preview url="../panos/11guestRoomB.tiles/preview.jpg" />
+
+		<image>
+			<cube url="../panos/11guestRoomB.tiles/%s/l%l/%v/l%l_%s_%v_%h.jpg" multires="512,640,1280,2560" />
+		</image>
+
+	</scene>
+
+	<scene name="scene_12guestRoomB" title="12guestRoomB" onstart="" thumburl="../panos/12guestRoomB.tiles/thumb.jpg" lat="" lng="" heading="">
+		
+		<control bouncinglimits="calc:image.cube ? true : false" />
+
+		<view hlookat="0.0" vlookat="0.0" fovtype="MFOV" fov="120" maxpixelzoom="2.0" fovmin="70" fovmax="140" limitview="auto" />
+
+		<preview url="../panos/12guestRoomB.tiles/preview.jpg" />
+
+		<image>
+			<cube url="../panos/12guestRoomB.tiles/%s/l%l/%v/l%l_%s_%v_%h.jpg" multires="512,640,1280,2560" />
+		</image>
+
+	</scene>
+
+	<scene name="scene_13guestRoomB" title="13guestRoomB" onstart="" thumburl="../panos/13guestRoomB.tiles/thumb.jpg" lat="" lng="" heading="">
+		
+		<control bouncinglimits="calc:image.cube ? true : false" />
+
+		<view hlookat="0.0" vlookat="0.0" fovtype="MFOV" fov="120" maxpixelzoom="2.0" fovmin="70" fovmax="140" limitview="auto" />
+
+		<preview url="../panos/13guestRoomB.tiles/preview.jpg" />
+
+		<image>
+			<cube url="../panos/13guestRoomB.tiles/%s/l%l/%v/l%l_%s_%v_%h.jpg" multires="512,640,1280,2560" />
+		</image>
+
+	</scene>
+
+	<scene name="scene_14livingRoom" title="14livingRoom" onstart="" thumburl="../panos/14livingRoom.tiles/thumb.jpg" lat="" lng="" heading="">
+		
+		<control bouncinglimits="calc:image.cube ? true : false" />
+
+		<view hlookat="0.0" vlookat="0.0" fovtype="MFOV" fov="120" maxpixelzoom="2.0" fovmin="70" fovmax="140" limitview="auto" />
+
+		<preview url="../panos/14livingRoom.tiles/preview.jpg" />
+
+		<image>
+			<cube url="../panos/14livingRoom.tiles/%s/l%l/%v/l%l_%s_%v_%h.jpg" multires="512,640,1280,2560" />
+		</image>
+
+	</scene>
+
+	<scene name="scene_15livingRoom" title="15livingRoom" onstart="" thumburl="../panos/15livingRoom.tiles/thumb.jpg" lat="" lng="" heading="">
+		
+		<control bouncinglimits="calc:image.cube ? true : false" />
+
+		<view hlookat="0.0" vlookat="0.0" fovtype="MFOV" fov="120" maxpixelzoom="2.0" fovmin="70" fovmax="140" limitview="auto" />
+
+		<preview url="../panos/15livingRoom.tiles/preview.jpg" />
+
+		<image>
+			<cube url="../panos/15livingRoom.tiles/%s/l%l/%v/l%l_%s_%v_%h.jpg" multires="512,640,1280,2560" />
+		</image>
+
+	</scene>
+
+	<scene name="scene_16livingRoom" title="16livingRoom" onstart="" thumburl="../panos/16livingRoom.tiles/thumb.jpg" lat="" lng="" heading="">
+		
+		<control bouncinglimits="calc:image.cube ? true : false" />
+
+		<view hlookat="0.0" vlookat="0.0" fovtype="MFOV" fov="120" maxpixelzoom="2.0" fovmin="70" fovmax="140" limitview="auto" />
+
+		<preview url="../panos/16livingRoom.tiles/preview.jpg" />
+
+		<image>
+			<cube url="../panos/16livingRoom.tiles/%s/l%l/%v/l%l_%s_%v_%h.jpg" multires="512,640,1280,2560" />
+		</image>
+
+	</scene>
+
+	<scene name="scene_17livingRoom" title="17livingRoom" onstart="" thumburl="../panos/17livingRoom.tiles/thumb.jpg" lat="" lng="" heading="">
+		
+		<control bouncinglimits="calc:image.cube ? true : false" />
+
+		<view hlookat="0.0" vlookat="0.0" fovtype="MFOV" fov="120" maxpixelzoom="2.0" fovmin="70" fovmax="140" limitview="auto" />
+
+		<preview url="../panos/17livingRoom.tiles/preview.jpg" />
+
+		<image>
+			<cube url="../panos/17livingRoom.tiles/%s/l%l/%v/l%l_%s_%v_%h.jpg" multires="512,640,1280,2560" />
+		</image>
+
+	</scene>
+
+	<scene name="scene_18livingRoom" title="18livingRoom" onstart="" thumburl="../panos/18livingRoom.tiles/thumb.jpg" lat="" lng="" heading="">
+		
+		<control bouncinglimits="calc:image.cube ? true : false" />
+
+		<view hlookat="0.0" vlookat="0.0" fovtype="MFOV" fov="120" maxpixelzoom="2.0" fovmin="70" fovmax="140" limitview="auto" />
+
+		<preview url="../panos/18livingRoom.tiles/preview.jpg" />
+
+		<image>
+			<cube url="../panos/18livingRoom.tiles/%s/l%l/%v/l%l_%s_%v_%h.jpg" multires="512,640,1280,2560" />
+		</image>
+
+	</scene>
+
+	<scene name="scene_19livingRoom" title="19livingRoom" onstart="" thumburl="../panos/19livingRoom.tiles/thumb.jpg" lat="" lng="" heading="">
+		
+		<control bouncinglimits="calc:image.cube ? true : false" />
+
+		<view hlookat="0.0" vlookat="0.0" fovtype="MFOV" fov="120" maxpixelzoom="2.0" fovmin="70" fovmax="140" limitview="auto" />
+
+		<preview url="../panos/19livingRoom.tiles/preview.jpg" />
+
+		<image>
+			<cube url="../panos/19livingRoom.tiles/%s/l%l/%v/l%l_%s_%v_%h.jpg" multires="512,640,1280,2560" />
+		</image>
+
+	</scene>
+
+	<scene name="scene_20livingRoom" title="20livingRoom" onstart="" thumburl="../panos/20livingRoom.tiles/thumb.jpg" lat="" lng="" heading="">
+		
+		<control bouncinglimits="calc:image.cube ? true : false" />
+
+		<view hlookat="0.0" vlookat="0.0" fovtype="MFOV" fov="120" maxpixelzoom="2.0" fovmin="70" fovmax="140" limitview="auto" />
+
+		<preview url="../panos/20livingRoom.tiles/preview.jpg" />
+
+		<image>
+			<cube url="../panos/20livingRoom.tiles/%s/l%l/%v/l%l_%s_%v_%h.jpg" multires="512,640,1280,2560" />
+		</image>
+
+	</scene>
+
+	<scene name="scene_21livingRoom" title="21livingRoom" onstart="" thumburl="../panos/21livingRoom.tiles/thumb.jpg" lat="" lng="" heading="">
+		
+		<control bouncinglimits="calc:image.cube ? true : false" />
+
+		<view hlookat="0.0" vlookat="0.0" fovtype="MFOV" fov="120" maxpixelzoom="2.0" fovmin="70" fovmax="140" limitview="auto" />
+
+		<preview url="../panos/21livingRoom.tiles/preview.jpg" />
+
+		<image>
+			<cube url="../panos/21livingRoom.tiles/%s/l%l/%v/l%l_%s_%v_%h.jpg" multires="512,640,1280,2560" />
+		</image>
+
+	</scene>
+
+	<scene name="scene_22livingRoom" title="22livingRoom" onstart="" thumburl="../panos/22livingRoom.tiles/thumb.jpg" lat="" lng="" heading="">
+		
+		<control bouncinglimits="calc:image.cube ? true : false" />
+
+		<view hlookat="0.0" vlookat="0.0" fovtype="MFOV" fov="120" maxpixelzoom="2.0" fovmin="70" fovmax="140" limitview="auto" />
+
+		<preview url="../panos/22livingRoom.tiles/preview.jpg" />
+
+		<image>
+			<cube url="../panos/22livingRoom.tiles/%s/l%l/%v/l%l_%s_%v_%h.jpg" multires="512,640,1280,2560" />
+		</image>
+
+	</scene>
+
+	<scene name="scene_23kitchen" title="23kitchen" onstart="" thumburl="../panos/23kitchen.tiles/thumb.jpg" lat="" lng="" heading="">
+		
+		<control bouncinglimits="calc:image.cube ? true : false" />
+
+		<view hlookat="0.0" vlookat="0.0" fovtype="MFOV" fov="120" maxpixelzoom="2.0" fovmin="70" fovmax="140" limitview="auto" />
+
+		<preview url="../panos/23kitchen.tiles/preview.jpg" />
+
+		<image>
+			<cube url="../panos/23kitchen.tiles/%s/l%l/%v/l%l_%s_%v_%h.jpg" multires="512,640,1280,2560" />
+		</image>
+
+	</scene>
+
+	<scene name="scene_24laundry" title="24laundry" onstart="" thumburl="../panos/24laundry.tiles/thumb.jpg" lat="" lng="" heading="">
+		
+		<control bouncinglimits="calc:image.cube ? true : false" />
+
+		<view hlookat="0.0" vlookat="0.0" fovtype="MFOV" fov="120" maxpixelzoom="2.0" fovmin="70" fovmax="140" limitview="auto" />
+
+		<preview url="../panos/24laundry.tiles/preview.jpg" />
+
+		<image>
+			<cube url="../panos/24laundry.tiles/%s/l%l/%v/l%l_%s_%v_%h.jpg" multires="512,640,1280,2560" />
+		</image>
+
+	</scene>
+
+	<scene name="scene_25frontGatePorch" title="25frontGatePorch" onstart="" thumburl="../panos/25frontGatePorch.tiles/thumb.jpg" lat="" lng="" heading="">
+		
+		<control bouncinglimits="calc:image.cube ? true : false" />
+
+		<view hlookat="0.0" vlookat="0.0" fovtype="MFOV" fov="120" maxpixelzoom="2.0" fovmin="70" fovmax="140" limitview="auto" />
+
+		<preview url="../panos/25frontGatePorch.tiles/preview.jpg" />
+
+		<image>
+			<cube url="../panos/25frontGatePorch.tiles/%s/l%l/%v/l%l_%s_%v_%h.jpg" multires="512,640,1280,2560" />
+		</image>
+
+	</scene>
+
+
+</krpano>

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 1 - 0
smty/js/ybf.min.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 12 - 0
smty/lib/tour.js


BIN
smty/lib/tour.swf


+ 886 - 0
smty/lib/tvSysBtnBind.v2.1.js

@@ -0,0 +1,886 @@
+try {
+    (function(arr) {
+        arr.forEach(function(item) {
+            if (item.hasOwnProperty('remove')) {
+                return
+            }
+            Object.defineProperty(item, 'remove', {
+                configurable: true,
+                enumerable: true,
+                writable: true,
+                value: function remove() {
+                    this.parentNode.removeChild(this)
+                }
+            })
+        })
+    })([Element.prototype, CharacterData.prototype, DocumentType.prototype]);
+    if (!("classList" in document.documentElement)) {
+        Object.defineProperty(HTMLElement.prototype, 'classList', {
+            get: function() {
+                var self = this;
+
+                function update(fn) {
+                    return function(value) {
+                        var classes = self.className.split(/\s+/g),
+                            index = classes.indexOf(value);
+                        fn(classes, index, value);
+                        self.className = classes.join(" ")
+                    }
+                }
+                return {
+                    add: update(function(classes, index, value) {
+                        if (!~index) classes.push(value)
+                    }),
+                    remove: update(function(classes, index) {
+                        if (~index) classes.splice(index, 1)
+                    }),
+                    toggle: update(function(classes, index, value) {
+                        if (~index) classes.splice(index, 1);
+                        else classes.push(value)
+                    }),
+                    contains: function(value) {
+                        return !!~self.className.split(/\s+/g).indexOf(value)
+                    },
+                    item: function(i) {
+                        return self.className.split(/\s+/g)[i] || null
+                    }
+                }
+            }
+        })
+    }
+
+    function fireKeyEvent(el, evtType, keyCode) {
+        var doc = el.ownerDocument,
+            win = doc.defaultView || doc.parentWindow,
+            evtObj;
+        if (doc.createEvent) {
+            if (win.KeyEvent) {
+                evtObj = doc.createEvent('KeyEvents');
+                evtObj.initKeyEvent(evtType, true, true, win, false, false, false, false, keyCode, 0)
+            } else {
+                evtObj = doc.createEvent('UIEvents');
+                Object.defineProperty(evtObj, 'keyCode', {
+                    get: function() {
+                        return this.keyCodeVal
+                    }
+                });
+                Object.defineProperty(evtObj, 'which', {
+                    get: function() {
+                        return this.keyCodeVal
+                    }
+                });
+                evtObj.initUIEvent(evtType, true, true, win, 1);
+                evtObj.keyCodeVal = keyCode;
+                if (evtObj.keyCode !== keyCode) {}
+            }
+            el.dispatchEvent(evtObj)
+        } else if (doc.createEventObject) {
+            evtObj = doc.createEventObject();
+            evtObj.keyCode = keyCode;
+            el.fireEvent('on' + evtType, evtObj)
+        }
+    }
+} catch (e) {}
+
+function addClass(ele, cls) {
+    if (ele.classList) {
+        ele.classList.add(cls)
+    } else {
+        if (!this.hasClass(ele, cls)) ele.className += " " + cls
+    }
+}
+
+function arrIndexOf(arr, v) {
+    for (var i = 0; i < arr.length; i++) {
+        if (arr[i] == v) {
+            return i
+        }
+    }
+    return -1
+}
+
+function removeClass(ele, cls) {
+    if (ele.classList) {
+        ele.classList.remove(cls)
+    } else {
+        if (ele.className != '' && hasClass(ele, cls)) {
+            var arrClassName = ele.className.split(' ');
+            var classIndex = arrIndexOf(arrClassName, cls);
+            if (classIndex !== -1) {
+                arrClassName.splice(classIndex, 1);
+                ele.className = arrClassName.join(' ')
+            }
+        }
+    }
+}
+
+function toggleClass(ele, cls) {
+    if (hasClass(ele, cls)) {
+        removeClass(ele, cls)
+    } else {
+        addClass(ele, cls)
+    }
+}
+
+function hasClass(element, cls) {
+    return (' ' + element.className + ' ').indexOf(' ' + cls + ' ') > -1
+}
+
+function getClassNames(classStr, target, tagName) {
+    target = target ? target : document;
+    tagName = tagName ? tagName : "*";
+    if (document.getElementsByClassName) {
+        return target.getElementsByClassName(classStr)
+    } else {
+        var nodes = target.getElementsByTagName(tagName),
+            ret = [];
+        for (i = 0; i < nodes.length; i++) {
+            if (hasClass(nodes[i], classStr)) {
+                ret.push(nodes[i])
+            }
+        }
+        return ret
+    }
+}
+
+function getElementLeft(ele) {
+    var actualLeft = ele.offsetLeft;
+    var current = ele.offsetParent;
+    while (current !== null) {
+        actualLeft += current.offsetLeft;
+        current = current.offsetParent
+    }
+    return actualLeft
+}
+
+function getElementTop(ele) {
+    var actualTop = ele.offsetTop;
+    var current = ele.offsetParent;
+    while (current !== null) {
+        actualTop += current.offsetTop;
+        current = current.offsetParent
+    }
+    return actualTop
+}
+var contains = document.documentElement.contains ? function(parent, node) {
+    if (parent) {
+        return parent !== node && parent.contains(node)
+    }
+
+} : function(parent, node) {
+    if (parent) {
+        while (node && (node = node.parentNode))
+            if (node === parent) return true
+        return false
+    }
+
+}
+
+function getBoundingClientRect(ele) {
+    var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
+    var scrollLeft = document.documentElement.scrollLeft || document.body.scrollLeft;
+    if (ele.getBoundingClientRect) {
+        if (typeof arguments.callee.offset !== 'number') {
+            var temp = document.createElement('div');
+            temp.style.cssText = "position:absolute;top:0;left:0";
+            document.body.appendChild(temp);
+            arguments.callee.offset = -temp.getBoundingClientRect().top - scrollTop;
+            document.body.removeChild(temp);
+            temp = null
+        }
+        var rect = ele.getBoundingClientRect();
+        var offset = arguments.callee.offset;
+        return {
+            left: rect.left + offset,
+            right: rect.right + offset,
+            top: rect.top + offset,
+            bottom: rect.bottom + offset,
+            width: (rect.right + offset) - (rect.left + offset),
+            height: (rect.bottom + offset) - (rect.top + offset)
+        }
+    } else {
+        var actualLeft = getElementLeft(ele);
+        var actualTop = getElementTop(ele);
+        var offsetWidth = ele.offsetWidth;
+        var offsetHeight = ele.offsetHeight;
+        return {
+            left: actualLeft - scrollLeft,
+            right: actualLeft + offsetWidth - scrollLeft,
+            top: actualTop - scrollTop,
+            bottom: actualTop + offsetHeight - scrollTop,
+            width: (actualLeft + offsetWidth - scrollLeft) - (actualLeft - scrollLeft),
+            height: (actualTop + offsetHeight - scrollTop) - (actualTop - scrollTop)
+        }
+    }
+}
+
+(function(window) {
+    var tvSysBtnBind = function(init) {
+        var _this = this,
+            _self = self;
+        var id = init.id ? init.id : null,
+            keyRemoveDefault = typeof init.keyRemoveDefault == "undefined" ? false : init.keyRemoveDefault,
+            currentIndex = init.currentIndex ? parseInt(init.currentIndex) : 0,
+            btnLeft = init.btnLeft ? init.btnLeft : 37,
+            btnUp = init.btnUp ? init.btnUp : 38,
+            btnRight = init.btnRight ? init.btnRight : 39,
+            btnDown = init.btnDown ? init.btnDown : 40,
+            btnEnter = init.btnEnter ? init.btnEnter : 13,
+            btnBack = init.btnBack ? init.btnBack : 27,
+            history = typeof init.history == "undefined" ? true : init.history,
+            doublePress = typeof init.doublePress == "undefined" ? false : init.doublePress,
+            isFloatLast = typeof init.isFloatLast == "undefined" ? false : init.isFloatLast,
+            isCentered = typeof init.isCentered == "undefined" ? true : init.isCentered,
+            currentClass = init.currentClass ? init.currentClass : "current",
+            effect = init.effect ? init.effect : "slide1",
+            element = new Array(),
+            rules = init.rules ? init.rules : { hotbutton: {} },
+            direction = "y";
+        _this.className = init.className ? init.className : "hotbutton";
+        this.event = {};
+        var _tempElem;
+        this.currentIndex = parseInt(currentIndex);
+        this.defaultIndex = parseInt(currentIndex);
+        this.currentClass = currentClass;
+        this.historyFocus = {};
+        if (!window.focusobj) window.focusobj = document.createElement("span");
+        (typeof init.onLoad) == "function" ? init.onLoad: init.onLoad = function() {};
+        (typeof init.onBack) == "function" ? init.onLoad: init.onBack = function() {};
+        (typeof init.onCommPress) == "function" ? init.onCommPress: init.onCommPress = function() {};
+        this.onLoad = function() {
+            focusobj.innerHTML = '<div class="cssbk"><b class="lt"></b><b class="t"></b><b class="rt"></b><b class="r"></b><b class="rb"></b><b class="b"></b><b class="lb"></b> <b class="l"></b></div>';
+            addClass(focusobj, "focusobj");
+            addClass(focusobj, "current");
+            focusobj.style.display = "none";
+            _this.target = init.id ? document.getElementById(init.id) : document.body;
+            _this.defaultTarget = _this.target;
+            _this.currentId = init.id ? init.id : "Jdoc";
+            self.getCurRule();
+            _this.reLoad();
+            _this.sourceClassName = _this.className;
+            _this.sourceLength = element.length;
+            _this.prev = element[currentIndex];
+            _this.prevIndex = currentIndex;
+            _this.current = element[currentIndex];
+            _this.currentIndex = currentIndex;
+            _this.target.appendChild(focusobj);
+            init.onLoad.call(_this);
+            window.focus();
+        }
+        self.getCurRule = function(item) {
+            var obj = {};
+            if (rules) {
+                obj = rules["#" + _this.currentId + ">." + _this.className];
+                if (typeof obj == "undefined") {
+                    if (rules[_this.className]) {
+                        obj = rules[_this.className]
+                    }
+                }
+                if (item && typeof rules[item] == "undefined") {
+                    // rules[item]={};
+                }
+            }
+            return obj
+        }
+        this.reSetClass = function(item, index, curClass) {
+            var obj = _self.getCurRule(item);
+            if (!obj) {
+                console.log("初始化" + _this.className + "失败");
+                return
+            }
+            if (typeof obj["history"] == "undefined") obj["history"] = history;
+            if (obj["history"]) _this.historyFocus[_this.currentId + _this.className] = _this.currentIndex;
+            _this.prevCurrentClass = _this.currentClass;
+            if (curClass) {
+                _this.currentClass = curClass
+            }
+            var arr = item.split(">");
+            for (var i = 0; i < arr.length; i++) {
+                if (arr[i] == "") arr.splice(i)
+            }
+            for (var i = 0; i < arr.length; i++) {
+                if (arr[i].indexOf("#") != -1) {
+                    _this.currentId = arr[i].replace("#", "");
+                    if (document.getElementById(_this.currentId)) _this.target = document.getElementById(_this.currentId)
+                }
+                if (arr[i].indexOf(".") != -1) {
+                    item = arr[i].replace(".", "")
+                }
+                if (arr[i].indexOf(".") == -1 && arr[i].indexOf("#") == -1) {
+                    item = arr[i]
+                }
+            }
+            if (getClassNames(item, _this.target).length > 0) {
+                _self.newItem(item, index)
+            } else {
+                _this.target = _this.defaultTarget;
+                if (getClassNames(item, _this.target).length > 0) _self.newItem(item, index)
+            }
+        }
+        this.onCommPress = function(e) {
+            init.onCommPress.call(_this)
+        }
+        self.newItem = function(item, index) {
+            var obj = _self.getCurRule();
+            if (_this.prev) removeClass(_this.prev, _this.currentClass);
+            if (typeof _this.historyFocus[_this.currentId + item] == "undefined") _this.historyFocus[_this.currentId + item] = 0;
+            _this.className = item;
+            var idx = obj["savelastIndex"] ? _this.currentIndex : 0;
+            index = index > getClassNames(item, _this.target).length - 1 ? getClassNames(item, _this.target).length - 1 : index;
+            idx = _this.historyFocus[_this.currentId + item] ? _this.historyFocus[_this.currentId + item] : idx;
+            _this.currentIndex = typeof index != "undefined" ? index : idx;
+            _this.prevIndex = _this.currentIndex;
+            _this.reLoad()
+        }
+        self.readFn = function() {
+            if ((typeof init.onEnterPress) == "function") {
+                init.onEnterPress
+            } else {
+                init.onEnterPress = function() {}
+            }
+            if ((typeof init.onPress) == "function") {
+                init.onPress
+            } else {
+                init.onPress = function() {}
+            }
+        }
+        this.reLoad = function() {
+            self.readFn();
+            element = getClassNames(_this.className, _this.target);
+            if (element.length <= 0) {
+                console.log("初始化" + _this.className + "失败");
+                return
+            }
+            this.hotbtn = element;
+            if (element.length <= 0) return false;
+            if (_this.currentIndex || _this.currentIndex == 0) {
+                _this.currentIndex = parseInt(_this.currentIndex)
+            } else {
+                _this.currentIndex = parseInt(init.currentIndex)
+            }
+            if (isload >= 2 && _this.sourceClass == _this.className && _this.sourceLength != element.length && !isSet) {
+                if (hasClass(_this.prev, _this.className) && _this.sourceLength > element.length) {
+                    _this.currentIndex = _this.currentIndex - (_this.sourceLength - element.length);
+                    _this.prevIndex = _this.prevIndex - (_this.sourceLength - element.length);
+                    _this.sourceLength = element.length
+                } else if (hasClass(_this.prev, _this.className) && _this.sourceLength < element.length) {
+                    _this.currentIndex = _this.currentIndex + (element.length - _this.sourceLength);
+                    _this.prevIndex = _this.prevIndex + (element.length - _this.sourceLength);
+                    _this.sourceLength = element.length
+                }
+            }
+            isSet = false;
+            self.overIndex();
+            _this.current = element[_this.currentIndex];
+            _this.currentIndex = _this.currentIndex;
+            _self.render(_this.currentIndex);
+            for (var i = 0; i < this.hotbtn.length; i++) {
+                this.hotbtn[i].setAttribute("data-id", i)
+            }
+        }
+
+        function keydefault(e) {
+            try {
+                e.preventDefault()
+            } catch (e) {}
+        }
+        var isSet = false;
+        this.setCurrentIndex = function(index) {
+            isSet = true;
+            index = parseInt(index);
+            _this.currentIndex = index;
+            _this.current = element[index]
+        }
+        this.pageScroll = function(ele, Scroll, direction) {
+            if (!ele["data-sum"]) ele["data-sum"] = 0;
+            if (!ele["data-sumx"]) ele["data-sumx"] = 0;
+            ele.style.position = "relative";
+            ele.children[0].style.position = "absolute";
+            if (direction == "up") {
+                if (ele["data-sum"] - Scroll > 0) {
+                    ele["data-sum"] = parseInt(ele["data-sum"]) - Scroll
+                } else {
+                    ele["data-sum"] = 0
+                }
+                ele.children[0].style.left = "0";
+                ele.children[0].style.top = "-" + ele["data-sum"] + "px"
+            } else if (direction == "down") {
+                var clientHeight = ele.children[0].clientHeight;
+                if (ele["data-sum"] + Scroll < clientHeight - ele.clientHeight / 2) {
+                    ele["data-sum"] = parseInt(ele["data-sum"]) + Scroll
+                } else {
+                    ele["data-sum"] = clientHeight - ele.clientHeight
+                }
+                ele.children[0].style.left = "0";
+                ele.children[0].style.top = "-" + ele["data-sum"] + "px"
+            } else if (direction == "left") {
+                if (ele["data-sumx"] - Scroll > 0) {
+                    ele["data-sumx"] = parseInt(ele["data-sumx"]) - Scroll
+                } else {
+                    ele["data-sumx"] = clientWidth - ele.clientWidth
+                }
+                ele.children[0].style.top = "0";
+                ele.children[0].style.left = "-" + ele["data-sumx"] + "px"
+            } else if (direction == "right") {
+                var clientWidth = ele.children[0].clientWidth;
+                if (ele["data-sumx"] + Scroll < clientWidth - ele.clientWidth / 2) {
+                    ele["data-sumx"] = parseInt(ele["data-sum"]) + Scroll
+                } else {
+                    ele["data-sumx"] = 0;
+                }
+                ele.children[0].style.top = "0";
+                ele.children[0].style.left = "-" + ele["data-sumx"] + "px"
+            }
+        }
+        this.viewScrollY = function(y, view) {
+            var maxTop = view.children[0].clientHeight - view.clientHeight;
+            var obj = self.getCurRule();
+            var sumtop = view.children[0]["ScrollY"] ? view.children[0]["ScrollY"] : 0;
+            var top = sumtop + y;
+            middle = getBoundingClientRect(view).height / 2 - getBoundingClientRect(_this.current).height / 2;
+            top = top + middle;
+            if (top > 0 || maxTop < 0) top = 0;
+            else if (Math.abs(top) > Math.abs(maxTop)) {
+                top = -maxTop;
+                //view.children[0]["ScrollY"] == 0 这个句忘记干嘛的了 留着
+            }
+            top = obj["customTop"] != undefined ? obj["customTop"] : top;
+            view.children[0].style.top = top + "px";
+            view.children[0]["ScrollY"] = top
+        }
+        var maxLeft = 0;
+        this.viewScrollX = function(x, view, viewWidth) {
+            var maxLeft = viewWidth - view.clientWidth;
+            var obj = self.getCurRule();
+            var sumleft = view.children[0]["ScrollX"] ? view.children[0]["ScrollX"] : 0;
+            var left = sumleft + x;
+            middle = getBoundingClientRect(view).width / 2 - getBoundingClientRect(_this.current).width / 2;
+            left = left + middle;
+            if (left > 0 || maxLeft < 0) left = 0;
+            else if (Math.abs(left) > Math.abs(maxLeft)) {
+                left = -maxLeft;
+            }
+            left = obj["customLeft"] != undefined ? obj["customLeft"] : left;
+            view.children[0].style.left = left + "px";
+            view.children[0]["ScrollX"] = left
+        }
+        this.onPress = function(e) {
+            init.onPress.call(_this)
+        }
+        this.onEnterPress = function() {
+            init.onEnterPress.call(_this)
+        }
+        window.onBackEvent = this.onBack = function() {
+            init.onBack.call(_this)
+        }
+        self.getScrollTop = function() {
+            var scrollTop = 0;
+            if (document.documentElement && document.documentElement.scrollTop) {
+                scrollTop = document.documentElement.scrollTop
+            } else if (document.body) {
+                scrollTop = document.body.scrollTop
+            }
+            return scrollTop
+        }
+        this.scroll = function(view, direction) {
+            var obj = self.getCurRule();
+            if (obj == undefined || !obj["direction"]) return;
+
+            direction = direction ? direction : obj["direction"];
+            var viewX = view ? view : obj["directionParentX"] ? obj["directionParentX"] : obj["directionParent"] ? obj["directionParent"] : _this.current.parentNode.parentNode;
+            var viewY = view ? view : obj["directionParentY"] ? obj["directionParentY"] : obj["directionParent"] ? obj["directionParent"] : _this.current.parentNode.parentNode;
+            var sum = 0;
+            if (direction.indexOf("x") > -1) {
+                if (viewX instanceof Array) {
+                    for (var i = 0; i < viewX.length; i++) {
+
+                        if (contains(viewX[i], _this.current)) {
+                            viewX = viewX[i];
+                        }
+                    }
+                }
+
+                if (viewX instanceof Array || !contains(viewX, _this.current)) return;
+                for (var i = 0; i < _this.hotbtn.length; i++) {
+                    sum = getBoundingClientRect(_this.hotbtn[i]).width + sum
+                }
+                if (_this.hotbtn.length > 1) {
+                    if (!obj["scrollWidth"])
+                        sum = sum + Math.ceil(getBoundingClientRect(_this.hotbtn[1]).left - getBoundingClientRect(_this.hotbtn[0]).right) * (_this.hotbtn.length);
+                    else {
+                        sum = _this.hotbtn.length * obj["scrollWidth"]; //因为样式多样性,宽度获取并不准确 所以可以自定义
+                    }
+
+                } else {
+                    sum = sum;
+                }
+                viewX.style.position = "relative";
+                viewX.children[0].style.position = "absolute";
+                viewX.children[0].style.width = (sum + 30) + "px";
+                _this.viewScrollX(-(getBoundingClientRect(_this.current).left - getBoundingClientRect(viewX).left), viewX, sum)
+            }
+            if (direction.indexOf("y") > -1) {
+                if (viewY instanceof Array) {
+                    for (var i = 0; i < viewY.length; i++) {
+
+                        if (contains(viewY[i], _this.current)) {
+                            viewY = viewY[i];
+                        }
+                    }
+                }
+                if (viewY instanceof Array || !contains(viewY, _this.current)) return;
+                viewY.style.position = "relative";
+                viewY.children[0].style.position = "absolute";
+
+                _this.viewScrollY(-(getBoundingClientRect(_this.current).top - getBoundingClientRect(viewY).top), viewY)
+            }
+        }
+        var isload = 0;
+        self.render = function(index) {
+            if (_this.renderType == "self") return;
+            isload = isload + 1;
+            if (isload == 2) {
+                _this.sourceLength = element.length
+            }
+            if (_this.prevCurrentClass) {
+                var ele = getClassNames(_this.prevCurrentClass, _this.target);
+                for (var i = 0; i < ele.length; i++) {
+                    if (hasClass(ele[i], _this.prevCurrentClass)) {
+                        removeClass(ele[i], _this.prevCurrentClass)
+                    }
+                }
+            }
+            if (element[index]) addClass(element[index], _this.currentClass);
+            else return;
+            for (var i = 0; i < element.length; i++) {
+                if (i != index && hasClass(element[i], _this.currentClass)) {
+                    removeClass(element[i], _this.currentClass)
+                }
+            }
+            _this.scroll();
+            var effect = element[index].getAttribute("data-effect");
+            if (effect) {
+                focusobj.setAttribute("style", "  position: fixed; z-index: 19;width:" + (getBoundingClientRect(element[index]).width) + "px ;height:" + (getBoundingClientRect(element[index]).height) + "px; left:" + getBoundingClientRect(element[index]).left + "px;top:" + getBoundingClientRect(element[index]).top + "px;");
+                focusobj.setAttribute("class", "focusobj current " + effect);
+                focusobj.style.display = "list-item"
+            } else {
+                focusobj.setAttribute("style", "");
+                focusobj.style.display = "none"
+            }
+        }
+        self.EventUtil = {
+            add: function(obj, callback) {
+                if (typeof(obj.onkeypress) == "null") {
+                    obj.onkeypress = function(e) {
+                        callback && callback(e)
+                    }
+                } else {
+                    obj.onkeydown = function(e) {
+                        callback && callback(e)
+                    }
+                }
+            }
+        }
+        var _t, sum = 0;
+        EventUtil.add(document, function(e) {
+            _this.renderType = "self";
+            if (doublePress) {
+                if (sum < 2)
+                    clearTimeout(_t);
+                sum++;
+                _t = setTimeout(function() {
+                    _self.onPressFn(e)
+                    sum = 0;
+                }, 100)
+            } else {
+                _self.onPressFn(e);
+            }
+
+
+        });
+        self.overIndex = function() {
+            if (_this.currentIndex >= element.length - 1) {
+                _this.currentIndex = element.length - 1
+            }
+            if (_this.currentIndex < 0) {
+                _this.currentIndex = 0
+            }
+        }
+        self.isNumber = function(val) {
+            var regPos = /^\d+(\.\d+)?$/;
+            var regNeg = /^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$/;
+            if (regPos.test(val) || regNeg.test(val)) {
+                return true
+            } else {
+                return false
+            }
+        }
+        var distance = function(pointA, pointB, type) {
+            var P1 = getBoundingClientRect(pointA),
+                P2 = getBoundingClientRect(pointB);
+            var dist = 0;
+            switch (type) {
+                case "AA":
+                    dist = Math.sqrt(((P1.left - P2.left) * (P1.left - P2.left)) + ((P1.top - P2.top) * (P1.top - P2.top)))
+                    break;
+                case "AB":
+                    dist = Math.sqrt(((P1.left - P2.right) * (P1.left - P2.right)) + ((P1.top - P2.top) * (P1.top - P2.top)))
+                    break;
+                case "AC":
+                    dist = Math.sqrt(((P1.left - P2.right) * (P1.left - P2.right)) + ((P1.top - P2.bottom) * (P1.top - P2.bottom)))
+                    break;
+                case "AD":
+                    dist = Math.sqrt(((P1.left - P2.left) * (P1.left - P2.left)) + ((P1.top - P2.bottom) * (P1.top - P2.bottom)))
+                    break;
+                case "BA":
+                    dist = Math.sqrt(((P1.right - P2.left) * (P1.right - P2.left)) + ((P1.top - P2.top) * (P1.top - P2.top)))
+                    break;
+                case "BB":
+                    dist = Math.sqrt(((P1.right - P2.right) * (P1.right - P2.right)) + ((P1.top - P2.top) * (P1.top - P2.top)))
+                    break;
+                case "BC":
+                    dist = Math.sqrt(((P1.right - P2.right) * (P1.right - P2.right)) + ((P1.top - P2.bottom) * (P1.top - P2.bottom)))
+                    break;
+                case "BD":
+                    dist = Math.sqrt(((P1.right - P2.left) * (P1.right - P2.left)) + ((P1.top - P2.bottom) * (P1.top - P2.bottom)))
+                    break;
+                case "CA":
+                    dist = Math.sqrt(((P1.left - P2.left) * (P1.left - P2.left)) + ((P1.bottom - P2.top) * (P1.bottom - P2.top)))
+                    break;
+                case "CB":
+                    dist = Math.sqrt(((P1.left - P2.right) * (P1.left - P2.right)) + ((P1.bottom - P2.top) * (P1.bottom - P2.top)))
+                    break;
+                case "CC":
+                    dist = Math.sqrt(((P1.left - P2.left) * (P1.left - P2.left)) + ((P1.bottom - P2.bottom) * (P1.bottom - P2.bottom)))
+                    break;
+                case "CD":
+                    dist = Math.sqrt(((P1.right - P2.left) * (P1.right - P2.left)) + ((P1.bottom - P2.bottom) * (P1.bottom - P2.bottom)))
+                    break;
+                case "DA":
+                    dist = Math.sqrt(((P1.left - P2.left) * (P1.left - P2.left)) + ((P1.bottom - P2.top) * (P1.bottom - P2.top)))
+                    break;
+                case "DB":
+                    dist = Math.sqrt(((P1.right - P2.right) * (P1.right - P2.right)) + ((P1.bottom - P2.top) * (P1.bottom - P2.top)))
+                    break;
+                case "DC":
+                    dist = Math.sqrt(((P1.right - P2.left) * (P1.right - P2.left)) + ((P1.bottom - P2.bottom) * (P1.bottom - P2.bottom)))
+                    break;
+                case "DD":
+                    dist = Math.sqrt(((P1.right - P2.right) * (P1.right - P2.right)) + ((P1.bottom - P2.bottom) * (P1.bottom - P2.bottom)))
+                    break
+            }
+            return dist
+        }
+        self.ruleFn = function(index, direction) {
+            var obj = {};
+            if (rules) {
+                obj = _self.getCurRule()
+            }
+            if (obj && typeof obj == "object" && typeof obj["line"] != "undefined") {
+                var line = obj["line"]
+            } else {
+
+                var line = _this.hotbtn.length
+            }
+            line = parseInt(line);
+            if (obj && typeof obj == "object" && typeof obj[_this.currentIndex] != "undefined" && typeof obj[_this.currentIndex][index] != "undefined") {
+                var objRules = obj[_this.currentIndex];
+                if (self.isNumber(objRules[index])) {
+                    _this.currentIndex = parseInt(_this.currentIndex) + parseInt(objRules[index])
+                } else if (Array.isArray(objRules[index])) {
+                    _this.reSetClass(objRules[index][0], objRules[index][1], objRules[index][2])
+                } else if (typeof objRules[index] == "function") {
+                    objRules[index].call(_this)
+                } else if (typeof obj["line"] != "undefined") {
+                    _this.currentIndex = _this.currentIndex + line
+                }
+            } else {
+                var jump = element[_this.currentIndex].getAttribute("data-" + direction);
+                jump = parseInt(jump);
+                var max = Math.sqrt(window.screen.width * window.screen.width + window.screen.height * window.screen.height);
+                if (direction == "up") {
+                    if (_this.currentIndex > line - 1 && !obj["autoMove"]) _this.currentIndex = jump ? _this.currentIndex - jump : _this.currentIndex - line;
+                    else if (obj && typeof obj["up"] == "object") _this.reSetClass(obj["up"][0], obj["up"][1], obj["up"][2]);
+                    else if (obj && typeof obj["up"] == "function") obj["up"].call(_this)
+                    else {
+                        var min1 = max,
+                            min2 = max,
+                            curIndex = _this.currentIndex,
+                            curIndex2 = _this.currentIndex;
+                        for (var i = 0; i < _this.hotbtn.length; i++) {
+                            var cur1 = distance(_this.current, _this.hotbtn[i], "AD");
+                            var cur2 = distance(_this.current, _this.hotbtn[i], "BC");
+                            if (cur1 < min1 && cur1 > 0 && getBoundingClientRect(_this.current).top > getBoundingClientRect(_this.hotbtn[i]).top && _this.currentIndex > i) {
+                                min1 = cur1;
+                                curIndex = i;
+                            }
+
+                            if (cur2 < min2 && cur2 > 0 && getBoundingClientRect(_this.current).top > getBoundingClientRect(_this.hotbtn[i]).top && _this.currentIndex > i) {
+                                min2 = cur2;
+                                curIndex2 = i;
+                            }
+                        }
+                        curIndex = min1 < min2 ? curIndex : curIndex2;
+                        _this.currentIndex = curIndex;
+                    }
+                } else if (direction == "left") {
+                    if ((_this.currentIndex) % line != 0 && !obj["autoMove"]) _this.currentIndex = jump ? _this.currentIndex - jump : _this.currentIndex - 1;
+                    else if (obj && typeof obj["left"] == "object") _this.reSetClass(obj["left"][0], obj["left"][1], obj["left"][2]);
+                    else if (obj && typeof obj["left"] == "function") obj["left"].call(_this)
+                    else {
+                        var min1 = max,
+                            min2 = max
+                        curIndex = _this.currentIndex, curIndex2 = _this.currentIndex;
+                        for (var i = 0; i < _this.hotbtn.length; i++) {
+                            var cur1 = distance(_this.current, _this.hotbtn[i], "AB");
+                            var cur2 = distance(_this.current, _this.hotbtn[i], "DC");
+                            if (cur1 < min1 && cur1 > 0 && getBoundingClientRect(_this.current).left > getBoundingClientRect(_this.hotbtn[i]).left && _this.currentIndex > i) {
+                                min1 = cur1;
+                                curIndex = i;
+                            }
+
+                            if (cur2 < min2 && cur2 > 0 && getBoundingClientRect(_this.current).left > getBoundingClientRect(_this.hotbtn[i]).left && _this.currentIndex > i) {
+                                min2 = cur2;
+                                curIndex2 = i;
+                            }
+                        }
+                        curIndex = min1 < min2 ? curIndex : curIndex2;
+                        _this.currentIndex = curIndex
+                    }
+                } else if (direction == "right") {
+                    if ((_this.currentIndex + 1) % line != 0 && !obj["autoMove"]) _this.currentIndex = jump ? _this.currentIndex + jump : _this.currentIndex + 1;
+                    else if (obj && typeof obj["right"] == "object") _this.reSetClass(obj["right"][0], obj["right"][1], obj["right"][2]);
+                    else if (obj && typeof obj["right"] == "function") obj["right"].call(_this)
+                    else {
+                        var min1 = max,
+                            min2 = max,
+                            curIndex = _this.currentIndex,
+                            curIndex2 = _this.currentIndex;
+                        for (var i = 0; i < _this.hotbtn.length; i++) {
+                            var cur1 = distance(_this.current, _this.hotbtn[i], "BA");
+                            var cur2 = distance(_this.current, _this.hotbtn[i], "CD");
+
+                            if (cur1 < min1 && cur1 > 0 && getBoundingClientRect(_this.current).right < getBoundingClientRect(_this.hotbtn[i]).right && _this.currentIndex < i) {
+                                min1 = cur1;
+                                curIndex = i;
+                            }
+
+                            if (cur2 < min2 && cur2 > 0 && getBoundingClientRect(_this.current).right < getBoundingClientRect(_this.hotbtn[i]).right && _this.currentIndex < i) {
+                                min2 = cur2;
+
+                                curIndex2 = i;
+                            }
+                        }
+                        curIndex = min1 < min2 ? curIndex : curIndex2;
+                        _this.currentIndex = curIndex;
+                    }
+                } else if (direction == "down") {
+                    if (_this.hotbtn.length - line > _this.currentIndex && !obj["autoMove"]) _this.currentIndex = jump ? _this.currentIndex + jump : _this.currentIndex + line;
+                    else if (obj && typeof obj["down"] == "object") _this.reSetClass(obj["down"][0], obj["down"][1], obj["down"][2]);
+                    else if (obj && typeof obj["down"] == "function") obj["down"].call(_this);
+                    else if (_this.currentIndex + line > _this.hotbtn.length - 1 && _this.currentIndex + line <= (line - _this.hotbtn.length % line) + _this.hotbtn.length - 1 && _this.hotbtn.length % line != 0 && isFloatLast) {
+                        _this.currentIndex = _this.currentIndex + line;
+                        self.overIndex()
+                    } else {
+                        var min1 = max,
+                            min2 = max,
+                            curIndex = _this.currentIndex,
+                            curIndex2 = _this.currentIndex;
+                        for (var i = 0; i < _this.hotbtn.length; i++) {
+                            var cur1 = distance(_this.current, _this.hotbtn[i], "DA");
+                            var cur2 = distance(_this.current, _this.hotbtn[i], "CB");
+                            if (cur1 < min1 && cur1 > 0 && getBoundingClientRect(_this.current).bottom < getBoundingClientRect(_this.hotbtn[i]).bottom && _this.currentIndex < i) {
+                                min1 = cur1;
+                                curIndex = i;
+                            }
+                            if (cur2 < min2 && cur2 > 0 && getBoundingClientRect(_this.current).bottom < getBoundingClientRect(_this.hotbtn[i]).bottom && _this.currentIndex < i) {
+                                min2 = cur2;
+                                curIndex2 = i;
+                            }
+                        }
+
+                        curIndex = min1 < min2 ? curIndex : curIndex2;
+                        _this.currentIndex = curIndex;
+                    }
+                }
+            }
+        }
+        self.rule = function(keyCode) {
+            if (element.length <= 0) {
+                console.log("初始化" + _this.className + "失败");
+                return
+            }
+            self.overIndex();
+            if (keyCode == btnLeft) {
+                self.ruleFn(0, "left")
+            } else if (keyCode == btnRight) {
+                self.ruleFn(2, "right")
+            } else if (keyCode == btnUp) {
+                self.ruleFn(1, "up")
+            } else if (keyCode == btnDown) {
+                self.ruleFn(3, "down")
+            }
+            self.overIndex()
+        }
+        this.BACK = function() {
+            self.onPressFn("back")
+        }
+        this.LEFT = function() {
+            self.onPressFn("left")
+        }
+        this.RIGHT = function() {
+            self.onPressFn("right")
+        }
+        this.UP = function() {
+            self.onPressFn("up")
+        }
+        this.DOWN = function() {
+            self.onPressFn("down")
+        }
+        self.onPressFn = function(e) {
+            var keyCode = "";
+            if (typeof e == "object") {
+                keyCode = e.keyCode
+            } else {
+                if (e == "left") {
+                    keyCode = btnLeft
+                } else if (e == "right") {
+                    keyCode = btnRight
+                } else if (e == "up") {
+                    keyCode = btnUp
+                } else if (e == "down") {
+                    keyCode = btnDown
+                } else if (e == "back") {
+                    keyCode = btnBack
+                }
+            }
+            _this.event = e;
+            _this.currentIndex = _this.currentIndex >= element.length - 1 ? element.length - 1 : _this.currentIndex;
+            _this.prev = element[_this.currentIndex];
+            _this.prevIndex = _this.currentIndex;
+            self.rule(keyCode);
+            _this.current = element[_this.currentIndex];
+            _this.currentIndex = _this.currentIndex;
+            _this.className = _this.className;
+            _this.onCommPress.call(_this);
+            if (keyCode == 8 || keyCode == btnBack) {
+                if (rules["#" + _this.currentId + ">." + _this.className] && (typeof rules["#" + _this.currentId + ">." + _this.className]["onBack"]) == "function") rules["#" + _this.currentId + ">." + _this.className]["onBack"].call(_this);
+                else if (rules[_this.className] && (typeof rules[_this.className]["onBack"]) == "function") rules[_this.className]["onBack"].call(_this);
+                else _this.onBack.call(_this)
+            }
+            if (rules && rules["#" + _this.currentId + ">." + _this.className] && (typeof rules["#" + _this.currentId + ">." + _this.className]["onPress"]) == "function") init.rules["#" + _this.currentId + ">." + _this.className]["onPress"].call(_this);
+            else if (rules && rules[_this.className] && (typeof rules[_this.className]["onPress"]) == "function") init.rules[_this.className]["onPress"].call(_this);
+            else _this.onPress.call(_this);
+            if (keyCode == btnEnter) {
+                if (rules["#" + _this.currentId + ">." + _this.className] && (typeof rules["#" + _this.currentId + ">." + _this.className]["onEnterPress"]) == "function") rules["#" + _this.currentId + ">." + _this.className]["onEnterPress"].call(_this);
+                else if (rules[_this.className] && (typeof rules[_this.className]["onEnterPress"]) == "function") rules[_this.className]["onEnterPress"].call(_this);
+                else _this.onEnterPress.call(_this)
+            }
+            _this.renderType = "";
+            _self.render(_this.currentIndex);
+            keydefault(e)
+        }
+        this.onLoad()
+    }
+    window.tvSysBtnBind = tvSysBtnBind
+})(window)

BIN
smty/nanimages/0.png


BIN
smty/nanimages/A1-1216.jpg


BIN
smty/nanimages/A1-12161.jpg


BIN
smty/nanimages/HomeHouseMap.png


BIN
smty/nanimages/HomePoint.png


BIN
smty/nanimages/auto_rotation.png


BIN
smty/nanimages/auto_rotation@2x.png


BIN
smty/nanimages/auto_rotation_click.png


BIN
smty/nanimages/auto_rotation_click@2x.png


BIN
smty/nanimages/bg.jpg


BIN
smty/nanimages/bg.png


BIN
smty/nanimages/bg1280.jpg


BIN
smty/nanimages/direction.png


BIN
smty/nanimages/direction_board.png


BIN
smty/nanimages/direction_board@2.png


BIN
smty/nanimages/direction_bottom.png


BIN
smty/nanimages/direction_bottom@2x.png


BIN
smty/nanimages/direction_bottom_disable.png


BIN
smty/nanimages/direction_bottom_disable@2x.png


BIN
smty/nanimages/direction_left.png


BIN
smty/nanimages/direction_left@2x.png


BIN
smty/nanimages/direction_left_disable.png


BIN
smty/nanimages/direction_left_disable@2x.png


BIN
smty/nanimages/direction_right.png


BIN
smty/nanimages/direction_right@2x.png


BIN
smty/nanimages/direction_right_disable.png


BIN
smty/nanimages/direction_right_disable@2x.png


BIN
smty/nanimages/direction_top.png


BIN
smty/nanimages/direction_top@2x.png


BIN
smty/nanimages/direction_top_disable.png


BIN
smty/nanimages/direction_top_disable@2x.png


BIN
smty/nanimages/direction_walk.png


BIN
smty/nanimages/direction_walk@2x.png


BIN
smty/nanimages/kuang.png


BIN
smty/nanimages/kuang_sel.png


BIN
smty/nanimages/nan0.jpg


BIN
smty/nanimages/nanjing_xiaoguotu.jpg


BIN
smty/nanimages/play4.png


BIN
smty/nanimages/play4@2x.png


BIN
smty/nanimages/play4@3x.png


BIN
smty/nanimages/play_click.png


BIN
smty/nanimages/play_click@2x.png


BIN
smty/nanimages/play_click@3x.png


BIN
smty/nanimages/point.png


BIN
smty/nanimages/qd_non.png


BIN
smty/nanimages/qd_sel.png


BIN
smty/nanimages/rang_1201.png


BIN
smty/nanimages/rang_1201@2x.png


BIN
smty/nanimages/rangle.png


BIN
smty/nanimages/rangle@2x.png


BIN
smty/nanimages/sc_1.jpg


BIN
smty/nanimages/sc_2.jpg


BIN
smty/nanimages/sc_3.jpg


BIN
smty/nanimages/sc_4.jpg


BIN
smty/nanimages/tc_yuyue.png


BIN
smty/nanimages/tc_yy_success.png


BIN
smty/nanimages/text_bg.png


BIN
smty/nanimages/tip.jpg


BIN
smty/nanimages/yao0.png


BIN
smty/nanimages/yykf2_non.png


BIN
smty/nanimages/yykf2_sel.png


BIN
smty/nanimages/yykf_non.png


BIN
smty/nanimages/yykf_sel.png


BIN
smty/nanimages/zoomin.png


BIN
smty/nanimages/zoomin@2x.png


BIN
smty/nanimages/zoomin_click.png


BIN
smty/nanimages/zoomin_click@2x.png


BIN
smty/nanimages/zoomout.png


BIN
smty/nanimages/zoomout@2x.png


BIN
smty/nanimages/zoomout_click.png


BIN
smty/nanimages/zoomout_click@2x.png


+ 121 - 0
smty/smty.html

@@ -0,0 +1,121 @@
+<!DOCTYPE html>
+<html>
+<head>
+
+    <title>南京世茂项目</title>
+
+	<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, viewport-fit=cover" />
+	<meta name="apple-mobile-web-app-capable" content="yes" />
+	<meta name="apple-mobile-web-app-status-bar-style" content="black" />
+	<meta name="mobile-web-app-capable" content="yes" />
+	<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
+    <meta http-equiv="x-ua-compatible" content="IE=edge" />
+    
+    <meta charset="utf-8">
+    <link rel="stylesheet" href="css/style.css">
+
+	<style>
+		html { height:100%; }
+		body { height:100%; overflow:hidden; margin:0; padding:0; font-family:Arial, Helvetica, sans-serif; font-size:16px; color:#FFFFFF; background-color:#000000; }
+	</style>
+</head>
+<script>
+    var deviceWidth = parseInt(window.screen.width);  //获取当前设备的屏幕宽度
+    var deviceScale = deviceWidth / 1280;  //得到当前设备屏幕与640之间的比例,之后我们就可以将网页宽度固定为640px
+    var ua = navigator.userAgent;
+    //获取当前设备类型(安卓或苹果)
+    if (/Android (\d+\.\d+)/.test(ua)) {
+        var version = parseFloat(RegExp.$1);
+        if (version > 2.3) {
+            document.write('<meta name="viewport" content="width=1280,initial-scale=' + deviceScale + ', minimum-scale = ' + deviceScale + ', maximum-scale = ' + deviceScale + ', target-densitydpi=device-dpi">');
+        } else {
+            document.write('<meta name="viewport" content="width=1280,initial-scale=0.75,maximum-scale=0.75,minimum-scale=0.75,target-densitydpi=device-dpi" />');
+        }
+    } else {
+        document.write('<meta name="viewport" content="width=1280, user-scalable=no">');
+    }
+</script>
+
+<script src="./lib/tvSysBtnBind.v2.1.js"></script>
+
+
+<body id="Jdoc">
+
+   <div id="menuTip"> 单击“OK”键,唤起菜单 </div>
+    <div id="menuTitle">fff</div>
+
+    <div class="navigation">
+        <div style="position:relative">
+            <div id='map'><img id="map_img" class="map_img" src="nanimages/HomeHouseMap.png"/></div>
+            <div id='cam'><img class="cam_img" src="nanimages/HomePoint.png"/></div>
+            <div id='redPoints'>
+            </div>
+        </div>
+            
+    </div>
+
+      <!-- <div id="menuControl"> 
+        <div class="menu_control_item">
+            <img id="auto_rotation" src="yaoimages/auto_rotation.png" />
+            <div id="rotation_title">自动旋转</div>
+        </div>
+        <div class="menu_control_item">
+            <img id="zoom" src="yaoimages/zoomin.png" />
+            <div id="zoom_title" >放大</div>
+        </div>
+    </div> -->
+
+    <!-- <div id="wholeDirection">
+        <div id="directionTop">阳台</div>
+        <div class="directionCenter">
+            <div id="directionLeft">房间</div>
+            <div id="directionControl"> 
+                <div id='direct_top'><div><img id='direct_top_img' src='yaoimages/direction_top.png'></div><div>1</div></div>
+                <div class="direct_center">
+                    <div id='direct_left'><div><img id='direct_left_img' src='yaoimages/direction_left.png'></div><div>2</div></div>
+                    <div id='direct_right'><div>4</div><div><img id='direct_right_img' src='yaoimages/direction_right.png'></div></div>
+                </div>
+                <div id='direct_bottom'><div>3</div><div><img id='direct_bottom_img' src='yaoimages/direction_bottom.png'></div></div>
+            </div>
+            <div id="directionRight">花园</div>
+        </div>
+
+        
+        <div id="directionBottom">露台</div>
+    </div>
+     -->
+    
+    <!-- <div id='menu'>
+        <div class="pano">
+            <div class="title"></div>
+            <div class="thumb"><img src='thumb2k/yao0.png' /></div>
+        </div> 
+    </div> -->
+
+    <div id='menu'>
+    </div>
+
+    <div id='debug'></div>
+
+    
+
+    <div class="ctrlBtn"></div>	
+    
+
+
+
+
+    <div id="pano" style="width:100%;height:100%;">
+        <noscript><table style="width:100%;height:100%;"><tr style="vertical-align:middle;">
+            <td><div style="text-align:center;">ERROR:<br/><br/>Javascript not activated<br/><br/></div></td></tr></table>
+        </noscript>
+        <script src="js/smty.min.js"></script>
+    </div>
+
+
+    
+    
+
+
+</body>
+</html>

BIN
smty/thumb1k/01frontGate1k_f.jpg


BIN
smty/thumb1k/02masterBedroom1k_f.jpg


BIN
smty/thumb1k/03masterBedroom1k_f.jpg


BIN
smty/thumb1k/04masterBedroom1k_f.jpg


BIN
smty/thumb1k/05masterBedroomToilet1k_f.jpg


BIN
smty/thumb1k/06masterBedroomPorch1k_f.jpg


BIN
smty/thumb1k/07masterBedroomCloakroom1k_f.jpg


BIN
smty/thumb1k/08AguestRoom1k_f.jpg


BIN
smty/thumb1k/09guestRoomA1k_f.jpg


BIN
smty/thumb1k/10guestRoomAToilet1k_f.jpg


BIN
smty/thumb1k/11guestRoomB1k_f.jpg


BIN
smty/thumb1k/12guestRoomB1k_f.jpg


BIN
smty/thumb1k/13guestRoomB1k_f.jpg


BIN
smty/thumb1k/14livingRoom1k_f.jpg


BIN
smty/thumb1k/15livingRoom1k_f.jpg


BIN
smty/thumb1k/16livingRoom1k_f.jpg


BIN
smty/thumb1k/17livingRoom1k_f.jpg


+ 0 - 0
smty/thumb1k/18livingRoom1k_f.jpg


Niektoré súbory nie sú zobrazené, pretože je v týchto rozdielových dátach zmenené mnoho súborov