이 jQuery 코드를 설명해 주시겠습니까? [복제하다
-
19-09-2019 - |
문제
가능한 복제 :
누군가이 jQuery 코드를 설명 할 수 있습니까?
나는 이것을 전에 게시했지만 내 질문을 개선하고 싶습니다 (그리고 오래된 스레드에서는 할 수없는 것 같습니다).
코드는 다음과 같습니다.
$(document).ready(function()
{
var rot=$('#image3').rotate({maxAngle:25,minAngle:-55,
bind:
[
{"mouseover":function(){rot[0].rotateAnimation(85);}},
{"mouseout":function(){rot[0].rotateAnimation(-35);}}
]
});
});
여기에서 가져 왔습니다. http://wilq32.googlepages.com/wilq32.rollimage222, 그리고 기능의 데모도 있습니다 (이미지 회전 애니메이션 - 페이지의 세 번째 데모).
내가 필요로하는 것 :
나는 변수가 선언되고 있음을 이해합니다 -"썩음",하지만 선언이 어디에서 끝나는 지 이해할 수없는 것 같습니다 ....
변수를 사용하면 다음으로 사용됩니다. 썩음 [0, 무엇을합니다 [0] 서 있습니다. 이것은 배열입니까?
나는 본 적이 없다 묶다 그렇게 사용되면 원래 구문은입니다
$ ( "selector"). bind (type, [data], fn);
그러면 무슨 일이 일어나고 있습니까? 모든 쉼표는 무엇입니까? [ ] 에 대한?
- 내가하고 싶은 것은 결국이 스크립트를 사용하여 이미지 "x"를 회전시키는 반면 "y"요소를 클릭하는 것입니다. 이 작업은 어떻게 (바람직하게는 "바인딩"없이) 수행 할 수 있습니까?
감사!
해결책
기본 구문 문제는 여기 다른 사람들에 의해 설명되었다고 생각합니다 ...
측면에서 :
내가하고 싶은 것은 결국이 스크립트를 사용하여 이미지 "x"를 회전시키는 반면 "y"요소를 클릭하는 것입니다. 이 작업은 어떻게 (바람직하게는 "바인딩"없이) 수행 할 수 있습니까?
이 시도:
var x=$("#imagex"); //<-- image to be rotated
var y=$("#elemy"); //<-- element to be clicked
var angleOfRotation=45; //<-- angle of rotation
y.bind("click",function(){
x[0].rotateAnimation(angleOfRotation);
});
다른 팁
선언은 2 위에서 마지막 세미콜론으로 끝납니다. 참조는 캡처되어 콜백 함수가 통과하는 동안 훨씬 나중에 사용됩니다.
rot
jQuery 객체는 배열이 아니지만 하나처럼 색인화 될 수 있습니다.
rot[0]
선택기와 일치하는 첫 번째 DOM 객체입니다 #image3
, 즉 ID image3가있는 객체 3.
bind
,이 경우, 함수 바인드는 아니지만 옵션의 일부가 회전하기 위해 전달되었습니다.
사각형 브래킷 [foo, bar]
Foo와 Bar의 문자 배열을 나타냅니다. Curly Braces {foo : "foo", bar : "bar"}는 속성과 바가있는 문자 그대로의 대상입니다.
선언은 첫 번째 세미콜론에서 끝납니다.
rot
그 값이 할당됩니다rotate()
반품 (이 경우 결과와 동일합니다.$('#image3')
, jQuery의 때문입니다 방법 체인 구문). 모든 것 사이rotate(
그리고 다음)
단지 논쟁이 전달되었습니다rotate()
.예,
[0]
배열 액세스입니다.rot[0]
배열의 첫 번째 ( "0th") 항목을 나타냅니다.rot
.여기,
{ maxAngle:25, minAngle:-55, bind: ... }
속성이있는 객체의 "객체 문자 그럴", 즉 구문입니다.maxAngle
,minAngle
, 그리고bind
. 이 개체를 변수에 할당 한 경우myObject
(회전하기 위해 인수로 전달하는 대신 ()).myObject.maxAngle
,myObject.minAngle
, 그리고myObject.bind
. 이 경우bind
함수가 아니라 객체의 속성 이름 일뿐입니다.
자, 누락 된 조각 - 이것은 위의 코드를 사용하여 다른 요소로 회전을 트리거하는 방법입니다.
var itemYouWannaRotate = $("#imageToRotate").rotate(0);
$("#TriggerElement").click(function(){
itemYouWannaRotate[0].rotateAnimation(90);
});
감사합니다. 모든 대답은 큰 도움이되었습니다.