【发布时间】:2015-02-22 02:42:36
【问题描述】:
在我的 ruby on rails 应用程序中,我在 application.js 中使用以下 javascript 来增加和减少文本大小:
function resizeText(multiplier) {
var elem = document.getElementById("sizeable");
var currentSize = elem.style.fontSize || 1;
elem.style.fontSize = ( parseFloat(currentSize) + (multiplier * 0.2)) + "em";
}
这是由视图中的这些代码段调用的:
<img id="plustext" alt="INCREASE TEXT SIZE" src="images/makeTextBigger.jpg" onclick="resizeText(1)" /> |
<img id="minustext" alt="DECREASE TEXT SIZE" src="images/makeTextSmaller.jpg" onclick="resizeText(-1)" />
然后,代码会根据点击的内容使带有 id 的文本变大或变小:
<tr id='sizeable'>
<td><%= certificate.age_rating %></td>
<td>
<%= link_to 'Edit', edit_certificate_path(certificate) %>
<%= link_to 'Show', certificate_path(certificate) %>
<%= link_to 'Destroy', certificate_path(certificate), method: :delete, data: { confirm: 'Are you sure?' } %>
</td>
</tr>
但我想要做的是将字体大小可以增加和减少的次数限制为 2 次点击。
我已经尝试过了,并替换了我以前的 java 脚本,所以我的 application.js 现在看起来像这样:
$(function(){
$('#film_release_date').datepicker({
dateFormat: 'dd-mm-yy', altFormat: 'yy-mm-dd',
changeYear: true, maxDate: "5Y", minDate: "0D", changeMonth: true
});
});
var minSize = 1;
var maxSize = 5;
function resizeText(multiplier) {
var elem = document.getElementById("sizeable");
var newSize = parseFloat(elem.style.fontSize) + multiplier * 0.2;
if (newSize < minSize) newSize = minSize;
if (newSize > maxSize) newSize = maxSize;
elem.style.fontSize = newSize + "em";
}
但这似乎不起作用。
如何调整我的代码来做到这一点?我对java脚本了解不多。
【问题讨论】:
-
不要将非 Java 问题标记为 Java。
-
您确定要将其限制为 2 次点击吗?我猜你想限制最大字体大小。
标签: javascript jquery ruby-on-rails limit font-size