我正在使用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)"
它有效。
为什么呢?我怎样才能解决我的问题?
答案 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>