JSFiddle - React, Tailwind, and code Playground

by secretgspot

HTML

<h1>HTML5 + CSS3 CD</h1>
<p>web-kitの先行実装のCSS3を使っています。<br />ChromeかSafariでご覧ください。<br />
クリックすると音がでます。</p>
<section class="conBox">
<h2>Favorite Music</h2>

<ul id="musicLog">
</ul>
<footer class="entryFooter">
<p class="more"><a href="http://booklog.jp/users/pino7x/Music">Powered by Booklog</a></p>
</footer>
</section>

<!--/ #subSet-->
<aside id="subSet" class="clearFix">

<audio id="audio1"><!--/controls-->
  <source src="http://panda-space.com/mp3/test001.mp3" />
  <p>HTML5 Audio 非対応ブラウザ</p>
</audio>

<!--/ #subSet --></aside>

CSS

h1{
  margin:10px;
  font-size:138%;
}
p,h2{
  margin:10px;
  font-size:108%;
}

/*======Start Book And Music Logs==============*/
#musicLog{
  padding:0px 0px 0px 24px;
  height:220px;
}

#musicLog li{
  float:left;
  margin:0px 20px 20px 0px;
  
  width:75px;
  height:75px;
  
  -webkit-box-shadow: 0 3px 6px rgba(0,0,0, .5);
     -moz-box-shadow: 0 3px 6px rgba(0,0,0, .5);
          box-shadow: 0 3px 6px rgba(0,0,0, .5);
  
  -webkit-border-radius: 38px;
     -moz-border-radius: 38px;
        border-radius: 38px;
}


#musicLog li a {
  display:block;
  width:75px;
  height:75px;
  
  -webkit-border-radius: 38px;
     -moz-border-radius: 38px;
        border-radius: 38px;
      
  -webkit-transform-origin: 50% 50%;
       -o-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
  
  overflow:hidden;
  
  -webkit-transition: all 40s ease-in-out;
     -moz-transition: all 40s ease-in-out;
       -o-transition: all 40s ease-in-out;
          transition: all 40s ease-in-out;

}
#musicLog li a:hover {
  //-webkit-transform: translate(0px, 0px) scale(1) rotate(10800deg);  
}
#musicLog li a.select{
  -webkit-transform: translate(0px, 0px) scale(1) rotate(108000deg);
   -moz-transform: translate(0px, 0px) scale(1) rotate(108000deg);
       -o-transform: translate(0px, 0px) scale(1) rotate(108000deg); 
          transform: translate(0px, 0px) scale(1) rotate(108000deg); 
}

#musicLog li a>div{
  margin:30px auto;
  width:14px;
  height:14px;
  background-color:#FFFFFF;
  -webkit-border-radius: 7px;
     -moz-border-radius: 7px;
      border-radius: 7px;
  -webkit-box-shadow:inset 0 0px 2px rgba(0,0,0, .5);
     -moz-box-shadow:inset 0 0px 2px rgba(0,0,0, .5);
          box-shadow:inset 0 0px 2px rgba(0,0,0, .5);
  
}

.entryFooter{
  clear:both;
}
/*======End Book And Music Logs  ==============*/

JavaScript

$(document).ready(function(){
  
  var miuscLogList = $('ul#musicLog');
  
  function setLogs(json, catalog){
     var targetList = (catalog === 'Books') ? bookLogList : miuscLogList;
     var _Count = 0;
     for (var i=0; i<json.books.length; i++){
      
      if(json.books[i].catalog === catalog){
        
        _Count += 1;
        
        var _Url = json.books[i].url, _Title = json.books[i].title, _Author = json.books[i].author, _Img = json.books[i].image;

        targetList.append(
          $('<li/>',{'class':(catalog === 'Books') ? 'bL' : 'mL'})
          .append($('<a/>',{
              'title' : _Title + ':' + _Author,
              'target' : '_blank'
              }).css({'background-image':'url(' + _Img + ')'})
                  .append($('<div />', {'id':'svg-circle' + i}))
            )
          );
        
        if(_Count > 8) return false;
      }
    }
  }
  
  function loadBL(){
    $.ajax({
      type: "GET",
      url: "http://api.booklog.jp/json/pino7x",
      dataType: "jsonp",
      data: { 
      "count"  : 50, 
      "status" : 0
      },
      success: function(json){
        setLogs(json, 'Music');
      }
    });
  }
  
  miuscLogList.find('a').live('click',function(){
    if($(this).attr('class').indexOf('select') > -1){
      musicPause();
      $(this).removeClass('select');
      replaceList($(this).parent());
      
    }else{
      musicPlay();
      $(this).addClass('select');
    }
  });
  

  
  //力技の処理なので、何か良い方法があれば、、、
  function replaceList(repObj){
    var _Index = repObj.index();
    var _CLONE = repObj.clone();
    if(_Index === 0){//=============first Obj
      var _After = repObj.next();
      repObj.remove();
      _After.before(_CLONE);
    
    }else{//========================other Obj
      var _Before = repObj.prev();
      repObj.remove();
      _Before.after(_CLONE);
    }
  }
  
  
  var audioObj = document.getElementById("audio1");
  var masterVol = audioObj.volume;

  function musicPlay(){
   ...