自分の音楽の CD カバーのポートフォリオを作成しようとしています。
現在、私のポートフォリオ ページは、最初のページの読み込み時にアルバム内のすべてのコンテンツを読み込みます。コンテンツは非表示の div に含まれています。
アルバムをクリックするとコンテンツが下にスクロールし、 を使用して再度クリックすると閉じます.slideToggle()
。サイトはこちら
私の懸念は、ページの読み込みを高速化し、要求されたときにコンテンツのみを読み込みたいということです。
どんな助けでも大歓迎です。
テストシナリオを作成しました:
<!doctype html>
<html>
<title>jQuery external load test</title>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
<style type="text/css">
#container {
width: 80%;
margin: 0 auto;
margin-top:;
}
.albumThumb {
float: left;
position: relative;
margin: 5px;
height: 150px;
width: 150px;
background-color: purple;
}
.albumThumb:hover {
opacity: 0.8;
filter:alpha(opacity=80);
}
.albumContent {
display: none;
width: 100%;
float: left;
position: relative;
padding: 20px;
color: #333;
background-color: #eee;
border: 1px solid #ddd;
}
</style>
</head>
<body>
<div id="container">
<!-- Album #1 -->
<div class="albumThumb"></div>
<div class="albumContent"></div>
<script type="text/javascript">
$(document).ready(function() {
$('.albumThumb').click(function() {
// Name content variable
var album = 'album-page';
var url = 'http://mysite.com/' + album + ' #project-info';
var content = $(this).nextAll('.albumContent:first');
// Load/Unload div content
if (content.is(':visible')) {
content.slideUp(500);
content.html('');
} else {
content.text('Loading...', function() {
content.load(url).content.slideDown(500);
});
}
});
});
</script>
<!-- Album #2 -->
<div class="albumThumb"></div>
<div class="albumContent"></div>
<script type="text/javascript">
$(document).ready(function() {
$('.albumThumb').click(function() {
// Name content variable
var album = 'album-page';
var url = 'http://mysite.com/' + album + ' #project-info';
var content = $(this).nextAll('.albumContent:first');
// Load/Unload div content
if (content.is(':visible')) {
content.slideUp(500);
content.html('');
} else {
content.text('Loading...', function() {
content.load(url).content.slideDown(500);
});
}
});
});
</script>
</div>
<!-- End Container -->
</body>
</html>