여러 위젯에 사용하려는 플립 효과를 사용하고 있지만 다음과 같은 문제로 어려움을 겪고 있습니다. 다른 위젯에 동일한 기본 HTML을 사용했습니다. 그래서 내 페이지에서 첫 번째 위젯을 뒤집을 때, 나는 잘 작동합니다. 다른 위젯을 뒤집고 싶을 때, 전혀 작동하지 않습니다 ...jQuery Flip Effect/getElementById
내 스크립팅에 문제가 있음을 확인했습니다. document.getElementById
을 사용했기 때문에 첫 번째 고유 ID 만 인식합니다. 하지만 이제 각기 다른 위젯에서 이드의 이름을 변경하고 싶지 않습니다. 그들의 스크립트를 재 작성하여 다중 ID를 정의 할 수 있습니까?
HTML 난 CSS를 사용하는 회전/플립 효과를
<section class="widget span3">
<!--front-->
<div id="front" class="widget-1-2 flip">
<div class="widget-header">
<h2>Monthly Statistics</h2>
<div class="btn-group pull-right">
<button id="btn-front" class="btn"><i class="icon-cogs icon-white" alt="settings"></i></button>
<button class="btn btn-minimize"><i class="icon-chevron-up icon-white" alt="minimize"></i></button>
<button class="btn btn-close"><i class="icon-remove icon-white" alt="close"></i></button>
</div>
</div>
<div class="widget-content"><p>This is the front.</p></div>
</div><!--/front-->
<!--back-->
<div id="back" class="widget-1-2 flip">
<div class="widget-header">
<h2>Monthly Statistics/Settings</h2>
<div class="btn-group pull-right">
<button id="btn-back" class="btn"><i class="icon-signal icon-white" alt="charts"></i></button>
<button class="btn btn-minimize"><i class="icon-chevron-up icon-white" alt="minimize"></i></button>
<button class="btn btn-close"><i class="icon-remove icon-white" alt="close"></i></button>
</div>
</div>
<div class="widget-content"><p>This is the back.</p></div>
</div><!--/back-->
</section><!--/widget-1-2-->
자바 스크립트
<script>
document.getElementById('btn-front').addEventListener('click', function(event) {
event.preventDefault();
document.getElementById('back').className = 'flip flip-front';
document.getElementById('front').className = 'flip flip-back';
}, false);
document.getElementById('back').addEventListener('click', function(event) {
event.preventDefault();
document.getElementById('back').className = 'flip';
document.getElementById('front').className = 'flip';
}, false);
</script>
. 미리 감사드립니다!
먼저 답장을 보내 주셔서 감사합니다. "back-1", "back-2", "back-3", "front-1", "front-2", "front-3"등과 같이 'back' . 고유 ID로 어떻게 JavaScript에서 정의 할 수 있습니까? 왜냐하면'getElementById'는 오직 하나의 ID만을위한 것이기 때문에 더 많은 ID를 정의하고 싶습니다. ('document.querySelectorAll()'이 나를 위해 잘 작동하지 않는 것 같습니다.) –
ID를 열거하지 말고 대신 클래스를 만듭니다. 필요한 유일한 ID는 전체 위젯 (섹션 요소)의 고유 식별자입니다. 그런 다음'getElementById','var widget = document.getElementById ("widget-foo")'로 전체 위젯을 가져올 수 있고 그 위젯의 앞뒤를'widget.getElementsByClassName ("front") [0] 예를 들어. – eagleflo
전체 위젯에 대한 ID를 추가하고 기존 ID를 클래스로 변경 한 후에는 'document.querySelector ("# widget-foo .front")'도 작동해야합니다. – eagleflo