0

以下のコードはCoffeeScriptで書かれており、数時間遊んで最後にWooThemesのドキュメントを読んだ後、ボタンをクリックしてInstagramから残りの画像をロードした後、Flexsliderに画像を正しく追加させることができました.

ただし、画像をクリックすると、ページの読み込み時に読み込まれる残りの画像のように Fancybox が開かず、ここで助けが得られるかどうか疑問に思っていました。

Slider =
  flexi: ->
    $('.flexslider').flexslider
      animation: 'slide'
      animationLoop: true
      slideshow: false
      itemWidth: 160
      itemMargin: 5
      minItems: 1
      maxItems: 10
      start: (slider) ->
        $('#load-more').on 'click', (event) ->
          event.preventDefault()
          $.ajax
            type: 'get'
            url: $(this).find('a').attr('href')
            dataType: 'jsonp'
            success: (data) ->
              $.each data.data, (index, value) ->
                slider.addSlide '<li class="thumb" data-profile="' + value.user.profile_picture + '" data-lat="0" data-long="0" data-id="' + value.id + '" data-thumb="' + value.images.thumbnail.url + '" data-username="' + value.user.username + '" data-comments="' + value.comments.count + '" data-likes="' + value.likes.count + '" data-text="' + value.caption.text + '" data-link="' + value.link + '"><a href="' + value.images.low_resolution.url + '" class="fancybox fancybox.iframe"><img alt="' + value.images.thumbnail.url.split('/')[3].split('.jpg')[0] + '" src="' + value.images.thumbnail.url + '" /></a></li>'

Fancy =
  box: (lat, lng, pid) ->
    street = undefined
    latLng = new google.maps.LatLng lat, lng
    view = new google.maps.StreetViewService()
    $('.fancybox').fancybox
      width: 1155
      height: '95%'
      maxWidth: '95%'
      maxHeight: '95%'
      openEffect: 'none'
      autoSize: true
      autoResize:  false
      closeEffect: 'fade'
      scrolling: 'auto'
      type: 'iframe'
      helpers:
        media:{}

      beforeShow: ->
        ........
4

1 に答える 1

0

fancybox呼び出しをlive()またはon()でラップしてみるか、通常のbind()メソッドの代わりにlive()を使用するようにFancyBoxソースコードを変更してみてください。これは、あなたに意味を与えるためのテストされていないコードの一種です。

// の上

$(document.body).on('click', '.fancybox', function() {
    $(this).fancybox({ /* options */ }).trigger('click');
    return false;
}

// 住む

$('.fancybox').live('click', function() {
    $(this).fancybox({ /* options */ }).trigger('click');
    return false;
}
于 2013-01-16T18:19:25.500 に答える