2013-07-03 47 views
-2

我对网页设计非常陌生,并且在理解以下jQuery代码方面很挣扎。Jquery代码,不能正确理解

在我的index.html页面上,我有两个链接,一个称为较小,另一个较大。

function change_size(element,size){ 
    var current = parseInt(element.css('font-size')); 
    if(size =='smaller'){ 
     var new_size = current - 2; 
    } else if (size=='bigger'){ 
     var new_size = current + 2; 
    } 

    element.css('font-size', new_size + 'px'); 
} 

$('#smaller').click(function(){ 
    change_size($('p') 'Smaller'); /// function call 
}); 
$('#bigger').click(function(){ 
    change_size($('p') 'bigger'); 
}); 

是否element.css()线在第一个函数的末尾添加font-sizenew_size然后追加“PX”呢?

+0

还,如果有人可以解释parseInt函数,我看它,但它的混乱 –

+1

这不是一个问题,你将有更具体的了解你想要什么。 – chockleyc

+1

MDN文档很好:[parseInt](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt)。基本上它明确地将一个字符串变成一个数字值。 – Rup

回答

0

parseInt用于将(铸造)字符串值转换为整数。

首先If语句检查传递给Size变量的内容。

element.css('font-size'正在访问元素的font-size css属性。如果你向函数element.css传递一个参数,它将返回属性值,如果你传递两个参数,它将设置该值。

$('#smaller')是获取id为小,。点击元素的引用上点击

转到JQuery的教程,以便更好地理解附加功能。

1

你的代码创建接收1个或多个的jQuery对象(在这种情况下,任何匹配$('p'))的函数的change_size并且取决于传递给功能(或是Smallerbigger或)字符串它会改变的字体大小。通过单击$('#smaller')$('#bigger')来触发该功能。另外parseInt()所做的就是解析一个字符串参数并返回一个整数,你可以找到more info on MDN

最后,该功能可以优化到:

function change_size(element,size){ 
    var dif; 
    if(size =='smaller'){ 
     dif = -2; 
    } else if (size=='bigger'){ 
     dif = 2; 
    } 
    element.css('font-size','+='+dif); 
}