나는 그것의 대부분은, 내가 상태를 설정하는 것을 선호하고 CSS가 보여주는를 처리시키는 때마다 적절한 숨어 다시 썼다. 위에서 언급했듯이 이벤트 핸들러를 DOM 객체에 바인딩하면 더 이상 클래스를 추가하거나 제거하더라도 문제가 발생하지 않으므로 대부분의 문제가 발생합니다. 변경
자바 스크립트 HTML :
Anycase, 여기에 코드입니다
$ = jQuery;
$('.citychooser').on('click', '.heading', null,
function() {
$(this).parent().addClass('choosing');
});
$('.citychooser').on('click', '.city', null,
function() {
if($(this).closest('.citychooser').hasClass('choosing'))
{
$(this).addClass('active');
$(this).parent().removeClass('choosing').addClass('chosen');
} else {
$(this).removeClass('active');
$(this).parent().addClass('choosing').removeClass('chosen');
}
});
CSS :
.citychooser.chosen .heading{
display:none;
}
.citychooser.chosen .city{
display:none;
}
.citychooser.chosen .city.active{
display:block;
}
.citychooser .city {
display:none;
}
.citychooser.choosing .city {
display:block;
}
.citychooser.choosing .header{
display:block;
}
.city:hover {
background-color: #808080;
}
.cityhover {
background-color: #808080!important;
}
.citychooser {
width: 555px;
float: right;
list-style-type: none;
margin-top: 0px;
}
.citychooser li {
background-color: #cccccc;
margin-bottom: 5px;
height: 50px;
line-height: 50px;
}
.citychooser .heading {
text-indent: 20px;
}
jsfiddle : http://jsfiddle.net/aLj3V/7/
오히려 배경이 어두운 유지한다면 때까지 rechoosing 그것에 대해
$ = jQuery;
$('.citychooser').on('click', '.heading', null,
function() {
$(this).parent().addClass('choosing');
});
$('.citychooser').on('click', '.city', null,
function() {
if($(this).closest('.citychooser').hasClass('choosing'))
{
$(this).parent().find('.active').removeClass('active');
$(this).addClass('active');
$(this).parent().removeClass('choosing').addClass('chosen');
} else {
$(this).parent().addClass('choosing').removeClass('chosen');
}
});
jsfiddle : http://jsfiddle.net/aLj3V/8/
보내주세요 제대로 코드 들여 쓰기를 할 시간 선택에서 으으 항목은 다음과 같은 자바 스크립트를 사용할 수 있습니다. 아무도 그것을 읽고 싶어하지 않는다. – meagar
jsfiddle을 만드시겠습니까? 또한 전체 스크립트가 실행되고 있습니까? 첫 줄에 세미콜론이없는 경우 오류가 발생할 수 있습니다. 콘솔을 체크인하십시오. – twinlakes
나는 그렇다.어떤 사람들은 비밀의 침대 시간 열정으로 50 가지의 회색 음영을 읽습니다. 나는 들여 쓰기가 안된 jQuery를 읽었다. 판단하지 마라. – AlienWebguy