ヘッダーのライブオンクリックイベントがあり、そのコンテンツを開いたり閉じたりすると、矢印が上下に反転します。
最も奇妙なことは!
、変数が続くことで起こっています-それはtrue-> falseからそれを反転させることになっています、そしてその逆も同様です。基本的にはまったく機能しておらず、falseに反転してそこにとどまります...フィドルをチェックして、私が何を意味するかを確認してください。
簡潔にするために、多くのコードを削除しました。
$(document).on('click', '.regimenHeader', function () {
var _state = $(this).attr('data-state');
if (_state === 'true') {
// do stuff
}
else {
// do stuff
}
// This is where the issue is happening, it isn't flipping the Boolean value
// !"true" = false, !true = false, it works with strings or booleans
$(this).attr('data-state', !_state);
});
次のことを行うと、完全に正常に機能するようになります。
if (_state === 'true') {
// Manually flip the data-state boolean
$(this).attr('data-state', false);
}
なぜこれが期待どおりに機能しないのか、私が見逃しているものはありますか?なぜそれがこれをしているのか疑問に思っています!