'a'リンクをクリックすると、jqueryとlocalStorageを使って 'アクティブ'クラスを追加するのに苦労しています。localstorageでアクティブクラスを追加
これは私が使用しているレイアウトです:
<div class="ordering-box" style="display: inline-block;">
<?php $order_method = JRequest::getVar("orderto", ""); ?>
<?php $order_method = $moduleParams->ordering_default_method; ?>
<span class="ordering-box-text">chronologisch</span>
<a class="order-by" href="#" onclick="document.K2Filter<?php echo $moduleId; ?>.orderto.value='asc'; submit_form_<?php echo $moduleId; ?>(); return false;">
<img class="ph" src="<?php echo JURI::base()."templates/template-src"?>/images/icons/chevron-down.png">
</a>
<a class="order-by" href="#" onclick="document.K2Filter<?php echo $moduleId; ?>.orderto.value='desc'; submit_form_<?php echo $moduleId; ?>(); return false;">
<img class="active-order" src="<?php echo JURI::base()."templates/template-src"?>/images/icons/chevron-up.png">
</a>
</div>
そして、これは、JSです:
jQuery(document).ready(function($) {
$(function() {
$('.order-by').click(function() {
$('.order-by > img').siblings().removeClass('active-order');
$('.order-by > img').addClass('active-order');
var activeIndex = $(this).index();
localStorage.setItem('mySelectValue', activeIndex);
});
});
jQuery(document).ready(function($) {
var activeIndex = localStorage.getItem('mySelectValue');
if (isNan(activeIndex)) {
console.log('nothing stored');
} else {
$('.order-by > img').addClass('active-order');
}
});
正しい「」リンクをクリックしたときに、この背後にある考え方があるが、基礎となるimgはアクティブなクラス(ちょうどbgカラー)を取得します。ブラウザがクリックで更新されるので、私はlocalStorageを使用して次回のロード時にそれを取得します...ここで何が間違っていますか?
'によってインデックスをデクリメントする必要があり
span.ordering-box-text
はインデックス0になることを認識する必要がありisNan'が間違っている場合は、isNaNを使用してください。コンソールのエラーを確認してください。また、 'isNaN'を使うことはここでは間違っています:値が格納されていないと返されるものであるため、' null'をチェックする必要があります。 また、 '$( '。order-by> img')'を '$( '。order-by> img')。eq(activeIndex)'に置き換えてください。 –