2016-03-01 67 views
0

我有这方面的工作的JavaScript代码确实对initresize一些调整大小:的Javascript:代码投入功能时,没有得到执行

(function (w) { 

    w.init = function() { 

    var w = window.innerWidth; 
    var h = window.innerHeight; 

    //resize_font; 
    var fs = parseInt(w/26); 
    document.body.style.fontSize = fs + "px"; 

    //resize_cover; 
    var logo = get_by_id("logo"); 
    var logo_height = logo.clientHeight; 
    var menu = get_by_id("menu"); 
    var menu_height = menu.clientHeight; 
    var cover_height = logo_height + menu_height; 
    var distance_top = (h - cover_height)/2.5; 

    var container = get_by_id("container"); 
    container.style.paddingTop = distance_top + "px"; 
    } 

    w.resize = function() { 

    var w = window.innerWidth; 
    var h = window.innerHeight; 

    //resize_font; 
    var fs = parseInt(w/26); 
    document.body.style.fontSize = fs + "px"; 

    //resize_cover; 
    var logo = get_by_id("logo"); 
    var logo_height = logo.clientHeight; 
    var menu = get_by_id("menu"); 
    var menu_height = menu.clientHeight; 
    var cover_height = logo_height + menu_height; 
    var distance_top = (h - cover_height)/2.5; 

    var container = get_by_id("container"); 
    container.style.paddingTop = distance_top + "px"; 
    } 
} 

现在我想重构代码,用于调整字体和翻唱成一个函数,但 我无法让它工作。我试过这个:

(function (w) { 

    w.init = function() { 
    var w = window.innerWidth; 
    var h = window.innerHeight; 

    resize_font; 
    resize_cover; 
    } 

    w.resize = function() { 
    var w = window.innerWidth; 
    var h = window.innerHeight; 

    resize_font; 
    resize_cover; 
    } 

    function resize_cover() { 
    var logo = get_by_id("logo"); 
    var logo_height = logo.clientHeight; 
    var menu = get_by_id("menu"); 
    var menu_height = menu.clientHeight; 
    var cover_height = logo_height + menu_height; 
    var distance_top = (h - cover_height)/2.5; 

    var container = get_by_id("container"); 
    container.style.paddingTop = distance_top + "px";   
    } 

    function resize_font() { 
    var fs = parseInt(w/26); 
    document.body.style.fontSize = fs + "px";   
    } 
} 

控制台不显示任何错误,但调整大小没有发生。我究竟做错了什么?

+1

Ehhh,究竟你认为'resize_font;'呢? – Amit

+0

呃,调整font_size的大小。 – Flip

回答

3

你需要在init和resize事件函数中调用你的函数。 您有:

resize_font; 
resize_cover; 

您需要:

resize_font(); 
resize_cover(); 

一个函数的名称就是对它的引用,这就是为什么你没有看到任何错误。你现在有类似说法:

var x = 1; 
x; 
+1

freakin'JS syntax ... thx! – Flip

2

看起来你的问题是这样的:

resize_font; 
resize_cover; 

我想你的意思

resize_font(); 
resize_cover(); 
1

这好像你忘了执行功能,刚才提到了指针。

请尝试更改:

resize_font; 
resize_cover; 

resize_font(); 
resize_cover();