サムネイル付きスライド
色んな所をjQueryで書き換えた版
<!DOCTYPE html> <html lang="js"> <head> <meta charset="UTF-8"> <title>いろいろな場所をjqueryで指定</title> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> <script src="js/jquery.bxslider.min.js"></script> <link rel="stylesheet" href="css/jquery.bxslider.css"> <link rel="stylesheet" href="css/style.css"> <script> $(document).ready(function(){ $('.bxslider').bxSlider({ pagerCustom: '#bx-pager' }); // これをつけると無限ループにはならない(5枚目から1枚目に逆戻りする) $('.bxslider').bxSlider({ moveSlides: 1, pager: true, minSlides: 10,//1スライド内のサムネイルの数 maxSlides: 1,//1スライド内のサムネイルの最大数 controls: true,//前後のコントロールを追加するかどうかの設定 // nextSelector: "#feed-next-btn", // prevSelector: "#feed-prev-btn", }); // サムネイルの挿入 var kazu = $('ul.bxslider li').length; console.log(kazu); for(var i=1; i<=kazu; i++){ $('#bx-pager ul').append('<li><a data-slide-index="" href=""><img src="" /></a></li>'); } // img属性の取得 var thum01 = $('ul.bxslider li:eq(0) img').attr('src'); var thum02 = $('ul.bxslider li:eq(1) img').attr('src'); var thum03 = $('ul.bxslider li:eq(2) img').attr('src'); var thum04 = $('ul.bxslider li:eq(3) img').attr('src'); var thum05 = $('ul.bxslider li:eq(4) img').attr('src'); console.log(thum01); console.log(thum02); console.log(thum03); console.log(thum04); console.log(thum05); $('#bx-pager ul li:eq(0) img').attr('src',thum01); $('#bx-pager ul li:eq(1) img').attr('src',thum02); $('#bx-pager ul li:eq(2) img').attr('src',thum03); $('#bx-pager ul li:eq(3) img').attr('src',thum04); $('#bx-pager ul li:eq(4) img').attr('src',thum05); // カスタムデータ属性の順番号 var num01 = $('ul.bxslider li:eq(0)').index(); var num02 = $('ul.bxslider li:eq(1)').index(); var num03 = $('ul.bxslider li:eq(2)').index(); var num04 = $('ul.bxslider li:eq(3)').index(); var num05 = $('ul.bxslider li:eq(4)').index(); console.log(num01); console.log(num02); console.log(num03); console.log(num04); console.log(num05); $('#bx-pager ul li:eq(0) a').attr('data-slide-index',num01); $('#bx-pager ul li:eq(1) a').attr('data-slide-index',num02); $('#bx-pager ul li:eq(2) a').attr('data-slide-index',num03); $('#bx-pager ul li:eq(3) a').attr('data-slide-index',num04); $('#bx-pager ul li:eq(4) a').attr('data-slide-index',num05); }); </script> </head> <body> <div id="container"> <div class="left"> <ul class="bxslider"> <li><a href="/p/H9079/item/H90792001291382.html"><img src="img/styling01.jpg"/></a></li> <li><a href="/p/H9079/item/H90792001291382.html"><img src="img/styling02.jpg"/></a></li> <li><a href="/p/H9079/item/H90792001291382.html"><img src="img/styling03.jpg"/></a></li> <li><a href="/p/H9079/item/H90792001291382.html"><img src="img/styling04.jpg"/></a></li> <li><a href="/p/H9079/item/H90792001291382.html"><img src="img/styling05.jpg"/></a></li> </ul> </div><!-- .left --> <div class="right"> <div id="bx-pager"> <ul> </ul> </div> </div><!-- .right --> </div><!-- #container --> </body> </html>
HTML
<!DOCTYPE html> <html lang="js"> <head> <meta charset="UTF-8"> <title>Document</title> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> <script src="js/jquery.bxslider.min.js"></script> <link rel="stylesheet" href="css/jquery.bxslider.css"> <link rel="stylesheet" href="css/style.css"> <script> $(document).ready(function(){ $('.bxslider').bxSlider({ pagerCustom: '#bx-pager' }); // これをつけると無限ループにはならない(5枚目から1枚目に逆戻りする) $('.bxslider').bxSlider({ moveSlides: 1, pager: true, minSlides: 10,//1スライド内のサムネイルの数 maxSlides: 1,//1スライド内のサムネイルの最大数 controls: true,//前後のコントロールを追加するかどうかの設定 // nextSelector: "#feed-next-btn", // prevSelector: "#feed-prev-btn", }); }); </script> </head> <body> <div id="container"> <div class="left"> <ul class="bxslider"> <li><img src="img/styling01.jpg" /></li> <li><img src="img/styling02.jpg" /></li> <li><img src="img/styling03.jpg" /></li> <li><img src="img/styling04.jpg" /></li> <li><img src="img/styling05.jpg" /></li> </ul> </div><!-- .left --> <div class="right"> <div id="bx-pager"> <ul> <li><a data-slide-index="0" href=""><img src="img/styling01.jpg" /></a></li> <li><a data-slide-index="1" href=""><img src="img/styling02.jpg" /></a></li> <li><a data-slide-index="2" href=""><img src="img/styling03.jpg" /></a></li> <li><a data-slide-index="3" href=""><img src="img/styling03.jpg" /></a></li> <li><a data-slide-index="4" href=""><img src="img/styling03.jpg" /></a></li> </ul> </div> </div><!-- .right --> </div><!-- #container --> </body> </html>
*{margin:0; padding:0;} li{list-style:none;} #container{width:1100px; margin:0 auto; position:relative;} #container img{width:100%;} #container div.left{width:505px; float:left;} #container div.right{width:500px; position:absolute; right:0; top:200px;} #container div.right ul{letter-spacing: -0.40em;} #container div.right ul li{width:30%; margin:20px 1.6%; display:inline-block;}
bxslider CSS
/** * BxSlider v4.1.2 - Fully loaded, responsive content slider * http://bxslider.com * * Written by: Steven Wanderski, 2014 * http://stevenwanderski.com * (while drinking Belgian ales and listening to jazz) * * CEO and founder of bxCreative, LTD * http://bxcreative.com */ /** RESET AND LAYOUT ===================================*/ .bx-wrapper { position: relative; margin: 0 auto 60px; padding: 0; *zoom: 1; } .bx-wrapper img { max-width: 100%; display: block; } /** THEME ===================================*/ .bx-wrapper .bx-viewport { // -moz-box-shadow: 0 0 5px #ccc; // -webkit-box-shadow: 0 0 5px #ccc; // box-shadow: 0 0 5px #ccc; // border: 5px solid #fff; // left: -5px; // background: #fff; /*fix other elements on the page moving (on Chrome)*/ -webkit-transform: translatez(0); -moz-transform: translatez(0); -ms-transform: translatez(0); -o-transform: translatez(0); transform: translatez(0); } .bx-wrapper .bx-pager, .bx-wrapper .bx-controls-auto { position: absolute; bottom: -30px; width: 100%; } /* LOADER */ .bx-wrapper .bx-loading { min-height: 50px; background: url(img/bx_loader.gif) center center no-repeat #fff; height: 100%; width: 100%; position: absolute; top: 0; left: 0; z-index: 2000; } /* PAGER */ .bx-wrapper .bx-pager { text-align: center; font-size: .85em; font-family: Arial; font-weight: bold; color: #666; padding-top: 20px; } .bx-wrapper .bx-pager .bx-pager-item, .bx-wrapper .bx-controls-auto .bx-controls-auto-item { display: inline-block; *zoom: 1; *display: inline; } .bx-wrapper .bx-pager.bx-default-pager a { background: #666; text-indent: -9999px; display: block; width: 10px; height: 10px; margin: 0 5px; outline: 0; -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; } .bx-wrapper .bx-pager.bx-default-pager a:hover, .bx-wrapper .bx-pager.bx-default-pager a.active { background: #000; } /* DIRECTION CONTROLS (NEXT / PREV) */ // .bx-wrapper .bx-prev { // left: 10px; // background: url(../img/controls.png) no-repeat 0 -32px; // } .bx-wrapper .bx-next { right: 10px; background: url(../img/controls.png) no-repeat -43px -32px; } .bx-wrapper .bx-prev:hover { background-position: 0 0; } .bx-wrapper .bx-next:hover { background-position: -43px 0; } .bx-wrapper .bx-controls-direction a { position: absolute; top: 50%; margin-top: -16px; outline: 0; width: 32px; height: 32px; text-indent: -9999px; z-index: 9999; } .bx-wrapper .bx-controls-direction a.disabled { display: none; } /* AUTO CONTROLS (START / STOP) */ .bx-wrapper .bx-controls-auto { text-align: center; } .bx-wrapper .bx-controls-auto .bx-start { display: block; text-indent: -9999px; width: 10px; height: 11px; outline: 0; background: url(img/controls.png) -86px -11px no-repeat; margin: 0 3px; } .bx-wrapper .bx-controls-auto .bx-start:hover, .bx-wrapper .bx-controls-auto .bx-start.active { background-position: -86px 0; } .bx-wrapper .bx-controls-auto .bx-stop { display: block; text-indent: -9999px; width: 9px; height: 11px; outline: 0; background: url(img/controls.png) -86px -44px no-repeat; margin: 0 3px; } .bx-wrapper .bx-controls-auto .bx-stop:hover, .bx-wrapper .bx-controls-auto .bx-stop.active { background-position: -86px -33px; } /* PAGER WITH AUTO-CONTROLS HYBRID LAYOUT */ .bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-pager { text-align: left; width: 80%; } .bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-controls-auto { right: 0; width: 35px; } /* IMAGE CAPTIONS */ .bx-wrapper .bx-caption { position: absolute; bottom: 0; left: 0; background: #666\9; background: rgba(80, 80, 80, 0.75); width: 100%; } .bx-wrapper .bx-caption span { color: #fff; font-family: Arial; display: block; font-size: .85em; padding: 10px; }
JS
HTML