Плагин jQuery Rotate
Я использую плагин 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>
Проблема на входе на обмен. Когда я изменяю это, #np_drag не вращается. Но когда значение является статическим (например, onchange="$('#np_drag').rotate(45)"
Оно работает.
Зачем? Как я могу решить мою проблему?
2 ответа
Решение
В заявлении $('#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>
Выберите его с помощью id
... id="my-id" onchange="$('#np_drag').rotate($('#my-id).val())" ...
Кроме того, вы можете связать onchange
событие через функцию dom-ready вместо записи в исходный код HTML