2012-04-26 14 views
5

में थ्री.जेएस प्रस्तुत करें मैं तीन.जेएस का उपयोग कर रहा हूं। दो div तत्वों के साथ एक HTML साइट होने के साथ, क्या केवल एक div तत्व में प्रस्तुत करना संभव है?एक div तत्व

एचटीएमएल कोड:

<body> 
    <div id="twocols"> 
     <div id="detailinfo"> 
      <span class="c">Detailinformationen:</span><br/> 
      <span id="tb" class="g"></span><br/> 
      <span class="c">Grafiken:</span> 
      <div id="chart"></div> 
      <div id="chart2"></div> 
     </div> 
     <div id="city"> 
     </div>     
    </div>  
</body> 

मैं शहर div में प्रस्तुत करना चाहते हैं।

Three.js कोड:

function initScene() { 

      //container = document.createElement('div'); 
      //document.body.appendChild(container); 

      scene = new THREE.Scene(); 
      createCamera(); 
      createLight(); 
      createProjector(); 
      createRenderer(); 
      createControls(); 

      //... 
     } 

createRenderer:

function createRenderer() { 
      renderer = new THREE.WebGLRenderer({ 
       antialias : ANTIALIAS, 
       preserveDrawingBuffer : DRAWINGBUFFER 
      }); 

      renderer.setSize(document.getElementById("city").offsetWidth, document.getElementById("city").offsetHeight); 
      document.getElementById("city").appendChild(renderer.domElement); 

      THREEx.Screenshot.bindKey(renderer); // add the printscreen shortcut with "p" 
     } 

createControls:

function createControls() { 
      controls = new InteractionManager(camera, document.getElementById("city")); 
      //... 
     } 

InteractionManager.js

initialize: function(camera, domElement) { 

    this.object = camera; 
    this.domElement = (domElement !== undefined) ? domElement : document; 
    this.target = new THREE.Vector3(0, 0, 0); 
    //this.chartManager = new ChartsManager(); 

    if (this.domElement === document) { 
     this.viewHalfX = window.innerWidth/2; 
     this.viewHalfY = window.innerHeight/2; 
    } else { 
     this.viewHalfX = this.domElement.offsetWidth/2; 
     this.viewHalfY = this.domElement.offsetHeight/2; 
     //alert(domElement.offsetWidth + " " + domElement.offsetHeight); 
     //this.domElement.setAttribute('tabindex', -1); 
    } 

    //... 
}, 

अब तक ..

+0

हाय, मैं अपनी पहली पोस्ट अपडेट किया गया। – MrGreen

उत्तर

3
बजाय

:

container = document.createElement('div'); 

उपयोग:

container = document.getElementById('city'); 
+0

धन्यवाद, फिलहाल मैं कंटेनर का उपयोग नहीं करता हूं, लेकिन इसके लिए काम नहीं करता है। – MrGreen

+0

कहना मुश्किल है। डीबगर (एफ 12) का प्रयोग करें। जांचें कि आपको 'document.getElementById ("city") से क्या मिलता है। और अपने मूल प्रश्न के बारे में, एक div में प्रतिपादन के बारे में, इस उदाहरण को देखें: http://jsfiddle.net/eLudu/ –

+0

उपरोक्त बेवकूफ मेरे लिए काम नहीं करता है, जुआन। बस इसमें कुछ भी नहीं के साथ एक बोर्डर्ड बॉक्स प्रदर्शित करता है। –