簡體   English   中英

調整檢測瀏覽器窗口的大小

[英]Resizing on detecting browser window

嘿,每個人對於整個JS和JQuery場景都是非常新的,需要一點幫助。 進行了幾次搜索,但我找不到解決方案或忽略了它(甚至錯誤地實現了它)。

我使用CreateJS創建了一個站點,並設法使調整大小工作得很好(使用在這里找到的一個小JQuery)。 但是,該代碼僅適用於調整大小,而不是當我以最小化狀態加載瀏覽器窗口時(基本上將整個畫布加載為全屏狀態,從而切斷了站點)。

我正在嘗試使該站點在任何分辨率和移動設備上都能自動查看。 這是我正在使用的代碼,某些方向會很棒!

<script>
var canvas, stage, exportRoot;



function init() {
canvas = document.getElementById("canvas");
images = images||{};

var manifest = [
    {src:"images/Bitmap1.png", id:"Bitmap1"},
    {src:"images/Bitmap2.png", id:"Bitmap2"},
    {src:"images/Bitmap3.png", id:"Bitmap3"},
    {src:"images/Bitmap4.png", id:"Bitmap4"},
    {src:"images/facebook.png", id:"facebook"},
    {src:"images/mainbg.jpg", id:"mainbg"},
    {src:"images/mainbglarge.jpg", id:"mainbglarge"}
];

var loader = new createjs.LoadQueue(false);
loader.addEventListener("fileload", handleFileLoad);
loader.addEventListener("complete", handleComplete);
loader.loadManifest(manifest);
}


//resize jquery
(function($){
  $(window).resize(function(){
    windowResize();                      
  });         
})(jQuery);

function windowResize(){
   stage.canvas.width = window.innerWidth;
   stage.canvas.height = window.innerHeight;    
   var test = (window.innerWidth/1680)*1; 
   exportRoot.scaleX = exportRoot.scaleY = test;
}

function handleFileLoad(evt) {
    if (evt.item.type == "image") { images[evt.item.id] = evt.result; }
}

function handleComplete() {
    exportRoot = new lib.strikersite_html5Resize();

    stage = new createjs.Stage(canvas);
    stage.addChild(exportRoot);
    stage.update();
    stage.enableMouseOver();

    createjs.Ticker.setFPS(12);
    createjs.Ticker.addEventListener("tick", stage);
}
</script>

我基本上是使用帶有Jquery元素的常規Javascript,因此考慮到此代碼,兩種方法都將不勝感激! 謝謝!

手動觸發調整大小事件似乎很容易,我會在load或ready事件中調用該函數。

在窗口加載或准備好文檔時調用windowResize()

$(window).load(windowResize());

窗口加載和文檔就緒之間的區別在於,窗口加載會在所有內容,資產和文檔都加載完畢后觸發。 准備好操作文檔后立即觸發文檔就緒。 就是說,如果需要等待圖像來計算畫布上的尺寸,請使用窗口加載,否則只需准備好文檔即可。

如果我正確理解您的問題,請嘗試在加載時觸發resize事件。 只需將其放在“腳本”塊的末尾即可。

$(function() {
    $(window).trigger('resize');
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM