jQuery Rotate插件

时间:2011-03-13 15:00:52

标签: javascript jquery rotation jquery-rotate

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

我有那段代码:

<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)" 它有效。

为什么呢?我怎样才能解决我的问题?

2 个答案:

答案 0 :(得分:1)

使用id

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

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

答案 1 :(得分: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>