0
最小限のコードで非常に簡単なjQueryトグルがあります。問題は、背景のCSSイメージとして右端に配置されたp要素に適用されるトグル記号に適用されるトグル動作のみを必要とすることです。今は要素全体に適用されます。タイトルはハイパーリンクなので、クリックすると新しいURLに行く前にトグルを開始します。シンプルなjQueryで見出しのアイコンを切り替える
HTMLコードのようなある:
<ul>
<li>
<p class="accordion-toggle dormantState"><a href="http://google.com">Q ANZAC 100</a></p>
<div class="accordion-content">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
</div>
</li>
<li>
<p class="accordion-toggle dormantState"><a href="http://google.com">Business studio</a></p>
<div class="accordion-content">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
</div>
</li>
<li>
<p class="accordion-toggle dormantState"><a href="http://google.com">The Edge</a></p>
<div class="accordion-content">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
</div>
</li>
</ul>
CSS:
.accordion-toggle {cursor: pointer; width: 80%; }
.activeState { background-image: url(../img/minus-icon.png)!important; background-position: right center; background-repeat: no-repeat; }
.dormantState { background-image: url(../img/plus-icon.png); background-position: right center; background-repeat: no-repeat; }
.accordion-content {display: none; border: 1px solid: #ccc; width: 70%; }
JS:私はスパンを作成しようとしました
$(document).ready(function($) {
$('.otherSites').find('.accordion-toggle').click(function(){
$('.accordion-toggle').removeClass('activeState');
if($(this).parent().find('.accordion-content').css('display')=='none'){
$(this).addClass('activeState');
}
//Expand or collapse this panel
$(this).next().slideToggle('fast');
//Hide the other panels
$(".accordion-content").not($(this).next()).slideUp('fast');
});
});
タグを閉じた後にアコーディオントグルクラスを適用するだけでなく、JSコードをリファクタリングすることもできます(親の構文を使用します)。しかし、私はそれを複雑すぎて自分自身のために穴を開けていると思います。 JSコードを微調整するだけで簡単に解決できますか?
アンカーをクリックしてその内容を切り替えると、新しい「URL」に移動しますか? –
はい、ラオ氏。そのとおり。トグル動作のクリック可能な領域をトグル+/-アイコンのみに分離したい。 –
新しい「URL」が開かれている場合、トグルするのは何ですか?ページは正しく変更されますか? –