github.com/jincm/wesharechain@v0.0.0-20210122032815-1537409ce26a/app/index.html (about) 1 <!doctype html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/> 6 <title>有你有我</title> 7 <link rel="stylesheet" type="text/css" href="./css/api.css" /> 8 <link rel="stylesheet" type="text/css" href="./css/common.css" /> 9 10 <style> 11 12 /* 头部样式 */ 13 #nearHeader {background-color: #D43C33;} 14 #youniHeader {background-color: #D43C33;} 15 #messageHeader {background-color: #D43C33;} 16 #contactsHeader {background-color: #D43C33;} 17 #fortheader {background-color: #D43C33;} 18 19 .topbar {background: #D43C33; height:50px; border-bottom: 1px solid #DDDFE3;position: relative;} 20 .topbar_title {display: inline-block;font-size: 20px; line-height: 50px;padding-left: 12px;} 21 .hr01, .hr02 {height: 28px;} 22 .headerico {padding: 11px 15px 11px 15px;} 23 .headericohover {background: #DADDE0;} 24 .fr{float: right;} 25 .fl{float: left;} 26 .pa {position: absolute;} 27 img {vertical-align: top;} 28 29 /*第一头部*/ 30 .egret-header-box {height: 50px;} 31 .egret-img img {height: 30px;padding: 10px;} 32 .egret-header-search {background-color: #fff; position: absolute; left: 60px; right: 20px; height: 34px; margin-top: 8px;border-radius: 4px;} 33 .egret-header-search img {margin-left: 30px; height: 20px; margin-top: 7px;} 34 .egret-header-search input {line-height: 24px;font-size: 14px;padding-top: 5px;} 35 .egret-header-search input:focus {/*border:0;*/ outline:none;} 36 37 /* 第二头部 */ 38 .egret-header-text {line-height: 50px;color: #fff;font-size: 16px;padding: 0 10px;} 39 .egret-header-title {position: absolute;width: 100%;text-align: center;line-height: 50px;color: #fff;font-size: 20px;} 40 41 42 /* 第三头部 */ 43 .egret-switchframe {position: absolute; left: 90px; right: 90px;background-color: #fcfcfc;text-align: center;height: 30px;line-height: 30px;bottom: 10px;border-radius: 4px;color: #fff;border: 1px solid #fff;} 44 .egret-switchframe div {width: 50%;display: inline-block;color: #fff;background-color: #D43C33;} 45 .egret-switchframe div:first-child {border-radius: 4px 0 0 4px;} 46 .egret-switchframe div:last-child {border-radius: 0px 4px 4px 0px;} 47 .egret-switchframe-selectswitch {background-color: #fff !important;color: #D43C33 !important;} 48 49 /* 头部切换样式 */ 50 .titlebar {display: none;} 51 .activebar {display: block;} 52 53 /* 底部切换按钮样式 */ 54 ul {display: -webkit-box; display: -webkit-flex; display: flex; } 55 #footer {height: 51px; /*line-height: 50px;*/ background-color: #413A36;border-top: 1px solid #332E2A; } 56 #footer li{-webkit-box-flex: 1; -webkit-flex: 1; flex:1; /*height: 40px;*/} 57 58 /* 选项卡样式 */ 59 .scrollbar {display: -webkit-box;display: -webkit-flex; text-align: center; height: 40px; line-height: 40px;background: #EBECF0;font-size: 12px;position: relative;} 60 .col1 {-webkit-box-flex:1;-webkit-flex: 1;flex:1;color: #909090;} 61 .indexbar {position: absolute;/*background: #0fc;*/width: 50%;height: 5px;left: 0px;bottom: 0px;-webkit-transition: 300ms;} 62 .redbox {background: #DB4646;width: 40px;height: 5px;position: relative;left: auto;right: auto; margin-left: auto; margin-right: auto;} 63 64 /********************/ 65 /* 底部按钮原始样式 */ 66 /********************/ 67 .bbtn01 {background: url(./image/main_index01.png) no-repeat center 4px; } 68 .bbtnyouni {background: url(./image/main_index02.png) no-repeat center 4px; } 69 .bbtn02 {background: url(./image/main_index02.png) no-repeat center 4px; } 70 .bbtn03 {background: url(./image/main_index03.png) no-repeat center 4px; } 71 .bbtn04 {background: url(./image/main_index04.png) no-repeat center 4px; } 72 .bottom_btn {width: 99%; /*height: 43px;*/padding-top: 21px;background-position-y: 4px; background-size: 24px; font-size: 10px; color: #A5A5A5;} 73 74 /* 底部按钮激活样式 */ 75 .activebtn0 {/*background: url(./image/main_index01pressed.png) no-repeat center 4px; */} 76 .activebtn1 {/*background: url(./image/main_index02pressed.png) no-repeat center 4px; */} 77 .activebtn_good {/*background: url(./image/main_index02pressed.png) no-repeat center 4px; */} 78 .activebtn2 {/*background: url(./image/main_index03pressed.png) no-repeat center 4px; */} 79 .activebtn3 {/*background: url(./image/main_index04pressed.png) no-repeat center 4px; */} 80 .activebtn {color:#fff; background-size: 24px; background-color: #D33A31;} 81 .bottomhover {background-color: #46494B;} 82 83 /* 本地刷新图标 */ 84 #localrefresh {display:none;float: right; width: 40px; padding: 5px 10px;} 85 86 87 .navbar {display: -webkit-box; -webkit-box-orient: horizontal; position: relative; height: 40px; box-sizing: border-box; background: #fff; border-bottom: 1px solid #e0e0e0; } 88 .navbar-item {display: block; -webkit-box-flex: 1; width: 100%; line-height: 40px; font-size: 16px; text-align: center;color: #000; } 89 .navbar-item-hov {background-color: rgba(254,242,228,0.7); } 90 .navbar-item-active {color: #D43C33; } 91 #navmark {position: absolute; left: 0px; bottom: 0px; -webkit-transition: 300ms; text-align: center; height: 2px;background-color: #D43C33;} 92 93 94 95 </style> 96 </head> 97 <body> 98 <div id="wrap"> 99 <!-- 附近头部 --> 100 <div id="nearHeader" class="titlebar activebar"> 101 <!-- <h2>有你</h2> --> 102 <div class="egret-header topbar normalHeader"> 103 <div class="egret-header-box egret-img fr" onclick="openactivity('near')"><img src="./image/scan.png" alt=""></div> 104 </div> 105 106 <nav class="navbar" id="firstHeaderIndex"> 107 <a id="navbar-near-1" class="navbar-item navbar-item-active" tapmode="navbar-item-hov" onclick="setFrameGroupIndex('near_framegroup',0);">动态</a> 108 <a id="navbar-near-2" class="navbar-item" tapmode="navbar-item-hov" onclick="setFrameGroupIndex('near_framegroup',1);">好人</a> 109 <a id="navbar-near-3" class="navbar-item" tapmode="navbar-item-hov" onclick="setFrameGroupIndex('near_framegroup',2);">群组</a> 110 <a id="navbar-near-4" class="navbar-item" tapmode="navbar-item-hov" onclick="setFrameGroupIndex('near_framegroup',3);">置换</a> 111 <a id="navbar-near-5" class="navbar-item" tapmode="navbar-item-hov" onclick="setFrameGroupIndex('near_framegroup',4);">活动</a> 112 <a id="navbar-near-6" class="navbar-item" tapmode="navbar-item-hov" onclick="setFrameGroupIndex('near_framegroup',5);">求助</a> 113 <mark id="navmark"></mark> 114 </nav> 115 </div> 116 117 <!-- youni头部 --> 118 <div id="youniHeader" class="titlebar"> 119 <div class="egret-header topbar normalHeader"> 120 <div class="egret-header-box egret-img fr" onclick="openactivity('youni')"><img src="./image/add.jpg" alt=""></div> 121 <!--<div class="egret-header-box fr"> 122 <div class="egret-header-title">有你</div> 123 </div>--> 124 </div> 125 126 <nav class="navbar" id="youniHeaderIndex"> 127 <a id="navbar-youni-1" class="navbar-item navbar-item-active" tapmode="navbar-item-hov" onclick="setFrameGroupIndex('youni_framegroup',0);">走失</a> 128 <a id="navbar-youni-2" class="navbar-item" tapmode="navbar-item-hov" onclick="setFrameGroupIndex('youni_framegroup',1);">内推</a> 129 <a id="navbar-youni-3" class="navbar-item" tapmode="navbar-item-hov" onclick="setFrameGroupIndex('youni_framegroup',2);">内购</a> 130 <a id="navbar-youni-4" class="navbar-item" tapmode="navbar-item-hov" onclick="setFrameGroupIndex('youni_framegroup',3);">众筹</a> 131 <a id="navbar-youni-5" class="navbar-item" tapmode="navbar-item-hov" onclick="setFrameGroupIndex('youni_framegroup',4);">教育</a> 132 <a id="navbar-youni-6" class="navbar-item" tapmode="navbar-item-hov" onclick="setFrameGroupIndex('youni_framegroup',5);">折扣</a> 133 <mark id="navmark"></mark> 134 </nav> 135 </div> 136 137 <!-- 消息头部 --> 138 <div id="messageHeader" class="titlebar"> 139 <div class="egret-header topbar normalHeader"> 140 <!--<div class="egret-header-box"> 141 <div class="egret-header-title">有你</div> 142 </div>--> 143 <div class="egret-header-box egret-img fr" onclick="openactivity('message')"><img src="./image/add.jpg" alt=""></div> 144 </div> 145 <nav class="navbar" id="messageHeaderIndex"> 146 <a id="navbar-message-1" class="navbar-item navbar-item-active" tapmode="navbar-item-hov" onclick="setFrameGroupIndex('message_framegroup',0);">好友</a> 147 <a id="navbar-message-2" class="navbar-item" tapmode="navbar-item-hov" onclick="setFrameGroupIndex('message_framegroup',1);">群消息</a> 148 <a id="navbar-message-3" class="navbar-item" tapmode="navbar-item-hov" onclick="setFrameGroupIndex('message_framegroup',2);">平台消息</a> 149 <a id="navbar-message-4" class="navbar-item" tapmode="navbar-item-hov" onclick="setFrameGroupIndex('message_framegroup',3);">动态通知</a> 150 <mark id="navmark"></mark> 151 </nav> 152 </div> 153 154 <!-- 通讯录头部 --> 155 <div id="contactsHeader" class="titlebar"> 156 <div class="egret-header topbar normalHeader"> 157 <!--<div class="egret-header-box"> 158 <div class="egret-header-title">有你有我</div> 159 </div>--> 160 <div class="egret-header-box egret-img fr" onclick="openactivity('contacts')"><img src="./image/add.jpg" alt=""></div> 161 </div> 162 <nav class="navbar" id="contactsHeaderIndex"> 163 <a id="navbar-contacts-1" class="navbar-item navbar-item-active" tapmode="navbar-item-hov" onclick="setFrameGroupIndex('contact_framegroup',0);">好友</a> 164 <a id="navbar-contacts-2" class="navbar-item" tapmode="navbar-item-hov" onclick="setFrameGroupIndex('contact_framegroup',1);">群组</a> 165 <a id="navbar-contacts-3" class="navbar-item" tapmode="navbar-item-hov" onclick="setFrameGroupIndex('contact_framegroup',2);">粉丝</a> 166 <a id="navbar-contacts-4" class="navbar-item" tapmode="navbar-item-hov" onclick="setFrameGroupIndex('contact_framegroup',3);">关注</a> 167 <mark id="navmark"></mark> 168 </nav> 169 </div> 170 171 <!-- 我头部 --> 172 <div id="fortheader" class="titlebar"> 173 <div class="egret-header topbar"> 174 <div class="egret-header-title">账号</div> 175 </div> 176 </div> 177 178 <div id="main"> 179 180 </div> 181 182 <div id="footer"> 183 <ul> 184 <li tapmode="activebtn0 activebtn" onclick="switchframe('near_framegroup')"> 185 <a class="bottom_btn bbtn01 weixin activebtn activebtn0">附近</a> 186 </li> 187 188 <li tapmode="activebtn_good activebtn" onclick="switchframe('youni_framegroup')"> 189 <a class="bottom_btn bbtnyouni communicate">有你</a> 190 </li> 191 192 <li tapmode="activebtn1 activebtn" onclick="switchframe('message_framegroup')"> 193 <a class="bottom_btn bbtn02 communicate">消息</a> 194 </li> 195 196 <li tapmode="activebtn2 activebtn" onclick="switchframe('contact_framegroup')"> 197 <a class="bottom_btn bbtn03 discover">通讯录</a> 198 </li> 199 200 <li tapmode="activebtn3 activebtn" onclick="switchframe('myself')"> 201 <a class="bottom_btn bbtn04 home">我</a> 202 </li> 203 </ul> 204 </div> 205 </div> 206 </body> 207 <script type="text/javascript" src="./script/api.js"></script> 208 <script type="text/javascript"> 209 var firstHeader = $api.byId('nearHeader'); 210 var youniHeader = $api.byId('youniHeader'); 211 var messageHeader = $api.byId('messageHeader'); 212 var contactsHeader = $api.byId('contactsHeader'); 213 var fortheader = $api.byId('fortheader'); 214 var firstHeaderOffset; 215 var firstHeaderIndexHeight; 216 var youniHeaderIndexHeight; 217 218 var main = $api.byId('main'); 219 var mainPos = $api.offset(main); 220 221 var footer = $api.byId('footer'); 222 var footerPos = $api.offset(footer); 223 224 var isFirstOpen = false; 225 var isyouniOpen = false; 226 var isMessageOpen = false; 227 var isContactsOpen = false; 228 var isMyselfOpen = false; 229 230 function emptyopt() {} 231 232 // 打开frame 233 function openframe02more () { 234 api.openFrame({ 235 name: 'frame02more', 236 url: './html/second_frame/frame02_more.html', 237 rect: { 238 x: 0, 239 y: firstHeaderOffset.h, 240 w: 'auto', 241 h: 'auto' 242 }, 243 bounces:false, 244 delay: 200 245 }); 246 } 247 248 function openSearch() { 249 api.openWin({ 250 name: 'search', 251 url: './html/search.html', 252 bounces: false, 253 delay: 200 254 }); 255 } 256 257 function openactivity(win_name) { 258 //win_name = api.frameName + "_win" 259 //win_url = "./html/youni/" + win_name + ".html" 260 frame_name = $api.getStorage(win_name); 261 262 //console.log("win is " + win_name + "url is " + win_url); 263 264 //win_name = "lost_win" 265 win_url = "./html/youni/lost_win.html" 266 win_url = "./html/" + win_name + "/add_" + frame_name + "_win.html" 267 console.log("winName is " + win_name + " frameName is " + frame_name + "url is " + win_url); 268 269 api.openWin({ 270 name: win_name, 271 url: win_url, 272 bounces: false, 273 vScrollBarEnabled : false, 274 hScrollBarEnabled : false 275 }); 276 } 277 278 // 随意切换按钮 279 function randomSwitchBtn(name, index) { 280 var lis = $api.domAll('.bottom_btn'); 281 var i = 0, 282 len = lis.length; 283 var curLi = lis[index]; 284 285 for (i; i < len; i++) { 286 var thisLi = lis[i]; 287 if (thisLi === curLi) { 288 $api.addCls(thisLi, 'activebtn'); 289 $api.addCls(thisLi, 'activebtn' + index); 290 continue; 291 } else { 292 if ($api.hasCls(thisLi, 'activebtn')) { 293 $api.removeCls(thisLi, 'activebtn'); 294 $api.removeCls(thisLi, 'activebtn' + i); 295 } 296 } 297 } 298 299 // 切换头部 300 var lis = $api.domAll('.titlebar'); 301 var i = 0, 302 len = lis.length; 303 var curLi = lis[index]; 304 305 for (i; i < len; i++) { 306 var thisLi = lis[i]; 307 if (thisLi === curLi) { 308 $api.addCls(thisLi, 'activebar'); 309 $api.addCls(thisLi, 'activebar' + index); 310 continue; 311 } else { 312 if ($api.hasCls(thisLi, 'activebar')) { 313 $api.removeCls(thisLi, 'activebar'); 314 $api.removeCls(thisLi, 'activebar' + i); 315 } 316 } 317 } 318 } 319 320 // 隐藏所有的一级frame 321 function hideAllFrame() { 322 api.setFrameGroupAttr({ 323 name: 'near_framegroup', 324 hidden: true 325 }); 326 327 api.setFrameGroupAttr({ 328 name: 'youni_framegroup', 329 hidden: true 330 }); 331 332 api.setFrameGroupAttr({ 333 name: 'message_framegroup', 334 hidden: true 335 }); 336 337 api.setFrameGroupAttr({ 338 name: 'contact_framegroup', 339 hidden: true 340 }); 341 api.setFrameAttr({ 342 name: 'myself', 343 hidden: true 344 }); 345 } 346 347 // 自己修复ios显示frame的时候bug 348 // ios自己主动隐藏后,再open就不显示了 349 function showgroup(type) { 350 api.setFrameGroupAttr({ 351 name: type , 352 hidden: false 353 }); 354 } 355 356 // 展示指定的frame 357 function showframe(type) { 358 api.setFrameAttr({ 359 name: type, 360 hidden: false 361 }); 362 } 363 364 function setFrameGroupIndex(framegroup_name,frameIndex) { 365 //console.log("setFrameGroupIndex frame_name is " + framegroup_name + " " + frameIndex); 366 367 api.setFrameGroupIndex({ 368 name: framegroup_name, 369 index: frameIndex, 370 scroll: true 371 }); 372 } 373 374 function setFrameGroupStatus(framegroup_name_index,navigatenum,frameIndex) { 375 //navigatenum = 6; 376 377 navbar1 = "navbar-" + framegroup_name_index + "-1" 378 navbar2 = "navbar-" + framegroup_name_index + "-2" 379 navbar3 = "navbar-" + framegroup_name_index + "-3" 380 navbar4 = "navbar-" + framegroup_name_index + "-4" 381 navbar5 = "navbar-" + framegroup_name_index + "-5" 382 navbar6 = "navbar-" + framegroup_name_index + "-6" 383 384 var allframes = {"near": ["update","goodman","group","exchange","activity","help"], 385 "youni": ["lost","neitui","neigou","zhongchou","jiaoyu","zhekou"], 386 "message": ["friends","groups","platform","activiy_notify"], 387 "contacts": ["friends","groups","followers","followees"]}; 388 cur_win = allframes[framegroup_name_index]; 389 if(cur_win){ 390 $api.setStorage(framegroup_name_index,cur_win[frameIndex]); 391 console.log(framegroup_name_index + "frame " + cur_win[frameIndex]); 392 } 393 394 switch (frameIndex) { 395 case 0: 396 { 397 $api.byId(navbar1).className = "navbar-item navbar-item-active"; 398 $api.byId(navbar2).className = "navbar-item"; 399 $api.byId(navbar3).className = "navbar-item"; 400 $api.byId(navbar4).className = "navbar-item"; 401 402 if(navigatenum > 4) 403 { 404 $api.byId(navbar5).className = "navbar-item"; 405 $api.byId(navbar6).className = "navbar-item"; 406 } 407 var num = (api.winWidth / navigatenum) * frameIndex; 408 $api.css($api.byId('navmark'), "-webkit-transform:translate(" + num + "px,0)"); 409 break; 410 } 411 case 1: 412 { 413 $api.byId(navbar1).className = "navbar-item"; 414 $api.byId(navbar2).className = "navbar-item navbar-item-active"; 415 $api.byId(navbar3).className = "navbar-item"; 416 $api.byId(navbar4).className = "navbar-item"; 417 418 if(navigatenum > 4) 419 { 420 $api.byId(navbar5).className = "navbar-item"; 421 $api.byId(navbar6).className = "navbar-item"; 422 } 423 var num = (api.winWidth / navigatenum) * frameIndex; 424 $api.css($api.byId('navmark'), "-webkit-transform:translate(" + num + "px,0)"); 425 426 //jincm add log 427 console.log("winName is " + api.winName + " frameName is " + api.frameName); 428 break; 429 } 430 case 2: 431 { 432 $api.byId(navbar1).className = "navbar-item"; 433 $api.byId(navbar2).className = "navbar-item"; 434 $api.byId(navbar3).className = "navbar-item navbar-item-active"; 435 $api.byId(navbar4).className = "navbar-item"; 436 if(navigatenum > 4) 437 { 438 $api.byId(navbar5).className = "navbar-item"; 439 $api.byId(navbar6).className = "navbar-item"; 440 } 441 var num = (api.winWidth / navigatenum) * frameIndex; 442 $api.css($api.byId('navmark'), "-webkit-transform:translate(" + num + "px,0)"); 443 break; 444 } 445 case 3: 446 { 447 $api.byId(navbar1).className = "navbar-item"; 448 $api.byId(navbar2).className = "navbar-item"; 449 $api.byId(navbar3).className = "navbar-item"; 450 $api.byId(navbar4).className = "navbar-item navbar-item-active"; 451 452 if(navigatenum > 4) 453 { 454 $api.byId(navbar5).className = "navbar-item"; 455 $api.byId(navbar6).className = "navbar-item"; 456 } 457 var num = (api.winWidth / navigatenum) * frameIndex; 458 $api.css($api.byId('navmark'), "-webkit-transform:translate(" + num + "px,0)"); 459 break; 460 } 461 case 4: 462 { 463 $api.byId(navbar1).className = "navbar-item"; 464 $api.byId(navbar2).className = "navbar-item"; 465 $api.byId(navbar3).className = "navbar-item"; 466 $api.byId(navbar4).className = "navbar-item"; 467 468 if(navigatenum > 4) 469 { 470 $api.byId(navbar5).className = "navbar-item navbar-item-active"; 471 $api.byId(navbar6).className = "navbar-item"; 472 } 473 var num = (api.winWidth / navigatenum) * frameIndex; 474 $api.css($api.byId('navmark'), "-webkit-transform:translate(" + num + "px,0)"); 475 break; 476 } 477 case 5: 478 { 479 $api.byId(navbar1).className = "navbar-item"; 480 $api.byId(navbar2).className = "navbar-item"; 481 $api.byId(navbar3).className = "navbar-item"; 482 $api.byId(navbar4).className = "navbar-item"; 483 if(navigatenum > 4) 484 { 485 $api.byId(navbar5).className = "navbar-item"; 486 $api.byId(navbar6).className = "navbar-item navbar-item-active"; 487 } 488 489 var num = (api.winWidth / navigatenum) * frameIndex; 490 $api.css($api.byId('navmark'), "-webkit-transform:translate(" + num + "px,0)"); 491 break; 492 } 493 default: 494 break; 495 } 496 } 497 498 // 打开第一个framegroup 499 function openNearFramegroup() { 500 api.openFrameGroup({ 501 name: 'near_framegroup', 502 background: '#FFF', 503 scrollEnabled: true, 504 rect: { 505 x: 0, 506 y: firstHeaderOffset.h + firstHeaderIndexHeight, 507 w: "auto", 508 h: api.frameHeight - firstHeaderOffset.h - firstHeaderIndexHeight - footerPos.h 509 }, 510 index: 0, 511 frames: [{ 512 name: 'near_update', 513 url: './html/near/near_update.html', 514 bounces: false, 515 }, { 516 name: 'near_goodman', 517 url: './html/near/near_goodman.html', 518 bounces: false, 519 }, { 520 name: 'near_group', 521 url: './html/near/near_group.html', 522 bounces: false, 523 }, { 524 name: 'near_exchange', 525 url: './html/near/near_exchange.html', 526 bounces: false, 527 }, { 528 name: 'near_activity', 529 url: './html/near/near_activity.html', 530 bounces: false, 531 }, { 532 name: 'near_help', 533 url: './html/near/near_help.html', 534 bounces: false, 535 }] 536 }, function(ret) { 537 setFrameGroupStatus("near",6,ret.index); 538 //$api.setStorage(framegroup_name_index, "); 539 540 }); 541 } 542 543 544 // 打开 youniframegroup 545 function openyouniFramegroup() { 546 api.openFrameGroup({ 547 name: 'youni_framegroup', 548 background: '#FFF', 549 scrollEnabled: true, 550 rect: { 551 x: 0, 552 y: firstHeaderOffset.h + firstHeaderIndexHeight, 553 w: "auto", 554 h: api.frameHeight - firstHeaderOffset.h - firstHeaderIndexHeight - footerPos.h 555 }, 556 index: 0, 557 frames: [{ 558 name: 'youni_lost', 559 url: './html/youni/youni_lost.html', 560 bounces: false, 561 }, { 562 name: 'youni_neitui', 563 url: './html/youni/youni_neitui.html', 564 bounces: false, 565 }, { 566 name: 'youni_neigou', 567 url: './html/youni/youni_neigou.html', 568 bounces: false, 569 }, { 570 name: 'youni_zhongchou', 571 url: './html/youni/youni_zhongchou.html', 572 bounces: false, 573 }, { 574 name: 'youni_jiaoyu', 575 url: './html/youni/youni_jiaoyu.html', 576 bounces: false, 577 }, { 578 name: 'youni_zhekou', 579 url: './html/youni/youni_zhekou.html', 580 bounces: false, 581 }] 582 }, function(ret) { 583 setFrameGroupStatus('youni',6,ret.index); 584 }); 585 } 586 587 // 打开messageframegroup 588 function openMessageFramegroup() { 589 api.openFrameGroup({ 590 name: 'message_framegroup', 591 background: '#FFF', 592 scrollEnabled: true, 593 rect: { 594 x: 0, 595 y: firstHeaderOffset.h + firstHeaderIndexHeight, 596 w: "auto", 597 h: api.frameHeight - firstHeaderOffset.h - firstHeaderIndexHeight - footerPos.h 598 }, 599 index: 0, 600 frames: [{ 601 name: 'message_friends', 602 url: './html/message/message_friends.html', 603 bounces: false, 604 }, { 605 name: 'message_groups', 606 url: './html/message/message_groups.html', 607 bounces: false, 608 }, { 609 name: 'message_platform', 610 url: './html/message/message_platform.html', 611 bounces: false, 612 }, { 613 name: 'message_activity_notify', 614 url: './html/message/message_activity_notify.html', 615 bounces: false, 616 }] 617 }, function(ret) { 618 setFrameGroupStatus('message',4,ret.index); 619 }); 620 } 621 622 // 打开contactsframegroup 623 function openContactsFramegroup() { 624 api.openFrameGroup({ 625 name: 'contact_framegroup', 626 background: '#FFF', 627 scrollEnabled: true, 628 rect: { 629 x: 0, 630 y: firstHeaderOffset.h + firstHeaderIndexHeight, 631 w: "auto", 632 h: api.frameHeight - firstHeaderOffset.h - firstHeaderIndexHeight - footerPos.h 633 }, 634 index: 0, 635 frames: [{ 636 name: 'contact_friends', 637 url: './html/contacts/contact_friends.html', 638 bounces: false, 639 }, { 640 name: 'contact_groups', 641 url: './html/contacts/contact_groups.html', 642 bounces: false, 643 }, { 644 name: 'contact_followers', 645 url: './html/contacts/contact_followers.html', 646 bounces: false, 647 }, { 648 name: 'contact_followees', 649 url: './html/contacts/contact_followees.html', 650 bounces: false, 651 }] 652 }, function(ret) { 653 setFrameGroupStatus('contacts',4,ret.index); 654 }); 655 } 656 657 // 打开frame 658 function openframeinstance(frame, marginTop, isBounce) { 659 api.openFrame({ 660 name: frame, 661 url: './html/' + frame + '/' + frame + '_body.html', 662 rect: { 663 x: 0, 664 y: marginTop, 665 w: 'auto', 666 h: api.frameHeight - marginTop - footerPos.h 667 }, 668 // pageParam: {name: marginTop + footerPos.h}, 669 bounces: false, 670 vScrollBarEnabled: false, 671 hScrollBarEnabled: false, 672 delay: 200 673 }); 674 } 675 676 // 移动滑动块 677 function sliderbarCallback(id, num) { 678 // 得到背景元素的宽度 679 // var width=parseInt(window.getComputedStyle($api.byId('matchwidth'),null).width); 680 var width = parseInt(api.frameWidth / 2); 681 // api.alert({msg:width}); 682 if (num != 0) { 683 num = width; 684 } 685 console.log("id = " + id + "num = " + num + "width = " + width); 686 // 移动背景元素的宽度 在index.html不能获得 forth_frame.html上面的dom,虽然是在同一个手机屏幕上 687 $api.css($api.byId(id), "-webkit-transform:translate(" + num + "px,0)"); 688 } 689 690 // =================================== 691 // 响应底部按钮的切换frame 692 // =================================== 693 function switchframe(type) { 694 //alert(firstHeaderOffset.h); 695 console.log("type is " + type); 696 697 switch (type) { 698 case 'near_framegroup': 699 randomSwitchBtn('near_framegroup', 0); 700 hideAllFrame(); 701 if (isFirstOpen) { 702 showgroup('near_framegroup'); 703 } 704 else { 705 openNearFramegroup(); 706 isFirstOpen = true; 707 } 708 console.log("winName is " + api.winName + " frameName is " + api.frameName); 709 710 break; 711 case 'youni_framegroup': 712 randomSwitchBtn('youni_framegroup', 1); 713 hideAllFrame(); 714 if (isyouniOpen) { 715 //console.log("youni_framegroup show"); 716 showgroup('youni_framegroup'); 717 } 718 else { 719 openyouniFramegroup(); 720 isyouniOpen = true; 721 } 722 723 // openframeinstance('third_frame', firstHeaderOffset.h, false); 724 // openLeftgroup(); 725 // showframe('third_frame'); 726 break; 727 728 case 'message_framegroup': 729 randomSwitchBtn('message_framegroup', 2); 730 hideAllFrame(); 731 if (isMessageOpen) { 732 //console.log("message_framegroup show"); 733 showgroup('message_framegroup'); 734 } 735 else { 736 openMessageFramegroup(); 737 isMessageOpen = true; 738 } 739 // showgroup('hot'); 740 break; 741 742 743 case 'contact_framegroup': 744 randomSwitchBtn('contact_framegroup', 3); 745 hideAllFrame(); 746 if (isContactsOpen) { 747 //console.log("contact_framegroup show"); 748 showgroup('contact_framegroup'); 749 } 750 else { 751 openContactsFramegroup(); 752 isContactsOpen = true; 753 } 754 755 // openframeinstance('third_frame', firstHeaderOffset.h, false); 756 // openLeftgroup(); 757 // showframe('third_frame'); 758 break; 759 case 'myself': 760 randomSwitchBtn('myself', 4); 761 hideAllFrame(); 762 if (isMyselfOpen) { 763 showframe('myself'); 764 } 765 else { 766 openframeinstance('myself', firstHeaderOffset.h, false); 767 isMyselfOpen = true; 768 } 769 770 break; 771 default: 772 break; 773 } 774 775 } 776 777 // 完成首页初始化 778 apiready = function() { 779 // 设置ios7的标题栏字体变亮,全局用一个就行了 780 api.setStatusBarStyle({ 781 style: 'dark' 782 }); 783 784 firstHeader = $api.byId('nearHeader'); 785 youniHeader = $api.byId('youniHeader'); 786 messageHeader = $api.byId('messageHeader'); 787 contactsHeader = $api.byId('contactsHeader'); 788 fortheader = $api.byId('fortheader'); 789 790 var fortheader = $api.byId('fortheader'); 791 var firstHeaderIndex = $api.byId('firstHeaderIndex'); 792 793 $api.fixIos7Bar(firstHeader); 794 $api.fixIos7Bar(youniHeader); 795 $api.fixIos7Bar(messageHeader); 796 $api.fixIos7Bar(contactsHeader); 797 $api.fixIos7Bar(fortheader); 798 799 // TODO 一定记得修改 800 firstHeaderOffset = $api.offset(firstHeader); 801 firstHeaderIndexHeight = $api.offset(firstHeaderIndex).h; 802 803 firstHeaderOffset.h -= firstHeaderIndexHeight; 804 805 var main = $api.byId('main'); 806 var mainPos = $api.offset(main); 807 808 var footer = $api.byId('footer'); 809 var footerPos = $api.offset(footer); 810 811 var scrollHeight = $api.dom('.navbar').offsetHeight; 812 $api.byId('navmark').style.width = api.winWidth / 5 + 'px'; 813 isFirstOpen = true; 814 openNearFramegroup(); 815 816 //jincm test 817 key = "key1" 818 data = "data1" 819 $api.setStorage(key, data); 820 console.log("key=" + key + " data=" + data) 821 822 }; 823 </script> 824 </html>