0

すべてがロードされているようです (jquery、jcrop、および私の avatar.js ファイル)。何が起こっているのか理解できないようです。私のスクリプトは次の順序でロードされています。

<script src="/assets/jquery.js?body=1" type="text/javascript"></script>
<script src="/assets/jquery.Jcrop.js?body=1" type="text/javascript"></script>
<script src="/assets/gmaps4rails/gmaps4rails.base.js?body=1" type="text/javascript"></script>
<script src="/assets/gmaps4rails/gmaps4rails.googlemaps.js?body=1" type="text/javascript"></script>
<script src="/assets/bootstrap.js?body=1" type="text/javascript"></script>
<script src="/assets/jquery-fileupload/vendor/jquery.ui.widget.js?body=1" type="text/javascript">         </script>
<script src="/assets/jquery-fileupload/jquery.iframe-transport.js?body=1" type="text/javascript">    </script>
<script src="/assets/jquery-fileupload/jquery.fileupload.js?body=1" type="text/javascript"></script>
<script src="/assets/jquery-fileupload/basic.js?body=1" type="text/javascript"></script>
<script src="/assets/jquery-fileupload/vendor/tmpl.js?body=1" type="text/javascript"></script>
<script src="/assets/avatars.js?body=1" type="text/javascript"></script>

avatars.js.coffee には以下が含まれます。

jQuery ->
  new AvatarCropper()

class AvatarCropper
  constructor: ->
    $('#cropbox').Jcrop
      aspectRatio: 1
      setSelect: [0, 0, 600, 600]
      onSelect: @update
      onChange: @update

  update: (coords) =>
      $('#avatar_crop_x').val(coords.x)
      $('#avatar_crop_y').val(coords.y)
      $('#avatar_crop_w').val(coords.w)
      $('#avatar_crop_h').val(coords.h)
      @updatePreview(coords)

    updatePreview: (coords) =>
      $('#preview').css
        width: Math.round(100/coords.w * $('#cropbox').width()) + 'px'
        height: Math.round(100/coords.h * $('#cropbox').height()) + 'px'  
        marginLeft: '-' + Math.round(100/coords.w * coords.x) + 'px'
        marginTop: '-' + Math.round(100/coords.h * coords.y) + 'px'

JavaScriptコンソールで私は得ています:

Uncaught TypeError: Object [object Object] has no method 'Jcrop' 

どんな助けでも大歓迎です。

4

2 に答える 2

2

問題は jQuery.noConflict(); でした。別のスクリプトを呼び出す...

于 2013-01-03T19:15:16.017 に答える
1

私は同じ問題に直面していました。jcrop.js の前に jquery ファイルを配置すると、問題が解決します。

于 2013-02-05T13:47:15.747 に答える