jQuery / Javascript Parallax Code-설명

MP_Webby

기본 시차 스크롤 효과에 대한 자습서를 따르고 있습니다.

http://callmenick.com/2014/09/08/advanced-parallax-scrolling-effect/

좋은 예감이고 이해하고 구현하기가 꽤 쉽지만 일부 코드를 발견했습니다.

(function(){

  var parallax = document.querySelectorAll(".parallax"),
      speed = 0.5;

  window.onscroll = function(){
    [].slice.call(parallax).forEach(function(el,i){

      var windowYOffset = window.pageYOffset,
          elBackgrounPos = "50% " + (windowYOffset * speed) + "px";

      el.style.backgroundPosition = elBackgrounPos;

    });
  };

})();

클래스 시차가있는 모든 요소를 ​​반복하고 Yoffset을 가져오고 배경 위치를 설정합니다. 그러나 누구든지이 줄을 설명으로 분류 할 수 있습니까?

[].slice.call(parallax).forEach(function(el,i)

최신 정보

아래에 몇 가지 훌륭한 설명이 있지만 jQuery를 사용하는 것보다 더 나은 솔루션입니다.

$('.parallax').each(function(){
        $this= $(this);
        var window_y = (window.pageYOffset+1000);
        var elBackgrounPos = "0 " + (window_y * speed) + "px";  
        $this.css('background-position', elBackgrounPos);
});

나에게 이것은 훨씬 더 읽기 쉽지만 자바 스크립트 버전이 더 잘 수행되거나 어떤면에서 더 효율적입니까?

피곤한

document.querySelectorAll특별한 종류의 DOM 객체 인 NodeList를 반환합니다. 를 사용하여 Javascript 배열 call()slice()메서드를 호출하여 NodeList를 forEachNodeList에서 사용할 수없는 메서드 를 사용할 수있는 것으로 분할 할 수 있습니다.

브라우저의 Javascript 콘솔에서 다음을 시도하십시오.

var a = document.querySelectorAll('div')
a.forEach

b = [].slice.call(a)
b.forEach

a.forEach가 반환 undefined되고 b.forEach가 반환 되는 것을 볼 수 있습니다.

function forEach() { [native code] }

기본적으로 NodeList 항목을 더 쉽게 조작 할 수 있습니다. 또한 __proto__b 속성은이고 a []__proto__속성은입니다 NodeList. 이것이 b가 호출 할 수 forEach있고 a가 호출 할 수없는 이유 입니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

JQuery Parallax not working

분류에서Dev

JavaScript - Replacing jQuery $ with Angular code

분류에서Dev

jQuery .Slice 설명

분류에서Dev

JQuery 구문 설명

분류에서Dev

JavaScript 코드 설명

분류에서Dev

Creating a parallax object prototype with jQuery and I keep getting undefined errors on jQuery functions

분류에서Dev

(jquery)에 대한 설명?

분류에서Dev

'$ (this)'jquery를 javascript 'this'로 설정

분류에서Dev

JavaScript 내부 작업 설명

분류에서Dev

Javascript && 연산자-설명?

분류에서Dev

Noob javascript 1 줄 설명

분류에서Dev

마우스 오버로 움직이는 JQuery Parallax 배경

분류에서Dev

jquery Parallax의 크로스 브라우저 스크롤 문제

분류에서Dev

무료 스크롤 및 시차 문제 (jQuery Scroll Path + Parallax)

분류에서Dev

JS / jQuery Scroll을 사용한 순수 CSS Parallax

분류에서Dev

jQuery 도구-도구 설명 문제

분류에서Dev

jquery의 애니메이션 설명

분류에서Dev

Jquery 드롭 다운 메뉴 설명

분류에서Dev

JavaScript 삼항 연산자 사용 설명

분류에서Dev

javascript :이 코드에 필요한 설명

분류에서Dev

Javascript TypeError : 설명이 필요합니다.

분류에서Dev

임베디드 JavaScript for 루프 설명

분류에서Dev

JavaScript 변수 호이 스팅 설명

분류에서Dev

JavaScript 문 설명 필요 ( 'this'및 'event')

분류에서Dev

Javascript GUID (Global Unique Identifier) 생성기 설명

분류에서Dev

CSS 또는 JavaScript를 사용하여 더 빠르게 스크롤-Parallax

분류에서Dev

What is the right jQuery (or javaScript) code to pause a basic slider using a simple 'setTimeOut' funcitonality?

분류에서Dev

Explain: jQuery Caching Code

분류에서Dev

Jquery combine code