リンクを使用して、wordpress ページからカスタム テンプレートの div にコンテンツを読み込もうとしています。
非表示の div が 1 つあり、コンテンツがロードされたときに slideDown で表示する必要があります。
onClickなどでこの1つのdivにロードしたいさまざまなページへのリンクがいくつかあります。
例:
次のリンクがあるとします:
- リンク 1 (ホーム)
- リンク 2 (概要)
- リンク 3 (連絡先)
訪問者がこれらのリンクをクリックすると、次のようなことが起こるはずです:
リンク 2 をクリックします --> div にロードします --> div は、slideDown などで表示されます。
リンク 3 をクリック --> 以前に読み込まれたコンテンツがフェードアウトし、リンク 2 のコンテンツがフェードインする
リンク 2 をクリック (もう一度) --> リンク 2 をクリックした場合と同様のアクション...
リンク 1 をクリック --> div をクリアし、slideUp などで非表示にします。
リンク 2 または 3 がアクティブで、ユーザーが同じリンクをもう一度クリックした場合 --> リンク 1 のクリックと同様のアクション
途中で役立つコードをいくつか見つけましたが、まだそこにはいません。
私がこれまでに持っているものは次のとおりです。
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js" type="text/javascript"></script>
<script type="text/javascript">
$(function() {
$('#navigationMenu a').click(function() { // When a menu item is selected
$('#maincontent').load($(this).attr('href')); // Load its linked page into the div
return false; // And prevent it following the link
});
});
function toggleSlider() {
if ($("#maincontent").is(":visible")) {
$("#sec-content").animate(
{
opacity: "0"
},
600,
function(){
$("#maincontent").slideUp();
}
);
}
else {
$("#maincontent").slideDown(600, function(){
$("#sec-content").animate(
{
opacity: "1"
},
600
);
});
}
}
</script>
SO の関連記事でこのコードを見つけました。これにより、slideUp/slide/down 機能を使用してコンテンツを div にロードできます。
ただし、リンク 3 (例では) をクリックすると div が閉じられるため、リンクをもう一度クリックしてもう一度読み込む必要があります。
そして、ホーム リンクであるリンク 1 は、私が望んでいたことをまだ行っていません。
これについてもう少し知識のある人がここで私を助けてくれることを願っています.
できることはありますか?
ありがとう!
---- 編集されたコード 02/08/13 ----
<script type="text/javascript">
$(function() {
$('#navigationMenu a').click(function() { // When a menu item is selected
$('#maincontent').load($(this).attr('href')); // Load its linked page into the div
return false; // And prevent it following the link
});
});
var lastData;
$(function () {
$("a").click(function(event) {
loadData($(this).attr("href"));
event.preventDefault();
});
});
function loadData(data) {
if(lastData == data) {
$("#maincontent").slideUp();
} else {
$("#maincontent").html(data);
$("#maincontent").slideDown();
}
lastData = data;
}
</script>
結果はhttp://tobba.org/noで見ることができます