1

私は次のjqueryコードを持っています:

$(function() {
    $('.sliding-buttons').click(slidingContent);
});

function slidingContent(e) {
    var boxID = $(this).attr('id'),
        boxName = $(this).attr('name');

    $('.sliding-holder#s-h-' + boxName).css({'display' : 'block'}).addClass('open');
    $('.sliding-content#s-c-' + boxName + '-' + boxID).css({'display' : 'block'}).addClass('open');
    $('.sliding-box#s-b-' + boxName).stop(true, true).animate({
        top:'0'
        },'slow');

    e.stopPropagation();
    e.preventDefault();
}

当然、IE7を除くすべてのブラウザで動作します。IE7では、伝播を停止できません。

最新バージョンのjquery(1.6.2)を使用していますが、1.5.2も試しました。

私はここで本当に途方に暮れています。末尾のコンマはなく(私が見ることができます...)、問題を見つけることができません。私は本当にいくつかの援助に感謝します!

MTIA。

4

2 に答える 2

1

私はただ推測しています...あなたはこのように試すことができますか...

$(function() {
    $('.sliding-buttons').click(function(e){
         var boxID = $(this).attr('id'),
        boxName = $(this).attr('name');

    $('.sliding-holder#s-h-' + boxName).css({'display' : 'block'}).addClass('open');
    $('.sliding-content#s-c-' + boxName + '-' + boxID).css({'display' : 'block'}).addClass('open');
    $('.sliding-box#s-b-' + boxName).stop(true, true).animate({
        top:'0'
        },'slow');

    e.stopPropagation();
    e.preventDefault();

   });
});

または、この方法で呼び出された関数にイベントオブジェクトを渡す必要があります-

$('.sliding-buttons').click( slidingContent(e) );
于 2011-08-23T06:47:41.547 に答える
0

slideContentが関数の場合は、かっこを使用して呼び出すことで、関数のように扱うことができます。また、slidingContent関数内で元のイベントを参照しているため、イベントを関数パラメーターとして渡す必要がある場合があります(ただし、使用しているようなイベントは使用したことがないため、これについてはわかりません。

$('.sliding-buttons').click( slidingContent(e) );
于 2011-08-23T06:49:04.400 に答える