2017-03-03 98 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