0

トグルに問題があります。私は似たような投稿を見つけましたが、本当に理解したものはありません。

ボタンをクリックするとテキストが「プロジェクト情報-」に変わり、もう一度クリックすると「プロジェクト情報+」に戻ります。

ここに問題があります(プロジェクト情報ボタン)-> http://marcuspedersen.com/oyafestivalen.html

コード:

jquery

$('#toggle').click(function() {
    $('#workinfo').slideToggle (300, 'linear'); 
});

ボタン

<input type="button" id="toggle" value="Project Info +"/>
4

2 に答える 2

4

私はお勧めします:

$('#toggle').click(function(e){
    // you may also want:
    // e.preventDefault();
    // depending what else you're doing, and how you're doing it
    $(this).val(function(i,v){ return v == 'Project Info +' ? 'Project Info -' : 'Project Info +'; });
});

JS フィドルのデモ

ちなみに、同じ要素/jQuery オブジェクトに対して複数のアクションを実行している場合は、そのオブジェクトをキャッシュし、その後、キャッシュされたオブジェクトを将来のアクションに使用することをお勧めします。

後者は jQuery 1.9 で廃止されたため、click()ここでは ではなくを使用したことに注意してください。toggle()

参考文献:

于 2013-01-23T12:55:56.230 に答える
1

これを試して

$('#toggle').click(function() {
    $('#workinfo').slideToggle (300, 'linear');
    $(this).val( $(this).val() == 'Project Info +' ? 'Project Info -' : 'Project Info +'); 
});
于 2013-01-23T13:00:44.767 に答える