【发布时间】:2011-04-19 21:30:28
【问题描述】:
你可能已经知道我是 jQuery 的新手,所以不属于这个主题的代码改进仍然是非常允许的。
这是我的 HTML 代码:
<div style="display: inline-block; width: 120px;">
<div>
Bananas:
<br />
<input id="bananas_amount" />
<input id="bananas_amount_percent" />
</div>
<br />
<div id="bananas" style="height:200px;"></div>
</div>
这是我可怕的 js 代码:
$( "#bananas" ).slider({
orientation: "vertical",
range: "min",
min: 0,
max: 100,
value: 20,
step: 5,
slide: function( event, ui ) {
$( "#bananas_amount_percent" ).val( ui.value + " %" );
// the code displays a percentage by standart, but I need the real value, too:
var bananas_amount_percent = $( "#bananas_amount_percent" ).val();
var bananas_amount_percent = bananas_amount_percent.replace(" %", "");
var bananas_amount = Math.round((weight / 100) * bananas_amount_percent);
$( "#bananas_amount" ).val( bananas_amount + " g" );
}
});
$( "#bananas_amount_percent" ).val( $( "#bananas" ).slider( "value" ) + " %" );
// again the real value (else the value would not be updatet on reload-reset)
var bananas_amount_percent = $( "#bananas_amount_percent" ).val();
var bananas_amount_percent = bananas_amount_percent.replace(" %", "");
var bananas_amount = Math.round((weight / 100) * bananas_amount_percent);
$( "#bananas_amount" ).val( bananas_amount + " g" );
(体重为200)
但是,它可以工作,除了一个“小”细节:不是鼠标滚轮! 我已经发现我需要这个扩展:https://github.com/brandonaaron/jquery-mousewheel/downloads
但我真的完全不知道如何在我的 Slider 中实现它(顺便说一句,我的网站上有 5 个)。
请帮助, 谢谢!
【问题讨论】:
-
只是一个想法,使用更短的变量和类名使您的代码更具可读性。 ;)
-
变量名本身非常重要,因此它们必须尽可能具有表现力。但是你仍然可以在这里发布它们是正确的。我可以编辑它们谢谢!
-
当你说“这是我可怕的 js 代码:”时,我认为你把它钉在了一起。
-
另一个好的做法是将行宽限制为 80 或 100 个字符。使用太长的变量名会降低可读性。
标签: javascript jquery jquery-ui mousewheel jquery-ui-slider