2017-03-03 142 views
0

我玩弄一些代码,基于它在div的尺寸放大文本可以在这里看到:修改JavaScript访问变量

http://codepen.io/anon/pen/zZqXXd

$(function() { 

    var outer = $('div'), inner = $('h1'), 
    difference = outer.width()-inner.width(), 
    ratio = outer.width()/inner.width(), 
    style = 'translateX(' + difference/2 + 'px) ' + 'scale(' + ratio + ')'; 
    inner.css({'webkit-transform': style, transform: style}); 
}); 

然而,我试图修改它使用大小的变量,而不是从div中获取它。这是我的尝试似乎不工作:

$(function() { 

    var width = "400", 
    var inner = $('h1'), 
    difference = width -inner.width(), 
    ratio = width /inner.width(), 
    style = 'translateX(' + difference/2 + 'px) ' + 'scale(' + ratio + ')'; 
    inner.css({'webkit-transform': style, transform: style}); 
}); 

回答

1

你有var width = "400"用分号后更换逗号(',')。您当前的代码会引发语法错误。

改正的代码是:

$(function() { 

    var width = "400"; // <----- 
    var inner = $('h1'), 
    difference = width -inner.width(), 
    ratio = width /inner.width(), 
    style = 'translateX(' + difference/2 + 'px) ' + 'scale(' + ratio + ')'; 
    inner.css({'webkit-transform': style, transform: style}); 
}); 
+0

谢谢。我可以问一下为什么,因为其他var有逗号并且没问题? – Jimmy

+1

@Jimmy原因是第二个var语句后面的行都属于前面的'var'。这与例如'var a = 1,b = 2,c = 3;',分成多行。缩进变量声明总是一个好主意,这使得代码更易于阅读和理解。 – maxkl