Плагин 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

Другие вопросы по тегам