[FUN]模擬Ionic的教學說明

滿喜歡IONIC的範例教學文件,他透過滑鼠滾輪的滑動,動態於手機中呈現該章節可能的結果,心血來潮用jQuery模擬寫看看效果。

效果:

CSS:

.chapter{
  width:500px;
  background-color:#128BC2; 
  padding:10px;
  color:white;
}

.chapterContent{
  border:1px solid #128BC2; 
  width:500px;
  padding :20px;
}

#divPhone {
  position:fixed; 
  top:20px; 
  right:40px; 
  height:500px; 
  width:300px; 
  border:20px solid black; 
  border-radius:20px; 
  text-align:center;
  background-color:white; 
  font-weight:bold;
}

#divPhoneHeader {
  height:40px; 
  line-height:40px;
  background-color:#026CA0; 
  font-size:24px; 
  color:white; 
}

#divPhoneContent {
  font-size:20px; 
  color:gray; 
}

HTML:

<body style="overflow:hidden; background:#EEEEEE ">
  <!--左側教學說明 -->
  <div id="divDocument" style="padding:20px; overflow-y:auto; width:100%; height:600px;">
    <label class="chapter">Chapter_1_如何成為綠箭俠?</label><br/>
    <label class="chapterContent" style="padding-bottom:100px;">..........</label><br/>

    <label class="chapter">Chapter_2_ 如何成為閃電俠?</label><br/>
    <label class="chapterContent" style="padding-bottom:300px;">..........</label><br/>

    <label class="chapter">Chapter_3_如何成為蝙蝠俠?</label><br/>
    <label class="chapterContent" style="padding-bottom:400px;">..........</label><br/>

    <label class="chapter">Chapter_4_如何成為超人?</label><br/>
    <label class="chapterContent" style="padding-bottom:700px;">..........</label><br/>
  </div>

  <!-- 右側手機 -->
  <div id="divPhone">
    <div id="divPhoneHeader">
      DEMO
    </div>
    <div id="divPhoneContent" >
    </div>
  </div>
</body>

Javascript:

//1.紀錄章節與內容
var chapterObj = [
  {
    id : 'chapter1',
    content : '去煉獄島打怪',
  },
  {
    id : 'chapter2',
    content : '被閃電擊中',
  },
  {
    id : 'chapter3',
    content : '$$$$$$',
  },
  {
    id : 'chapter4',
    content : '鋼鐵英雄',
  }
];
	
//2.計算所有章節所在高度
$(".chapter").each(function(index, ele){
  chapterObj[index].top = ele.offsetTop;
});

//3.註冊Scroll事件
$("#divDocument").scroll(function() {

  //判斷移到哪一章節
  var targetChapter = null;
  var scrollTop = $(this).scrollTop();
  for(i=0;i<chapterObj.length;i++){
    var top = chapterObj[i].top;
    if(top <= scrollTop){
      targetChapter = chapterObj[i];
    }
  }

  //將該章節的結果呈現於手機上
  if(targetChapter != null){
    var content = targetChapter.content;
    $("#divPhoneContent").html("<br/>"+content);
  }
});