확실히 가능합니다.
첫째 대신 검사의 모든 다른 유형을 가진 당신은 단순히 두 가지 방법으로 솔루션을 수행 할 수 있습니다 :
는 TweenLite 의존성을 제거, 당신이 그것을 사용하는 모든 당신이 할 수있는 (지금까지 내가 말할 수있는) CSS 애니메이션으로 쉽게 할 수 있습니다.
셀렉터에 jQuery를 사용하고 있으므로 일반 셀렉터와 대상 형제를 아래 예에서와 같이 사용할 수 있습니다.
여기 JS 솔루션입니다 (HTML에 CSS와 사소한 변경을 수반 위해 jsbin 링크 확인) :
$(window).load(function() {
$('.availability').addClass('active');
var interactiveEls = $('.interactive h5');
var activeSections;
$(interactiveEls).each(function(index) {
$(this).on("click", { idx: index }, function(e) {
activeSections = $('.col-md-12.circle-activity > div.active');
if (!(activeSections.length === 1 && $(e.target).parent().hasClass('active'))) {
$(e.target)
.parent()
.toggleClass("active");
var isActive = $(e.target).parent().hasClass('active') ? true : false;
var mainImg = $(e.target).parent().siblings('.main-img').find('img');
toggleMainImg(isActive, mainImg, index);
}
});
});
function toggleMainImg(isActive, mainImg, index) {
// a slightly icky switch-case for checking the index against so we know which circ-image needs to be set as the img src.
switch (index) {
case 0:
isActive ? mainImg.prop('src', 'http://lemieux-design.net/profitero/img/circ-4.png') : '';
break;
case 1:
isActive ? mainImg.prop('src', 'http://lemieux-design.net/profitero/img/circ-1.png') : '';
break;
case 2:
isActive ? mainImg.prop('src', 'http://lemieux-design.net/profitero/img/circ-3.png') : '';
break;
case 3:
isActive ? mainImg.prop('src', 'http://lemieux-design.net/profitero/img/circ-2.png') : '';
break;
default:
break;
}
}
});
http://jsbin.com/derazegulo/1/edit?html,js,output
보너스는 이미지를 제거하는 것입니다 추가하면 사용 및 수행 :
더하기 및 빼기 단추는 글꼴 아이콘이나 더 나은 성능을 위해 SVG로 바뀌 었습니다.
또한 main-img의 경우 a) 색인 이름을 이미지의 이름과 일치 시키면 스위치 케이스가 불필요하거나 b) 전체 내용이 CSS (또는 SVG)로 바뀔 수 있습니다. .
자신 만의 추측을 추가해야합니다. 시도한 것과 문제가있는 경우? -하지만 내 생각 엔 다른 사람들이 열리지 않는다면, 그것은 그 중 하나 일 뿐이라는 것을 의미합니다. 그래서 당신은 그 상태로 그냥 붕괴시킬 수 있습니까? –
jQuery 토글 방법을 시도했지만, 그렇게했을 때 나머지 코드가 손상되었습니다. 아, 네 논리가 마음에 들어. 나는 그것을 구현하려고 노력할 것이다. –