アンカー要素がクリックされたときに適切な DIV ブロックを表示するカスタム JQuery プラグインを作成しようとしています。今のところ、プラグインを「Content Slider」と呼んでいます。
私はなんとかプラグインを作成し、アンカー要素をクリックすると適切な対応する DIV が表示されるように動作させました。ただし、CSS クラスをアンカー要素に適用して、クリック後に強調表示されるようにしたいです。
HTML および JQuery プラグイン コードについては、以下を参照してください。
HTML:
<div id="left">
<a class="contentSliderTitle">Anchor 1</a>
<a class="contentSliderTitle">Anchor 2</a>
<a class="contentSliderTitle">Anchor 3</a>
</div>
<div id="right">
<div class="contentSliderContent">DIV 1</div>
<div class="contentSliderContent">DIV 2</div>
<div class="contentSliderContent">DIV 3</div>
</div>
JQuery プラグイン:
(function(){
$.fn.contentSlider = function () {
addClickHandlersToTitleElements();
showContentDiv(0);
}
function addClickHandlersToTitleElements() {
$("a[class=contentSliderTitle]").click(function () {
showContentDiv($("a[class=contentSliderTitle]").index(this));
return false;
});
}
function showContentDiv(titleIndex) {
$("div[class=contentSliderContent]").each(function () {
$("div[class=contentSliderContent]").hide();
return false;
});
$("div[class=contentSliderContent]").eq(titleIndex).show();
}
})(jQuery);
「showContentDiv」プライベート関数にコードを追加して、「contentSliderTitle」に等しいクラスを持つすべてのアンカータグから指定されたクラス (contentSliderTitleSelected という名前) を削除し、「contentSliderTitleSelected」クラスをクリックされたアンカーに追加しようとしましたただし、これにより、「showContentDiv」関数の機能が完全に停止します。つまり、アンカーをクリックしても、表示される DIV は変化しません。
JQueryプラグインを作成しようとしたのは初めてで、完全に困惑しているため、これについての助けに非常に感謝しています!!
どうもありがとう