長すぎるコンテンツを非表示にする最初の jQuery プラグインを作成しました。
フィドルはhttp://jsfiddle.net/denislexic/bT4dH/6/で表示できます。
チェックアウトして「...」をクリックすると、最初のトグルは 3 回、2 回目は 2 回トグルし、3 回目は正しい (1 回だけ) ことがわかります。
なぜそれをしているのか、私にはわかりません。e.preventDefault()
、、などを試しましたがstopPropagation()
、何もうまくいかないようです。
問題と思われるコードは次のとおりです。
$("." + opts.clickZoneClass).on("click", function (e) {
_debugger(1);
var element = $(this).parent('div').children('div.status');
// I know you can use is(':visible'), but it doesn't work in Internet Explorer 8 somehow...
if (element.hasClass('open')) {
_debugger(2);
element.animate({
height:element.attr('data-toggle')
}, 'fast');
//$(this).html();
element.removeClass('open');
} else {
_debugger(3);
element.animate({
height:element.attr('data-height')
}, 'fast');
element.addClass('open');
}
return false;
});