ここにJSBinがあります:http://jsbin.com/ofusec/2/
DIV (カスタマイズまたはパーソナライズ) を開くと、機能は正常に動作し、"+" を切り捨てて "-" 記号に置き換えますが、ユーザーが DIV を閉じると、文字列が複製されて配置されます。
クロージングをオープニングと同じように動作させたい (切り詰めて最後の文字を置き換える)
コードは次のとおりです。
HTML:
<div id="customize" class="leftDiv">
<span class="smallTitle" onclick="toggle_expand('customizePort');">Customize Portfolio +</span><br />
<div class="leftDivContent" id="customizePort">
LAYOUT:<BR />
NAVIGATION:<BR />
BACKGROUND COLOR:<BR />
FONT COLOR:<BR />
</div>
</div>
<div id="personalize" class="leftDiv">
<span class="smallTitle" onclick="toggle_expand('personalizePort');">Personalize Portfolio +</span><br />
<div class="leftDivContent" id="personalizePort">
HEADER IMAGE:<BR />
ARTIST STATEMENT:<br />
CONTACT INFORMATION:<br />
</div>
</div>
ジャバスクリプト:
function toggle_expand(id){
var e = document.getElementById(id);
var text = $(e).siblings().text();
if( $(e).css('display') === 'none' ){
$(e).slideToggle('fast', function(){
var newText = text.replace("+","-");
$(e).siblings().text( newText );
});
} else {
$(e).slideToggle('fast', function(){
var newText = text.replace("-","+");
$(e).siblings().text( newText );
});
}
}