我建立了一個主要使用canvas的網站,但是唯一的cannvas是一條橫向繪製的線條,線條大約13000px長。Javascript內存泄露 - 畫布HTML5 jQuery
當用戶滾動我的窗口,然後沿着m畫布路徑Example水平滾動。
我知道,在Firefox(版本6.0.2)我的文檔無法滾動。在我的控制檯中,我收到了一些(NS_ERROR_OUT_OF_MEMORY)行。
谷歌搜索後,我發現它可能是一個潛在的內存泄漏?這是如何工作的,是因爲我編寫代碼的方式?或者這是一個瀏覽器/硬件問題?
我重新初始化我的窗口調整大小等功能,我很好奇這是否有任何imapct?
// Initate the plugin
$(window).resize(function() {
if(this.resizeTO) clearTimeout(this.resizeTO);
this.resizeTO = setTimeout(function() {
$(this).trigger('resizeEnd');
}, 500);
});
$(window).bind('resizeEnd', function() {
$("#path").scrollPath({drawPath: true, wrapAround: false});
});
$("#path").scrollPath({drawPath: true, wrapAround: false});
$(document).ready(init);
$('.wrapper').css({'top' : '0px','left' : '0px'});
$('.wrapper > div').css({'height' : + $(window).height() +'px'});
function init() {
// Set window height and width variables
var windowheight = $(window).height();
var windowwidth = $(window).width();
// Check monitor size and workot if incentives needs extra space etc
var bff = 4020 + (1993 - windowwidth);
// Move divs into position
$('.culture').css('top', + - windowheight + 'px');
$('.careerpath').css('top', + - windowheight + 'px');
$('.training').css('top', + - windowheight + 'px');
$('.apply').css('top' , + - windowheight + 'px');
/* ========== DRAWING THE PATH AND INITIATING THE PLUGIN ============= */
$.fn.scrollPath("getPath")
// Move to 'start' element
.moveTo(0, 0, {name: "div"})
.lineTo(2400, 0, {name: "div1"})
.lineTo((bff-550), 0, {name: "div2"})
.lineTo(bff, 0, {name: "div3"})
.lineTo(bff, -windowheight, {name: "div4"})
.lineTo((bff + 1993), -windowheight, {name: "div5"})
.lineTo((bff + 1993 + 1837), -windowheight, {name: "div6"})
.lineTo((bff + ((1993 + 1837 + 1795) - 325)), -windowheight, {name: "div7"})
// We're done with the path, let's initate the plugin on our wrapper element
// Window resize function
$(window).resize(function() {
if(this.resizeTO) clearTimeout(this.resizeTO);
this.resizeTO = setTimeout(function() {
$(this).trigger('resizeEnd');
}, 500);
});
$(window).bind('resizeEnd', function() {
$("#path").scrollPath({drawPath: true, wrapAround: false});
});
$("#path").scrollPath({drawPath: true, wrapAround: false});
}
我不得不問:爲什麼你需要畫布繪製一條線13000像素長? – Blazemonger 2013-02-19 19:52:40
我建立了一個角色爲基礎的網站,當用戶滾動字符從左到右走向上升到其他樓層等電梯... – Liam 2013-02-19 19:53:37
我在畫布上的經驗是不存在的,但是:爲什麼你不做一個更小的畫布和滾動相反的背景? – Blazemonger 2013-02-19 19:55:28