PS.
Not support IE9
rotate: deg (0deg)
originX: px originY: px
Source
rotate: <input onchange="changeRotate(this);" type="range" maxlength="3" size="3" value="0" min="0" max="360"/>deg
<br/>
originX: <input onchange="changeOriginX(this);" type="range" maxLength="3" size="3" value="100" min="0" max="200"/>px
originY: <input onchange="changeOriginY(this);" type="range" maxLength="2" size="2" value="25" min="0" max="50"/>px
<br/>
<div id="wrapperDiv">
<div id="rotateDiv" style="position:relative; width:200px; height:50px; border:1px solid black; background-color:aqua;">
<div id="originDiv" style="position:absolute; width:1px; height:1px; left:100px; top:25px; border:2px solid red;"></div>
</div>
</div>
<script type="text/javascript">
var rotateValue = 0, originX = 0, originY = 0;
var rotateDiv = document.getElementById('rotateDiv');
var originDiv = document.getElementById('originDiv');
function changeRotate(rotate) {
if (rotateValue == rotate.value) {
return false;
}
rotate.value = rotateValue = rotate.value == '' ? 0 : parseInt(rotate.value);
rotateDiv.style.transform = 'rotate('+rotate.value+'deg)';
rotateDiv.style.MozTransform = 'rotate('+rotate.value+'deg)';
rotateDiv.style.webkitTransform = 'rotate('+rotate.value+'deg)';
}
function changeOriginX(x) {
if (originX == x.value) {
return false;
} else if (x.value == '' || x.value < 0 || x.value > 200) {
x.value = originX;
return false;
}
x.value = originX = parseInt(x.value);
originDiv.style.left = x.value + 'px';
setOrigin();
}
function changeOriginY(y) {
if (originY == y.value) {
return false;
} else if (y.value == '' || y.value < 0 || y.value > 50) {
y.value = originY;
return false;
}
y.value = originY = parseInt(y.value);
originDiv.style.top = y.value + 'px';
setOrigin();
}
function setOrigin() {
rotateDiv.style.transformOrigin = originX + 'px ' + originY + 'px';
rotateDiv.style.MozTransformOrigin = originX + 'px ' + originY + 'px';
rotateDiv.style.webkitTransformOrigin = originX + 'px ' + originY + 'px';
}
</script>
<style type="text/css">
#wrapperDiv {
width: 100%; height: 500px;
border: 2px solid red;
}
#rotateDiv {
left: 250px; top: 250px;
}
</style>
댓글
댓글 쓰기