JSFiddle - React, Tailwind, and code Playground
by danny8376
HTML
<div id="abgne-block-20110317">
<div class="abgne-player">
<ul class="abgne-list">
<li><a href="http://lbear.pixnet.net/blog/post/50448306" target="_top"><img src="https://googledrive.com/host/0BxWXwD7kbAvvSmVtQ0czUC1FeU0/08.jpg"></a>
</li>
<li><a href="http://lbear.pixnet.net/blog/post/50467989" target="_top"><img src="https://googledrive.com/host/0BxWXwD7kbAvvSmVtQ0czUC1FeU0/07.jpg"></a>
</li>
<li><a href="http://lbear.pixnet.net/blog/post/51072650" target="_top"><img src="https://googledrive.com/host/0BxWXwD7kbAvvSmVtQ0czUC1FeU0/06.jpg"></a>
</li>
<li><a href="http://lbear.pixnet.net/blog/post/51238360" target="_top"><img src="https://googledrive.com/host/0BxWXwD7kbAvvSmVtQ0czUC1FeU0/05.jpg"></a>
</li>
<li><a href="http://lbear.pixnet.net/blog/post/51854770" target="_top"><img src="https://googledrive.com/host/0BxWXwD7kbAvvSmVtQ0czUC1FeU0/04.jpg"></a>
</li>
<li><a href="http://lbear.pixnet.net/blog/post/51888090" target="_top"><img src="https://googledrive.com/host/0BxWXwD7kbAvvSmVtQ0czUC1FeU0/03.jpg"></a>
</li>
<li><a href="http://lbear.pixnet.net/blog/post/52017912" target="_top"><img src="https://googledrive.com/host/0BxWXwD7kbAvvSmVtQ0czUC1FeU0/02.jpg"></a>
</li>
<li><a href="http://lbear.pixnet.net/blog/post/52117548" target="_top"><img src="https://googledrive.com/host/0BxWXwD7kbAvvSmVtQ0czUC1FeU0/01.jpg"></a>
</li>
</ul>
</div>
<div class="abgne-control">
<ul class="arrows">
<li class="prev"><</li>
<li class="next">></li>
</ul>
</div>
</div>
<BR>
<p><span style="color: red; font-size: 12pt;">如果你是 Android 新手,請務必先看 <a title="阿公阿嫲都學得會怎麼用 Android" href="http://lbear.pixnet.net/blog/post/49854606"
target="_blank">阿公阿嫲都學得會怎麼用 Android</a> </span>
<br>
<hr>
<span style="color:...
CSS
ul, li {
padding: 0;
margin: 0;
list-style: none;
}
#abgne-block-20110317 {
width: 580px;
/* 圖片的寬 */
height: 308px;
/* 圖片的高 + 30 */
border: 10px solid #ddd;
}
.abgne-player {
width: 580px;
/* 圖片的寬 */
height: 280px;
/* 圖片的高 */
position: relative;
overflow: hidden;
}
.abgne-player ul.abgne-list {
position: absolute;
width: 9999px;
height: 100%;
}
.abgne-player ul.abgne-list li {
float: left;
width: 580px;
/* 圖片的寬 */
height: 100%;
}
.abgne-player ul.abgne-list img {
width: 100%;
height: 100%;
border: 0;
}
.abgne-control {
height: 24px;
padding: 3px;
color: #fff;
font-size: 13px;
background: #333;
}
.abgne-control ul {
float: left;
}
.abgne-control ul li {
float: left;
padding: 0 5px;
line-height: 20px;
margin: 2px;
background: #666;
cursor: pointer;
}
.abgne-control ul.numbers {
margin-left: 13px;
}
.abgne-control ul li.current {
background: #fff;
color:#000;
}
.abgne-control ul li.hover {
background: #fff;
color:#000;
}
JavaScript
$(function () {
// 先取得必要的元素並用 jQuery 包裝
// 再來取得 $block 的高度及設定動畫時間
var $block = $('#abgne-block-20110317'),
$slides = $block.find('ul.abgne-list'),
_width = $block.width(),
$li = $slides.find('li'),
$control = $block.find('.abgne-control'),
_animateSpeed = 600,
// 加入計時器, 輪播時間及控制開關
timer, _showSpeed = 4000,
_stop = false;
/* 後續輪播時確認最後一個用的 */
var slides_len = $slides.children().length;
// 設定 $slides 的寬(為了不讓 li 往下擠)
$slides.css('width', ($li.length + 1) * _width);
// 產生 li 選項
var _str = '';
for (var i = 0, j = $li.length; i < j; i++) {
// 每一個 li 都有自己的 className = playerControl_號碼
_str += '<li class="abgne-player-control_' + (i + 1) + '">' + (i + 1) + '</li>';
}
// 產生 ul 並把 li 選項加到其中
var $number = $('<ul class="numbers"></ul>').html(_str).appendTo($control),
$numberLi = $number.find('li');
/* 為達成不回滾的效果 所以這邊把第一個複製一份到最後面來做準備
讓他能繼續向右輪播 並且結束時跳到第一個 來製造無回滾的錯覺 */
$slides.append($slides.children().first().clone());
// 並幫 .numbers li 加上 click 事件
$numberLi.click(function () {
var $this = $(this);
$this.addClass('current').siblings('.current').removeClass('current');
clearTimeout(timer);
// 移動位置到相對應的號碼
/*
$slides.stop().animate({
left: _width * $this.index() * -1
}, _animateSpeed, function () {
// 當廣告移動到正確位置後, 依判斷來啟動計時器
if (!_stop) timer = setTimeout(move, _showSpeed);
});
*/
/* 實際修改輪播效果 */
var slide_idx = $this.index();
$slides.stop().animate({
/* 當要滾到第一個的時候改成滾到新增的那個假的複製品(? */
left: _width * (slide_idx == 0 ? slides_len :...