Click here to Skip to main content
15,889,176 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
hi,i find a circular menu slider,that rotating when page is loaded.
HTML
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>stackprogramer</title>
<style>
html,
body { height: 100%; }

body {
  margin: 0;
  background-image:url("back.jpg");
  overflow: hidden;
}

.selector {
  position: absolute;
  left:45%;
  top: 40%;
  width: 280px;
  height: 280px;
  margin-top: -70px;
  margin-left: -70px;
}

.selector,
.selector button {
  font-family: 'Oswald', sans-serif;
  font-weight: 300;
}

.selector button {
  position: relative;
  width: 100%;
  height: 100%;
  padding: 10px;
  background: #428bca;
  border-radius: 50%;
  border: 0;
  color: white;
  font-size: 20px;
  cursor: pointer;
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.1);
  transition: all .1s;
}

.selector button:hover { background: #3071a9; }

.selector button:focus { outline: none; }

.selector ul {
  position: absolute;
  list-style: none;
  padding: 0;
  margin: 0;
  top: -20px;
  right: -20px;
  bottom: -20px;
  left: -20px;
}

.selector li {
  position: absolute;
  width: 0;
  height: 100%;
  margin: 0 50%;
  -webkit-transform: rotate(-360deg);
  transition: all 0.8s ease-in-out;
}

.selector li input { display: none; }

.selector li input + label {
  position: absolute;
  left: 50%;
  bottom: 100%;
  width: 0;
  height: 0;
  line-height: 1px;
  margin-left: 0;
  background: #fff;
  border-radius: 50%;
  text-align: center;
  font-size: 1px;
  overflow: hidden;
  cursor: pointer;
  box-shadow: none;
  transition: all 0.8s ease-in-out, color 0.1s, background 0.1s;
}

.selector li input + label:hover { background: #f0f0f0; }

.selector li input:checked + label {
  background: #5cb85c;
  color: white;
}

.selector li input:checked + label:hover { background: #449d44; }

.selector.open li input + label {
  width: 130px;
  height: 130px;
  line-height: 80px;
  margin-left: -40px;
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.1);
  font-size: 14px;
}
</style>
</head>

<body  >
<h1 align="center">stackprogramer</h1>
<div class='selector'>
  <ul>
    <li>
      <input id='c1' type='checkbox'>
      <label for='c1'>Menu 1</label>
    </li>
	<li>
      <input id='c1' type='checkbox'>
      <label for='c1'><iframe src="http://www.codeproject.com/members/flair/12352100" 
                height="100" width="120" scrolling="no" frameborder="no"></iframe></label>
    </li>
    <li>
      <input id='c2' type='checkbox'>
      <label for='c2'>Menu 2</label>
    </li>
    <li>
      <input id='c3' type='checkbox'>
      <label for='c3'>Menu 3</label>
    </li>
    <li>
      <input id='c4' type='checkbox'>
      <label for='c4'>Menu 4</label>
    </li>
    <li>
      <input id='c5' type='checkbox'>
      <label for='c5'>Menu 5</label>
    </li>
    <li>
      <input id='c6' type='checkbox'>
      <label for='c6'>Menu 6</label>
    </li>
    <li>
      <input id='c7' type='checkbox'>
      <label for='c7'>Menu 7</label>
    </li>
    <li>
      <input id='c8' type='checkbox'>
      <label for='c8'>Menu 8</label>
    </li>
  </ul>
  <button>Click to toggle the menus</button>
</div>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script><script>var nbOptions = 8;
var angleStart = -5550;

// jquery rotate animation
function rotate(li,d) {
    $({d:angleStart}).animate({d:d}, {
        step: function(now) {
            $(li)
               .css({ transform: 'rotate('+now+'deg)' })
               .find('label')
                  .css({ transform: 'rotate('+(-now)+'deg)' });
				  
				  
        }, 
		
		duration: 500

    });
}
		setTimeout(function() { rotate(li,d); }, 10000);//@ sourceURL=pen.js

// show / hide the options
function toggleOptions(s) {
    $(s).toggleClass('open');
    var li = $(s).find('li');
	
    var deg = $(s).hasClass('half') ? 180/(li.length-1) : 360/li.length;

    for(var i=0; i<li.length; i++) {
        var d = $(s).hasClass('half') ? (i*deg)-90 : i*deg;
        $(s).hasClass('open') ? rotate(li[i],d) : rotate(li[i],angleStart);

    }
}

$('.selector button').click(function(e) {
    toggleOptions($(this).parent());
});
		setTimeout(function() { toggleOptions('.selector'); }, 100);//@ sourceURL=pen.js


</script>


</body>
</html>


how i can change it ,so that it rotated continual!!like a merry-go-round

thank you for reply

What I have tried:

i tested some function setTimeOut but they didn't work,
Posted
Updated 16-Mar-16 12:37pm
v3

1 solution

hi my friend,after that i worked on source i edited css and js code finally i created merry go round .please see my merry go round
the project is shared on my github account.
Best regards stackprogramer
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900