Scrolling Problem

by Bai Shiuan Huang

HTML

<h1 style="font-size:2em; text-align:center; margin:15px"> 
<b>常見木管樂器展</b>
</h1>
<div id="items">
<button id="lightToggle">Gallery Light Toggle</button>
<select id="mySelect">
  <option value="null">請選擇</option>
 <option value="flute">長笛</option>
 <option value="piccolo">短笛</option>
 <option value="clarinet">單簧管</option>
 <option value="sax">薩克斯風</option>
  <option value="oboe">雙簧管</option>
 <option value="bassoon">低音管</option>
</select>
<br>
Spotlight Intensity <input type="range" id='myRange' min="1" max="100" value="50">
</div>


<hr>

<div id="container">
</div>
<div id="container2">
</div>
<br>
<div>
<b>監視器畫面</b><br>
(點選左手邊畫作或下拉選單選擇畫作)
</div>
<br>
<hr>
<p id = "myPara">
</p>
<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r78/three.min.js"></script>
<script src="https://threejs.org/examples/js/controls/OrbitControls.js"></script>
<script src="https://code.jquery.com/jquery-2.1.4.min.js"></script>

CSS

#container {
  width: 45vw;
  height: 45vw;
  float: left;
  background-color: yellow;
  margin: 10px;
}

#items {
  text-align: center;
}

#container2 {
  width: 40vw;
  height: 40vw;
  float: left;
  background-color: yellow;
  margin: 10px;
}

#lightToggle {
  width: 30vw;
}



p {
  margin: 10px;
  text-align: justify;
}

JavaScript

var scene, renderer, renderer1, sceneHUD, cameraHUD, myCamera, paintings = [];
var mouse = new THREE.Vector2();
var raycaster = new THREE.Raycaster();
var rotateNum = 0, monitors = [];
var rotationOriginals = [];
var pickables = [], lights = [], light1, toggle2 = false;
class makeSpotLight{
  constructor(pos, look){
    this.mesh = new THREE.Object3D();
    let cylinder = new THREE.Mesh(new THREE.CylinderGeometry( 1, 5, 10, 32 ), new THREE.MeshPhongMaterial({color:0x38daff}));
    cylinder.rotation.x = -Math.PI/2; 
    this.mesh.add(cylinder);
    this.mesh.position.copy(pos);
    this.mesh.lookAt(look.position);
    scene.add(this.mesh);
    this.light = new THREE.SpotLight( 0xffffff );
    this.light.target = look;
    this.light.position.copy(pos);
    this.light.castShadow = true;

    this.light.shadow.mapSize.width = 1024;
    this.light.shadow.mapSize.height = 1024;
		this.light.distance = 150;
    this.light.angle = Math.PI/4;
    this.light.shadow.camera.near = 100;
    this.light.shadow.camera.far = 500;
    this.light.shadow.camera.fov = 50;
    scene.add(this.light);
  }

}
$("#mySelect").change(function(){
  switch($("#mySelect").val()){
    case 'null':
    myCamera.position.set( 0, 450, 0);
    myCamera.lookAt(new THREE.Vector3(0, 0, 0));
    $('#myPara').text('');
    break;
    case 'piccolo':
    myCamera.position.set(-60, 25, -60);
    myCamera.lookAt(pickables[0].position);
    $('#myPara').text('短笛(piccolo),是長笛家族的一種變種樂器,名稱源自義大利文「flauto piccolo」,長度為普通長笛的一半。音域則比長笛高1個八度,所以部份義大利作曲家亦會以「ottavino」稱呼短笛。');
    break;
    case 'flute':
    myCamera.position.set(-60, 25, -60);
    myCamera.lookAt(pickables[1].position);
    $('#myPara').text('長笛是現代管弦樂和室內樂中主要的高音旋律樂器,外型是一根開有數個音孔的圓柱型長管。早期的長笛是烏木或椰木製,現代多使用金屬的材質,比如普通的鎳銀合金到專業型的銀合金,金(9K、14K、18K、24K)以及白金等,也有表演者使用特殊的玻璃長笛。傳統木質長笛的音色特點是圓潤、溫暖、細膩,而金屬長笛的音色就比較明亮寬廣。不同材料的長笛完全根據演奏者的愛好選擇。到了海頓那個年代(1732-1809年),長笛已成為管絃樂團中不可或缺的一員。19世紀初葉是改善長笛的重要時期,原因是德國人貝姆(Theobald...