0

我正在使用jQuery Rotate 插件来旋转项目。它有效,但我遇到了一些问题。

我有那个代码:

<input type="text" name="np_angle" id="np_angle" size="2" maxlength="4" value="<?=$userinfo->np_angle?>" onchange="$('#np_drag').rotate(this.value)" />

<div id="np_drag" style="color:<?=$userinfo->np_color?>; font-size:<?=$userinfo->np_size?>px;position:absolute;top:<?=$userinfo->np_y?>px;left:<?=$userinfo->np_x?>px" class="draggable np_drag">
<?=$userinfo->np_text?>
</div>

<script>$("#np_drag").rotate(<?=$userinfo->np_angle?>);</script>

问题在于输入 onchange。当我更改它时,#np_drag 不会旋转。但是当值是静态的(例如onchange="$('#np_drag').rotate(45)" 它有效。

为什么?我该如何解决我的问题?

4

2 回答 2

1

选择它id

...  id="my-id" onchange="$('#np_drag').rotate($('#my-id).val())" ...

此外,您可能希望onchange通过 dom-ready 函数绑定事件,而不是将其写入 HTML 源代码

于 2011-03-13T15:29:10.307 回答
0

在声明中$('#np_drag').rotate(this.value)this将指代np_drag并且相信你希望它指代的值np_angle。试试这个:

<input type="text" name="np_angle" id="np_angle" size="2" maxlength="4" value="<?=$userinfo->np_angle?>" />

<script>$('#np_angle').bind('change', function(e){$('#np_drag').rotate($('#np_angle').val())});" </script>
于 2011-03-13T15:30:44.447 回答