2016-03-24 7 views
1

<div>はdiv ITSELFがクリックされたときに揺れるようにしようとしていますが、今のところ<div>はページ。あなたはdocumentにイベントハンドラを取り付けたのでjQuery-shake-on-clikは私がクリックした場所に関係なくdiv-shakesにあります

#port-two { 
 
    color: white; 
 
    background: black; 
 
    height: 250px; 
 
    margin-bottom: 10px; 
 
    display: flex; 
 
    flex-direction: column; 
 
    justify-content: center; 
 
    resize: vertical; 
 
    text-align: center; 
 
    font-size: 35px !important; 
 
    font-family: 'Exo', sans-serif !important; 
 
    font-weight: 200 !important; 
 
}
<script src="//code.jquery.com/jquery-1.10.2.js"></script> 
 
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script> 
 

 
<script> 
 
    $(document).click(function() { 
 
    $("#port-two").effect("shake"); 
 
    }); 
 
</script> 
 

 
<div id="port-two" class="me">this is what's supposed to shake WHEN IT ITSELF IS CLICKED. It now shakes no matter where you click :(</div>

答えて

1

それは単にです:

は、ここに私のコードです。必要な作業を行うには、#port-two要素にアタッチする必要があります。あなたは "文書" の代わりに、あなたの要素にクリックイベントを追加した

#port-two { 
 
    color: white; 
 
    background: black; 
 
    height: 250px; 
 
    margin-bottom: 10px; 
 
    display: flex; 
 
    flex-direction: column; 
 
    justify-content: center; 
 
    resize: vertical; 
 
    text-align: center; 
 
    font-size: 35px !important; 
 
    font-family: 'Exo', sans-serif !important; 
 
    font-weight: 200 !important; 
 
}
<script src="//code.jquery.com/jquery-1.10.2.js"></script> 
 
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script> 
 

 
<script> 
 
    $(function() { 
 
    $('#port-two').click(function() { 
 
     $(this).effect("shake"); 
 
    }); 
 
    }); 
 
</script> 
 

 
<div id="port-two" class="me">It now shakes only when clicked :)</div>

+0

ブリリアント...あなたは$(ドキュメント).readyとDOMに を関連しているものをカプセル化することをお勧めします!私はFreeCodeCampでプログラムを終えたトータル新人だ。私は今このビットで1時間か2時間闘ってきました。私はドキュメントの添付ファイルのどこかで私がする必要があった何かを読んだが、私はなぜもう覚えていない。ドキュメントをもう一度確認することをお勧めします。 – TheRecruit

+1

問題ないです。喜んで助けてください。ドキュメントに関しては、ドキュメントが準備できたらコードを実行する必要があります。これは上記のコードで '$(function(){});'がしていることです。イベントをアタッチするときには、その要素(またはイベントがDOMをバブルアップする場合は親)を呼び出す要素に配置する必要があります。 –

1

:これを試してみてください。 は、私はまた、

$(document).ready(function() { 
    $("#port-two").click(function() { 
     $(this).effect("shake"); 
    }); 
}); 
関連する問題