2015-07-16 17 views
5

Creo una tela in js_of_ocaml come di seguito.Una tela con una barra di scorrimento orizzontale in js_of_ocaml

(* create document *) 
let document = Dom_html.window##document 

(* function to create canvas *) 
let create_canvas() = 
let canvas = Dom_html.createCanvas document in 
canvas##width <- 500; 
canvas##height <- 500; 
canvas 

(* create canvas *) 
let canvas = create_canvas() 

let start _ = 
    let main = get_main() in 
    Dom.appendChild main canvas; 
    Js._false in 

Dom_html.window##onload <- Dom_html.handler start 

Posso vedere solo uno schermo bianco.
Ora, voglio aggiungere una barra di scorrimento orizzontale alla tela.
Penso di dover creare una scatola con una barra di scorrimento orizzontale che è più piccola della tela bianca e la tela bianca è nella scatola.
Come posso farlo?

risposta

4

È possibile inserire la tela in un div la cui larghezza è inferiore alla larghezza della tela. Controllare il seguente codice:

module Html = Dom_html 

let doc = Html.window##document 

let create_div() = 
    let div = Html.createDiv doc in 
    div##style##width <- Js.string "500px"; 
    div##style##overflowX <- Js.string "scroll"; 
    div 


let create_canvas() = 
    let canvas = Dom_html.createCanvas document in 
    canvas##width <- 900; 
    canvas##height <- 900; 
    canvas 

let start _ = 
    let main = get_main() in 
    let wrapper = create_div() in 
    let canvas = create_canvas() in 
    Dom.appendChild wrapper canvas; 
    Dom.appendChild main wrapper; 
    Js._false in 

Dom_html.window##onload <- Dom_html.handler start 

Questo codice è la traduzione di js_of_ocaml delle seguenti jsfiddle: https://jsfiddle.net/pre1wacc/

+0

Grazie! Potrei fare con il tuo codice! – mmsss

Problemi correlati