jQuery를 사용하는 방법을 모르겠지만 CSS3 속성이 있습니다. 변환 : rotateCSS를 사용하여 스크롤 할 때 이미지를 회전하는 방법은 무엇입니까?
jQuery와 함께 사용할 수 있습니까?
transform:rotate;
-ms-transform:rotate;
-webkit-transform:rotate;
jQuery를 사용하는 방법을 모르겠지만 CSS3 속성이 있습니다. 변환 : rotateCSS를 사용하여 스크롤 할 때 이미지를 회전하는 방법은 무엇입니까?
jQuery와 함께 사용할 수 있습니까?
transform:rotate;
-ms-transform:rotate;
-webkit-transform:rotate;
이 바이올린을보십시오. 여기
코드 :
var $cog = $('#cog'),
$body = $(document.body),
bodyHeight = $body.height();
$(window).scroll(function() {
$cog.css({
'transform': 'rotate(' + ($body.scrollTop()/bodyHeight * 360) + 'deg)'
});
});
+1 이런 종류의 솔루션을 사용할 예정 이었지만 대신에 게시했습니다. 회전은 스크롤 위치에 의존하지 않고, 스크롤하는 동안 회전 만합니다. –
이런 식으로 뭔가가 jQuery를 올바른 CSS3 접두어를 사용한다. http://jsfiddle.net/g3k6h/2/
$(function() {
$('.gear').click(function() {
$(this).css('transform', 'rotate(30deg)');
});
});
궁금한 점은 ... 대신 .animate()를 사용할 수 있습니다. – Leo
이것은 div의 스크롤과 회전을 동기화하는 까다로운 부분을 다루지 않습니다. – user1618143
CSS는 최신 웹킷 빌드에서 하드웨어가 가속화되기 때문에 더 빨라야합니다. – OneOfOne
나는 OneOfOne의 솔루션으로 시작하고 여기에 애니메이션을 추가했다. scroll
이벤트에서 애니메이션을 시작하고 mouseup
으로 끝냅니다. http://jsfiddle.net/g3k6h/4/
var rotation = 0;
var interval;
var gear = $('.gear');
function animate() {
gear.css('transform', 'rotate('+rotation+'deg)');
rotation += 10;
rotation %= 360;
}
function startAnim() {
if (!interval) {
interval = setInterval(animate, 100);
}
}
function stopAnim() {
clearInterval(interval);
interval = null;
}
$(document).scroll(startAnim).mouseup(stopAnim);
jamesgauld의 대답은 회 전량은 내가 질문을 이해하는 방법을 당신이 스크롤하는 동안 내 그냥 회전 계속 스크롤 위치에 기반 하였다는 점을 제외하고 광산과 유사하다.
그것은 전체 회전 운동에서 100 % 정확,하지만 난 그날 밤 바이올린 환경이 될 생각 :
다음은 간단한 jQuery를 예제의은 수정 된 JSFiddle을 확인하십시오
CSS는 회전> 360과 나를 위해 < 0 그래서 didn를 처리합니다 ' 심지어 그것을하는 것을 괴롭 히고 스크롤 된 거리에 따라 회전 값을 조정하십시오. 나는 속도와 거리를 스크롤하면서 더 잘 흘러가도록 풀 회전을 고려하는 것에 대해 걱정하지 않았습니다. 이 솔루션은 jQuery에 의존하지만이를 사용하지 않고도 쉽게 수행 할 수 있습니다.
$(function() {
var rotation = 0,
scrollLoc = $(document).scrollTop();
$(window).scroll(function() {
var newLoc = $(document).scrollTop();
var diff = scrollLoc - newLoc;
rotation += diff, scrollLoc = newLoc;
var rotationStr = "rotate(" + rotation + "deg)";
$(".gear").css({
"-webkit-transform": rotationStr,
"-moz-transform": rotationStr,
"transform": rotationStr
});
});
})
이것은 광산의 더 멋진 버전입니다 (http://stackoverflow.com/a/18540697/1168795). – jgauld
그 자체로 "멋지다"그 자체는 아니지만 다르다. 각각 자신에게. 그것은 모두 신청의 필요에 달려 있으며 우리 중 어느 쪽도 그러한 필요에 부합하지 않는다고 생각합니다. –
정확히 무엇을하려합니까? – Itay
당신은 시도를 보여줘야한다, 나를 위해 그것을 해주세요. –
몸이 스크롤되는 동안 이미지를 회전하십시오. –