제이쿼리 기본 (1), (2)
github소스코드
min.js
이름을 붙인다.$(function () {
console.log('hi im jQuery');
...
}
querySelector
와 동일$('.masthead').css('border', 'solid 10px yellow');
$('.masthead-heading').css('color', 'blue');
var $masthead = $('#masthead-id');
:odd
0부터 홀수번째 선택. 즉 0, 2, 4..:even
0부터 짝수번째 선택. 즉 1, 3, 5...:eq(i)
: 0부터 i번째 선택$('li.nav-item:odd').css('background-color', 'green');
$('li.nav-item:even').css('background-color', 'blue');
$('.nav-item:eq(0)').css('background-color', 'pink');
mouseenter
: 한번 마우스 올리면 그 후 지속mouseleave
: 한번 마우스 올린 것 벗어나면 그 후 지속click
: 한번 마우스 올리면 그 후 지속fadeTo(속도, opacity, callback())
$('header #masthead-id').on({
mouseenter: function() {
$(this).fadeTo('fast', 1);
},
mouseleave: function() {
$(this).fadeTo('fast', 0.5);
}
})
hide()
: display:none
적용show()
: display:none
제거toggle()
slideDown()
, slideToggle()
등: 위, 아래로 슬라이드되면서 사라지는 효과. display:none
속성 기준으로 적용된다.fadeIn()
, fadeOut()
addClass('클래스명')
: 클래스 삽입removeClass()
: 클래스 제거toggleClass()
: 클래스 유무에 따라 삽입 및 제거var $favoriteIcon = $('.favorite-icon'); // 클래스 객체들이 유사배열로 반환
$favoriteIcon.click(function() {
$(this).toggleClass('on');
})
목표: 다른 버튼 클릭하면 기존에 켜져있던 버튼 끄기
강의대로만 하면 자기 자신 클릭해서 끄기는 안 되서 약간의 코드를 추가함
siblings()
: 자기 자신 제외한 모든 형제들 반환
$select.click(function() {
if($(this).hasClass('on')) {
$(this).removeClass('on');
} else {
$(this).addClass('on').siblings().removeClass('on');
}
})
목표: 프로필 영역에 마우스 hover하면 영역 아래에 프로필 상세 정보 나타내기
parent()
: 태그의 직계 부모에 접근
find()
: 인수로 css 클래스 선택자 전달해서 객체 찾기
클래스로 선택한 객체가 여러 개고 그 중 클릭한 것만 선택할 때 $(this)
활용
next()
: 부모 경유 없이 바로 다음 형제 태그 선택 next().next()중복 가능
prev()
: 바로 이전 형제 태그 선택. 중복가능
fadeIn()
, fadeOut()
: 부드럽게 나타나고 사라지기
var $profile = $('.profile');
$profile.on({
mouseenter: function() {
// $(this).parent().find('.profile-popup').css('display', 'block')
$(this).next().fadeIn();
},
mouseleave: function() {
$(this).next().fadeOut();
}
})
$(this)
, next()
, toggleClass()
이용해 간단히 제작$listTitleWrap.click(function() {
$(this).next().toggleClass('hide');
}
var hideLength = $('.list-article-wrap.hide').length;
if(hideLength === 3) {
$openText.show();
$closeText.hide();
}
if(hideLength === 0) {
$openText.hide();
$closeText.show();
}
자바스크립트 라이브러리 중 하나인 jQuery 기초를 배웠다. 부드럽게 사라지는 효과 등을 아주 간단히 구현할 수 있어서 편리했다. 찾아보면 훨씬 다양한 기능이 많을 것 같다.