jqueryを使用してサイドバーを各ページに読み込み、サイドバーにストーリー名、日付、コンテンツタイプ(ストーリー、私はjqueryの.load()関数を使ってサイドバー情報を現在のページの順序付けられていないリストにロードします。サイドバー情報がロードされたら、別のスクリプトを使用しますサイドバーの現在のストーリーのhrefを#にします。問題は、hrefを#に設定するコードは、関数の直前に警告を置くと機能するということです。物語上のjquery change href属性は、alert()関数を追加した場合にのみ機能します。
ユーザーがクリック(ストーリーnothing.htmlを呼び出すことができます)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="../../../../css/reset.css">
<link rel="stylesheet" href="../../../../css/index.css">
<script type="text/javascript" src="../../../../js/jquery.js"></script>
<script type="text/javascript" src="../../../../js/storyLoadSidebar.js"></script>
<script type="text/javascript" src="../../../../js/disableLink.js"></script>
<title> Nothing </title>
</head>
<body>
<div id="container">
<div id="main">
<article>
<header>
<h3> Nothing Here </h3>
<time pubdate="pubdate"> July 19, 2011 </time>
</header>
<p> I said there was nothing here, yet. </p>
</article>
</div>
<div id="listWrapper">
<div id="storyList">
<ul></ul>
</div>
</div>
</div>
</body>
</html>
storyLoadSidebar.js
nothing.html:ここ
が流れています
$(document).ready(function() {
$("ul").load("../../../../sidebar.html ul");
});
sidebar.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<ul>
<li>
<div class="catDate">
<p> Nothing </p>
<time pubdate="pubdate"> 2011-07-19 </time>
</div>
<div class="storyTitle">
<a id="nothing" href="stories/2011/07/19/nothing.html"> Nothing Here, Yet. </a>
</div>
</li>
</ul>
</body>
</html>
最後にスクリプトがリンクを無効にする:
disableLink.js
$(document).ready(function() {
var fullPath = window.location.pathname;
var pageName = fullPath.substring(fullPath.lastIndexOf('/') + 1).replace('.html', '');
$('#' + pageName).attr('href', '#');
});
私の唯一の作品がにアラートを追加し、全体の事をhref変更の直前にdisableLink.jsを作成してください。
$(document).ready(function() {
var fullPath = window.location.pathname;
var pageName = fullPath.substring(fullPath.lastIndexOf('/') + 1).replace('.html', '');
alert('now it will work');
$('#' + pageName).attr('href', '#');
});
ここで問題は何ですか、なぜアラートを追加した場合にのみ機能しますか?
は、これらの機能の両方を持っている良い方法があった場合、私は思っていた、どうもありがとうございまし実行しますので、あなたはそれをコールバック機能を割り当てることができます1つのファイルで任意のパラメータを渡す必要はありませんが、これは完全に機能し、コールバック関数については素晴らしいことを学びました。再度、感謝します! – valon
はい、この方法では、すべて同じファイルにあります – Ibu