アップデート:
2 つの問題。
と を定義viewportwidth
したことはありませんviewportheight
。そうしなきゃ。
関数は必要ありません。2 つの変数を定義し、関数を含まないコードを<head>
ページのセクションに配置するだけです。次に、もちろん、 を削除して<body onload="resize()">
を配置し<body>
ます。
終わり。最終的なコードは次のようになります。
<!DOCTYPE html>
<html lang="en" class="no-js">
<head>
<meta charset="UTF-8" />
<title>Dynamic Grid</title>
<meta name="description" content="" />
<meta name="keywords" value="" />
<link rel="stylesheet" href="http://www.tranceil.co.il/comp/css/layout.css" type="text/css" />
<link rel="stylesheet" href="http://www.tranceil.co.il/comp/css/dynamic.grid.css" type="text/css" />
<style>
.shell > div {
margin: 0px;
}
</style>
</head>
<body>
<div class="shell" style="width: 100%; margin: 0 auto;">
<div id="grid1"></div>
</div>
<script src="http://www.tranceil.co.il/comp/js/jquery.min.js"></script>
<script src="http://www.tranceil.co.il/comp/js/dynamic.grid.gallery.js"></script>
<script>
var viewportwidth;
var viewportheight;
// the more standards compliant browsers (mozilla/netscape/opera/IE7) use window.innerWidth and window.innerHeight
if (typeof window.innerWidth != 'undefined') {
viewportwidth = window.innerWidth,
viewportheight = window.innerHeight
}
// IE6 in standards compliant mode (i.e. with a valid doctype as the first line in the document)
else if (typeof document.documentElement != 'undefined' && typeof document.documentElement.clientWidth != 'undefined' && document.documentElement.clientWidth != 0) {
viewportwidth = document.documentElement.clientWidth,
viewportheight = document.documentElement.clientHeight
}
// older versions of IE
else {
viewportwidth = document.getElementsByTagName('body')[0].clientWidth,
viewportheight = document.getElementsByTagName('body')[0].clientHeight
}
(function($, undefined) {
$(document).ready(function() {
$('#grid1').dynamicGallery({
src : 'http://www.tranceil.co.il/comp/gallery.xml',
height : viewportheight,
width : viewportwidth,
cols : 5,
min_rows : 1,
max_rows : 2,
random_heights : false,
padding: 1,
interval : 2000,
speed : 1000,
easing : 'easeOutQuad',
scale_images : true,
center_images : true,
click_action : 'lightbox',
show_title_in_lightbox : true
});
$('#grid2').dynamicGallery({
src : 'http://www.tranceil.co.il/comp/gallery.xml',
height : 400,
width : 1350,
cols : 5,
min_rows : 1,
max_rows : 4,
random_heights : false,
padding: 1,
interval : 2000,
speed : 1000,
easing : 'easeOutQuad',
scale_images : true,
center_images : true,
click_action : 'lightbox',
show_title_in_lightbox : true
});
});
})(jQuery);
</script>
元の投稿:
あなたの状況に合わせてこのコードをテストしていませんが、うまくいくはずです。
function resize() {
// the more standards compliant browsers (mozilla/netscape/opera/IE7) use window.innerWidth and window.innerHeight
if (typeof window.innerWidth != 'undefined') {
viewportwidth = window.innerWidth,
viewportheight = window.innerHeight
}
// IE6 in standards compliant mode (i.e. with a valid doctype as the first line in the document)
else if (typeof document.documentElement != 'undefined' && typeof document.documentElement.clientWidth != 'undefined' && document.documentElement.clientWidth != 0) {
viewportwidth = document.documentElement.clientWidth,
viewportheight = document.documentElement.clientHeight
}
// older versions of IE
else {
viewportwidth = document.getElementsByTagName('body')[0].clientWidth,
viewportheight = document.getElementsByTagName('body')[0].clientHeight
}
}
この関数は、ブラウザの高さと幅を取得します。<body>
タグを次のように置き換えます
<body onload="resize()">
次に、ギャラリーの場合:
$('#grid1').dynamicGallery({
src : 'gallery.xml',
height : viewportheight,
width : viewportwidth,
cols : 5,
min_rows : 1,
max_rows : 2,
random_heights : false,
padding: 1,
interval : 2000,
speed : 1000,
easing : 'easeOutQuad',
scale_images : true,
center_images : true,
click_action : 'lightbox',
show_title_in_lightbox : true
});
これにより、ギャラリーの高さと幅がビューポートと同じになるように設定され、画面が 100% いっぱいになります。
それをテストして、問題がある場合はお知らせください。