我正在尝试使用JavaScript对从属性获取的值执行数学运算。该属性是通过PHP循环创建的。我将给出一个包含属性的html标签的例子,但请记住,这些标签中有许多包含唯一属性值。对属性值执行数学运算
的HTML:
<a href="secondary_imgs.php..." mwidth="593"></a>
中的JavaScript(jQuery的):
$("a[href^='secondary_imgs.php']").click(function(){
var pageWidth = $(window).width();
var maxshadowWidth = (Math.floor(pageWidth * 0.91808874)) - 2;
var mWidth = $(this).attr("mwidth");
var maxSecondaryWidth = mWidth + 60;
alert (maxSecondaryWidth);
if(maxSecondaryWidth <= maxshadowWidth) {
var shadowWidth = maxSecondaryWidth;
} else {
var shadowWidth = maxshadowWidth;
}
var shadowboxrel = 'shadowbox;width=' + shadowWidth;
$(this).attr('rel', shadowboxrel);
操作似乎并不奏效,我有一种感觉它做与我在javascript中使用数学运算的经验不足。在这种情况下,我认为我的方法使用了属性值中的的数学运算有问题。
例如,上面的width
属性被定义为593
。我将maxSecondaryWidth
定义为mWidth + 60
。我解雇了一个警报,看看我得到了什么价值。它应该显示为653
,但“提醒”的值是59360
。显然我不明白如何添加,因为+
将两个值连接起来,而不是将它们相加。它是否需要将属性值从一个字符串转换为一个整数?
谢谢。我觉得有点像个白痴。在提交问题之后我马上就明白了。尽管你的答案更具信息量。再次感谢。 – stefmikhail