2010-08-18 6 views
1

나는 이미지, 유튜브 비디오 링크 및 기타 비디오를 표시하는 멋진 상자를 사용하고 있습니다. 사용자는 장식 상자에서 다음 화면이나 이전 화면으로 이동할 수 있습니다. 내 문제는 멋진 상자가 표시된 내용에 따라 크기가 조정되지 않는다는 것입니다. 내 코드는 다음과 같습니다 : 나는 "onComplete를"의 기능을하지만, 지금까지 어떤 성공을 호출하여이 문제를 해결하는 시도Fancybox resize

$.fancybox(href,{ 
       'autoScale': true, 
       'autoDimensions': true, 
       'padding': 30, 
       'transitionIn': 'none', 
       'transitionOut': 'none', 
       'type': 'iframe', //'iframe', //'image', 
       'changeFade': 300, 
       'cyclic': false,     

      }); 

. 이것에 대한 정보는 거의 입력하지 마십시오.

감사

+0

웁스 - 이것은 http://stackoverflow.com/questions/994876/jquery-fancybox-resize의 속담 일 수도 있습니다. –

+0

링크 된 질문의 답이 문제를 해결 했습니까? –

답변

0

내가 어떤 방법으로 웹 개발자가 아니에요,하지만 documentation는 말한다 :

$.fancybox.resize  Auto-resizes FancyBox height to match height of content

당신이 원하는 무엇인가요? 작동해야 false로

+0

'$ .fancybox.resize'가 도움이되지 않습니다. 단지 높이를 고정 된 높이로 줄이는 것입니다. 내용을 기반으로하지 않으며 어떤 너비도 수정하지 않습니다. – San

+1

나는 같은 문제를 겪고있다 - 당신은 이것에 대한 해결책을 찾았나요? – Filth

0

당신은 예전 내에서 새로운 fancybox를 호출해야합니다. 첫 번째 팬시에서 새로운 팬시 박스를 열면 자체 크기가 조정됩니다. 시도 :

<script type="text/javascript"> 
$(document).ready(function() { 
    var content = ' 
    <div id="nextbox">Box 1</div> 

    <script type="text/javascript"> 
    $("#nextbox").click(function() { 
    $.fancybox('Box2',{ 
     'autoDimensions': false, 
     'height' : 400, 
     'width' :400 
    }); 
    }); 
    </script> 
    '; 

    $.fancybox(content,{ 
    'autoDimensions': false, 
    'height' : 200, 
    'width' : 200 
    }); 

</script> 

이렇게하면 "상자 1"이라는 fancybox가 열립니다. "Box 1"을 클릭하면 200px에서 200px로 400px에서 400px로 크기가 조정되고 텍스트는 "Box 2"로 변경됩니다. 그리고 원하는만큼 많은 상자에서이 작업을 계속할 수 있습니다.

나는 질문이 오래되었다는 것을 알지만, 일단 시작되면 fancybox의 크기를 조정하는 방법을 찾기 위해 오랜 시간을 노력하면서 누군가가 이것을 사용할 수 있기를 바랍니다. 내 경우

0

설정이 true

여기

fitToView

세트가 호출 된 Fancybox 2를 사용하는 동안 내가 fancybox를 실행하는 데 사용하는 무엇을 준비

(function($){ 
    $(document).on('click','.fancybox',function(e){ 
     //don't follow link 
     e.preventDefault(); 

     //update fancybox image registry for gallery and open it 
     var fbox = $('.fancybox'); 
     //this always opens the first image first 
     $.fancybox(fbox,{ 
      index: fbox.index(this), 
      padding: 5, 
      live: false, 
      helpers : { 
       overlay : { 
        css : { 
         'background-color' : 'rgba(17, 17, 17, 0.3)', 
        }, 
        closeClick: true, 
        showEarly : true, 
        locked : false //if true, causes background to jump 
       }, 
       thumbs : { 
        width : 140, 
        height : 100, 
        source : function(item) { 
         var href = $(item.element).data('thumb'); 
         if(typeof href === 'undefined'){ 
          if (item.element) { 
           href = $(item.element).find('img').attr('src'); 
          } 
          if (!href && item.type === 'image' && item.href) { 
           href = item.href; 
          } 
         } 
         return href; 
        } 
       } 
      }, 
      scrolling: 'visible', 
      fitToView: true, 
      iframe:{ 
       scrolling : 'auto', 
       preload : false 
      } 
     }); 
    }); 
})(jQuery); 
에 넣을 필요가없는 것입니다