2013-08-04 2 views
0

다시 홈페이지를 다시 작성하고 Isotope를 사용하여 더 밝게 만들 생각입니다. 저는 과거 Isotope를 실험 해본 결과, 원하는대로 작동하지 못하게되어 실망했습니다. 이번엔 좀 더 단순하게하려고 노력 중입니다. 최신 호를 설명하기 위해 super simple example을 만들었습니다. 브라우저 창 크기를 조정하지 않으면 이미지가 Safari 및 일부 다른 브라우저에 표시되지 않습니다.Safari의 간단한 동위 원소 예제와 관련된 문제

다음은 내 코드 샘플이며, div는 PHP로 화면에 표시됩니다. 나는 UL과 LI로 바뀔지도 모르지만 HTML은 브라우저 창 크기가 조정되기 전까지는 표시되지 않기 때문에 ... 내가해야만하는 JavaScript 강제 재 렌더링/재로드가 있습니까? MacBook Pro의 Safari에서 데모가 작동합니다.

다른 브라우저를 사용해 보았는데 Internet Explorer 8에서 작동하지만 Firefox는 내 작업 컴퓨터에서 Safari와 같은 반응을 보입니다.

<div id="contents"> 
<h1>Making the Internet better since 1995</h1> 
<!-- Masonry test code --> 
<div id="container"> 
    <div class="item"><a href="http://www.flickr.com/photos/mminghella71/944/in/[email protected]" title="Bolt Action Heer Infantry Squad"><img src="http://farm6.staticflickr.com/5333/944_0e9f4db858_s.jpg" alt="Bolt Action Heer Infantry Squad" border="0" /></a></div> 
</div> 
<script> 
$(function(){ 

    var $container = $('#container'); 

    $container.isotope({ 
    itemSelector: '.item', 
    masonry: { 
     columnWidth: 75 
    } 
    }); 

}); 
</script> 
+0

필자는이 문제에 많은 시간을 할애하지 않았지만 작업 상자에서 확인하기로 결정했습니다. IE8에서 작동하지만 여전히 기본 브라우저이지만 Windows에서는 Firefox에서 작동하지 않습니다. 동위 원소를 선택적으로 파괴하는 것은 무엇입니까? – Muskie

+0

Safari에서 오류가 발생하지 않아 최소한의 예제 만 만들었습니다. 단지 이미지가 표시되지 않습니다. H1 태그 만 있으면 작동합니다. 내 다른 CSS의 아마도 뭔가 ... http://www.muschamp.ca/blankExample.php, 실수는 위의 코드에 없습니다. – Muskie

+0

크기를 조정할 때 이미지가 Safari에 표시되지만 이미지를 다시로드하면 표시되지 않습니다. 실망 스럽네요. – Muskie

답변

0

이동했습니다. 나는 지금처럼 www.muschamp.ca을 좋아한다. Isotope이나 JavaScript/CSS를 변경하지는 않았지만 많이 시도했습니다. 마침내이 문제를 해결 한 큰 변화는 PHP를 사용하여 이미지의 높이와 너비를 결정하는 것이 었습니다. Isotope 문서는 이것이 없으면 작동 할 것이라고 말하지만 제 경험에 의하면 자바 스크립트에 정확한 이미지 크기를 주면 훨씬 더 잘 작동합니다.

getimagesize() http://php.net/manual/en/function.getimagesize.php을 사용하면 성능이 얼마나 떨어지는 지 알 수 없지만 매번 이미지 태그를 작성하기 전에 호출을 추가하면 매번 완벽하게 렌더링됩니다. 약간의 이미지/RSS 피드를 절충안으로 가져옵니다.

내 시행 착오와 간단한 데모가 도움이되기를 바랍니다.

1

Windows.load에 함수를 넣으려고 했습니까?

$(window).on('load', function() { 
var $container = $('#container'); 

    $container.isotope({ 
    itemSelector: '.item', 
    masonry: { 
     columnWidth: 75 
    } 
    }); 
}); 
+0

나는 좀더 나아갔습니다. 모든 브라우저에서 완벽하게 작동하지 않을 것이라는 것을 이해했습니다. 그러나 나는 이것을 시도 할 수있다. – Muskie

+0

변경 사항을 적용하여 Safari에서 상황을 악화 시켰습니다. 이제 올바르게 배치되지 않을뿐만 아니라, 크기를 조정할 때 제대로 레이아웃되지 않습니다. – Muskie

+0

속도가 문제가되는 것 같아요. 서버 이외의 다른 서버에서 이미지를 가져 오는 것 같습니다. .귀하의 자바 스크립트 변경 확실히 도움이되지 않았다, 동위 원소는 꽤 똑똑하지만 현대적인 브라우저와 분명히 빠른 인터넷 연결이 필요합니다 당신은 이미지를 잔뜩 뽑아 레이아웃거야. – Muskie