Deck Head Rotate

by OwenMelbz

HTML

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<section id="deck-head">

    <svg xmlns="http://www.w3.org/2000/svg" width="250" height="250">

        <g>
            <title>Marker</title>
            <g id="marker-frame">
                <path fill="white" id="c" d="m133.300003,64.800003l0,-33.500004l-16.100006,0l0,33.299999c-30.799995,3.700005 -53.499996,29.599998 -53.499996,60.800003c0,33.900002 27.600002,61.299995 61.299999,61.299995s61.300003,-27.399994 61.300003,-61.299995c0,-30.900002 -23.600006,-56.599998 -53,-60.599998zm-53.5,60.699997c0,-24.900002 20.299995,-45.199997 45.199997,-45.199997s45.199997,20.299995 45.199997,45.199997s-20.199997,45.300003 -45.199997,45.300003s-45.199997,-20.400009 -45.199997,-45.300003z"/>
            </g>
        </g>

    </svg>

    <mark id='m'>90&deg;</mark>

</section>

CSS

body {background-color:black;}
#m {position:absolute;}
section {poisition:relative;}
svg {background: red;}

JavaScript

var angle = 135, center = 125, radius = 110, pi = Math.PI;

 $('#c').attr('transform', 'rotate(' + angle + ', 125, 125)');
    
 // calculate new coordinates for mark
 var x = center + radius * Math.cos(angle * pi / 180 - pi / 2);
 var y = center + radius * Math.sin(angle * pi / 180 - pi / 2);
 $('#m').css({top: y + 'px', left: x + 'px'});