웹 프론트엔드 JS 튜토리얼 jquery 스킬에 주목하고 jquery 스킬을 향상시키세요(프론트엔드 개발을 위해 꼭 배워야 합니다)_jquery

jquery 스킬에 주목하고 jquery 스킬을 향상시키세요(프론트엔드 개발을 위해 꼭 배워야 합니다)_jquery

May 16, 2016 pm 03:34 PM

jQuery 기술을 향상하는 데 도움이 되는 간단한 팁 모음입니다.

Matt Smith가 시작한 작은 프로젝트로 현재 14개의 팁이 있습니다. Bole Online은 계속해서 업데이트를 진행할 예정입니다.

맨 위로 가기 버튼
이미지 미리 로드
이미지가 로드되었는지 확인
손상된 사진 자동 복구
Hover의 클래스 스위치
입력 필드 비활성화
링크 로딩 중지
페이드/슬라이드 스위치
간단한 접이식 효과
두 Div를 동일한 높이로 설정
새 창에서 외부 링크 열기
텍스트 요소 찾기
보이는 트리거와 숨겨진 트리거 간 전환

맨 위로 가기 버튼

jQuery에서 animate 및 scrollTop 메소드를 사용하면 플러그인 없이도 간단한 Back to Top 애니메이션을 만들 수 있습니다.

자바스크립트

// Back to top
$('a.top').click(function (e) {
 e.preventDefault();
 $(document.body).animate({scrollTop: 0}, 800);
});
로그인 후 복사

자바스크립트

<!-- Create an anchor tag -->
<a class="top" href="#">Back to top</a>
로그인 후 복사

scrollTop의 값을 스크롤 막대를 멈추려는 위치로 변경합니다. 그런 다음 800밀리초 안에 맨 위로 돌아가도록 설정합니다.

이미지 미리 로드

페이지에 처음에는 표시되지 않는 이미지가 많이 사용되는 경우(예: 마우스 오버) 미리 로드하는 것이 좋습니다.

자바스크립트

$.preloadImages = function () {
 for (var i = 0; i < arguments.length; i++) {
  $('<img>').attr('src', arguments[i]);
 }
};
$.preloadImages('img/hover-on.png', 'img/hover-off.png');
로그인 후 복사

이미지가 로딩되었는지 확인하세요

때때로 스크립트에서 후속 작업을 수행하기 전에 이미지가 완전히 로드되었는지 확인해야 할 수도 있습니다.

자바스크립트

$('img').load(function () {
 console.log('image load successful');
});
로그인 후 복사

img 태그를 ID나 클래스로 대체하여 특정 이미지가 로드되었는지 확인할 수도 있습니다.

손상된 사진 자동 복구

웹사이트의 이미지 링크가 깨진 것을 발견하면 하나씩 교체하는 것이 번거로울 것입니다. 이 간단한 코드는 많은 도움이 될 수 있습니다:

자바스크립트

$('img').on('error', function () {
 $(this).prop('src', 'img/broken.png');
});
로그인 후 복사

깨진 링크가 없더라도 이 코드를 추가해도 아무런 영향이 없습니다.

Hover로 클래스 전환

사용자가 페이지에서 클릭 가능한 요소 위로 마우스를 가져가면 이 요소의 시각적 표현을 변경하려고 합니다. 다음 코드를 사용하면 사용자가 마우스를 놓을 때 요소에 클래스를 추가할 수 있습니다.

자바스크립트

$('.btn').hover(function () {
 $(this).addClass('hover');
}, function () {
 $(this).removeClass('hover');
});
로그인 후 복사

필요한 CSS만 추가하면 됩니다. 더 간단한 방법이 필요한 경우에는ggleClass 메소드를 사용할 수도 있습니다:

자바스크립트

$('.btn').hover(function () {
 $(this).toggleClass('hover');
});
로그인 후 복사


참고: 이 예에서는 CSS가 더 빠른 솔루션일 수 있지만 여전히 알아 둘 가치가 있습니다.

입력 필드 비활성화

사용자가 특정 작업(예: '약관을 읽었습니다' 확인란 확인)을 수행할 때까지 양식의 제출 버튼이나 텍스트 입력 상자를 사용할 수 없게 만들고 싶을 수도 있습니다. 원하는 효과를 얻으려면 입력에 비활성화된 속성을 추가하세요.

자바스크립트

$('input[type="submit"]').prop('disabled', true);
로그인 후 복사

disabled 값을 false로 변경하려면 입력에 대해 prop 메서드를 다시 실행하면 됩니다.

자바스크립트

$('input[type="submit"]').prop('disabled', false);
로그인 후 복사

링크 로딩 중지

때때로 페이지로 이동하거나 페이지를 다시 로드하는 링크가 필요하지 않지만 다른 스크립트를 실행하는 등의 다른 작업을 수행할 수 있기를 원하는 경우가 있습니다. 다음 코드는 기본 동작을 비활성화하는 약간의 트릭입니다.

자바스크립트

$('a.no-link').click(function (e) {
 e.preventDefault();
});
로그인 후 복사

페이드/슬라이드 스위치

페이드 인/아웃과 슬라이드는 jQuery를 사용하여 자주 만드는 애니메이션 효과입니다. 어쩌면 사용자가 무언가를 클릭할 때 요소를 표시하고 싶을 수도 있습니다. fadeIn과 SlideDown을 사용하는 것은 둘 다 훌륭합니다. 하지만 첫 번째 클릭 시 요소가 나타나고 두 번째 클릭 시 사라지도록 하려면 다음 코드를 사용하면 됩니다.

자바스크립트

// Fade
$('.btn').click(function () {
 $('.element').fadeToggle('slow');
});
// Toggle
$('.btn').click(function () {
 $('.element').slideToggle('slow');
});
로그인 후 복사

간단한 아코디언 효과

아코디언 효과를 얻는 빠르고 쉬운 방법은 다음과 같습니다.

자바스크립트

// Close all panels
$('#accordion').find('.content').hide();
 
// Accordion
$('#accordion').find('.accordion-header').click(function () {
 var next = $(this).next();
 next.slideToggle('fast');
 $('.content').not(next).slideUp('fast');
 return false;
});
로그인 후 복사

이 스크립트를 추가한 후 필요한 HTML 내에서 스크립트가 제대로 작동하는지 확인하기만 하면 됩니다.

두 Div의 높이를 동일하게 만듭니다

때때로 포함된 콘텐츠에 관계없이 두 개의 div가 동일한 높이를 갖기를 원할 수도 있습니다.

자바스크립트

$('.div').css('min-height', $('.main-div').height());
로그인 후 복사

이 예에서는 최소 높이를 설정합니다. 즉, 기본 div보다 클 수 있지만 작을 수는 없습니다. 그러나 보다 유연한 방법은 요소 집합의 설정을 반복하고 높이를 요소의 가장 높은 값으로 설정하는 것입니다.

자바스크립트

var $columns = $('.column');
var height = 0;
$columns.each(function () {
 if ($(this).height() > height) {
  height = $(this).height();
 }
});
$columns.height(height);
로그인 후 복사

모든 열의 높이를 동일하게 하려면:

자바스크립트

var $rows = $('.same-height-columns');
$rows.each(function () {
 $(this).find('.column').height($(this).height());
});
로그인 후 복사

在新标签/窗口打开站外链接
在一个新标签或者新窗口中打开外置链接,并确保站内链接会在相同的标签或窗口中打开:

JavaScript

$('a[href^="http"]').attr('target', '_blank');
$('a[href^="//"]').attr('target', '_blank');
$('a[href^="' + window.location.origin + '"]').attr('target', '_self');
로그인 후 복사

注意:window.location.origin 在 IE 10 中不可用,该 issue 的修复方法。

通过文本找到元素

通过使用 jQuery 中的 contains() 选择器,你可以找到某个元素中的文本。如果文本不存在,该元素将会隐藏:

JavaScript

var search = $('#search').val();

$('div:not(:contains("' + search + '"))').hide();
로그인 후 복사

视觉改变触发
当用户焦点在另外一个标签上,或重新回到标签时,触发 JavaScript:

JavaScript

$(document).on('visibilitychange', function (e) {
 if (e.target.visibilityState === "visible") {
  console.log('Tab is now in view!');
 } else if (e.target.visibilityState === "hidden") {
  console.log('Tab is now hidden!');
 }
});
로그인 후 복사

Ajax 调用的错误处理

当某次 Ajax 调用返回 404 或 500 错误,就会执行错误处理。但如果没有定义该处理,其他 jQuery 代码或许会停止工作。可以通过下面这段代码定义一个全局 Ajax 错误处理:

JavaScript

$(document).ajaxError(function (e, xhr, settings, error) {
 console.log(error);
});
로그인 후 복사

全能程序员交流QQ群290551701,群内程序员都是来自,百度、阿里、京东、小米、去哪儿、饿了吗、蓝港等高级程序员 ,拥有丰富的经验。加入我们,直线沟通技术大牛,最佳的学习环境,了解业内的一手的资讯。如果你想结实大牛,那 就加入进来,让大牛带你超神!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

JavaScript로 문자열 문자를 교체하십시오 JavaScript로 문자열 문자를 교체하십시오 Mar 11, 2025 am 12:07 AM

JavaScript로 문자열 문자를 교체하십시오

jQuery는 요소 패딩/마진을 얻습니다 jQuery는 요소 패딩/마진을 얻습니다 Mar 01, 2025 am 08:53 AM

jQuery는 요소 패딩/마진을 얻습니다

jQuery 날짜가 유효한지 확인하십시오 jQuery 날짜가 유효한지 확인하십시오 Mar 01, 2025 am 08:51 AM

jQuery 날짜가 유효한지 확인하십시오

10 JQuery Accordions 탭 10 JQuery Accordions 탭 Mar 01, 2025 am 01:34 AM

10 JQuery Accordions 탭

10 JQuery 플러그인을 확인할 가치가 있습니다 10 JQuery 플러그인을 확인할 가치가 있습니다 Mar 01, 2025 am 01:29 AM

10 JQuery 플러그인을 확인할 가치가 있습니다

노드 및 HTTP 콘솔로 HTTP 디버깅 노드 및 HTTP 콘솔로 HTTP 디버깅 Mar 01, 2025 am 01:37 AM

노드 및 HTTP 콘솔로 HTTP 디버깅

사용자 정의 Google 검색 API 설정 자습서 사용자 정의 Google 검색 API 설정 자습서 Mar 04, 2025 am 01:06 AM

사용자 정의 Google 검색 API 설정 자습서

jQuery div에 스크롤 바를 추가합니다 jQuery div에 스크롤 바를 추가합니다 Mar 01, 2025 am 01:30 AM

jQuery div에 스크롤 바를 추가합니다

See all articles