이것이 jQuery의 첫 걸음입니다! 그러니 엄격히 판단하지 말고 도와주세요) 다음으로해야합니다. 내 HTML에는 몇 가지 요소가 있습니다..click re-event 후 함수의 위치가 변경되지 않습니다.
<div class="garden">
<div class="point left">◄</div>
<div class="trees">
<div id="apple">Apple</div>
<div id="cherry">Cherry</div>
<div id="pear">Pear</div>
<div id="oak">Oak</div>
<div id="fir">Fir</div>
</div>
<div class="point right">►</div>
</div>
"pointLeft"를 클릭 할 때마다 요소의 위치를 왼쪽으로 변경해야합니다. 그리고 오른쪽의 "pointRight"를 클릭하십시오. 항목의 맨 왼쪽 위치를 클릭하고 "pointLeft"를 클릭하면이 항목이 삭제되고 가장 오른쪽 위치에 사본이 만들어집니다. 예를 들어. "pointLeft"를 클릭 한 이미지. "체리"는 "사과", "배"는 "체리", "오크"는 "배", "전나무"는 "오크"의 위치를 취합니다. "apple"이 제거되고 "apple"의 복사본이 만들어지고 "fir"의 위치를 차지합니다. 등등. 게다가 나는 .animate()를 사용해야한다. 그래서 처음에는 하나의 요소 (.clone()이없는)의 애니메이션을 구현하려고합니다.
$(document).ready(function() {
var trees = ["#apple", "#cherry", "#pear", "#oak", "#fir"];
var treePosition = [];
for (var i = 0; i < trees.length; i++) {
treePosition.push($(tree[i]).position());
}
function changePositionLeft() {
if ($("#apple").position()) {
$(trees[0]).animate(treePosition[4]);
}
else if ($("#apple").position() == treePosition[4]) {
$("#apple").animate(treePosition[3]);
}
}
$(".point.left").click(function() {
changePositionLeft();
});
});
처음에 클릭하면 "사과"가 "전나무"의 위치를 차지합니다. 하지만 두 번째 시간을 클릭하면 "apple"이 위치 treePosition [4]에 애니메이션을 적용하지 않습니다. 두 번째 클릭 후 왜 애니메이션이 없는지 이해해주십시오. 그리고 작업 구현을위한 작업 코드를 권장하십시오. 감사합니다. 당신이 여기있는 코드를 찾고에서
는 당신이 우리 코드의 바이올린 보여줄 수 있습니까? http://jsfiddle.net/ –
위의 대답은 좋은 지적입니다. 비록 우리가 당신의 html/css/js를 선호한다면, 우리는 당신을 더 잘 도울 수있을 것입니다. 위의 IE는 그렇지 않습니다. html 선택기 (.pointLeft vs .arrow.left)와 일치해야 나머지 코드가 정확한지 어떻게 알 수 있습니까? 그것의 선생님. – webkit