javascript - 如何在 Bootstrap 中对表格应用轮播效果?

标签 javascript jquery html css twitter-bootstrap-3

我们可以通过向其添加表格响应类来使表格可滚动,但是我们如何循环它以便一旦循环结束,第一列将跟随最后一列,就好像它是相邻的列一样。 (当我们应用选取框时不会发生这种情况)

最佳答案

我不确定这是否是您要找的东西,但听起来是个不错的主意。这是我想出的“ table 上的旋转木马效果”(我想你是在问这个)。运行代码片段以查看效果。您可能需要稍微更改 css 以获得无缝滚动效果。

var $table = $('.table-wrapper table');

var leftTimeout, left = $('.left');

function scrollLeft(){
	$('.table-wrapper').scrollLeft($('.table-wrapper').scrollLeft()-50);
	$.each($table.find('tr'),function(){
		$(this).children().last().detach().prependTo(this);
	});
}

left.mousedown(function(){
	scrollLeft();
    leftTimeout = setInterval(function(){
    	scrollLeft();
    }, 500);

    return false;
});
$(document).mouseup(function(){
    clearInterval(leftTimeout);
    return false;
});

var rightTimeout, right = $('.right');

function scrollRight(){
	$('.table-wrapper').scrollLeft($('.table-wrapper').scrollLeft()+50);
	$.each($table.find('tr'),function(){
		$(this).children().first().detach().appendTo(this);
	});
}

right.mousedown(function(){
	scrollRight();
    leftTimeout = setInterval(function(){
    	scrollRight();
    }, 500);

    return false;
});
$(document).mouseup(function(){
    clearInterval(rightTimeout);
    return false;
});
.table-wrapper
{    	
    border: 1px solid red;
    width: 200px;
    height: 150px;        
    overflow:hidden;
}

table
{
    border: 1px solid black;
    margin-right: 20px;
}

td
{
    min-width: 50px;
    height: 20px;
    background-color: #ccc;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div class="table-wrapper">
    <table>
        <tr>
        	<th>1h</th>
            <th>2h</th>
            <th>3h</th>
            <th>4h</th>
            <th>5h</th>
            <th>6h</th>
            <th>7h</th>
            <th>8h</th>
            <th>9h</th>
        </tr>
        <tr>
            <td>1</td>
            <td>2</td>
            <td>3</td>
            <td>4</td>
            <td>5</td>
            <td>6</td>
            <td>7</td>
            <td>8</td>
            <td>9</td>
        </tr>
        <tr>
            <td>1</td>
            <td>2</td>
            <td>3</td>
            <td>4</td>
            <td>5</td>
            <td>6</td>
            <td>7</td>
            <td>8</td>
            <td>9</td>
        </tr>
        <tr>
            <td>1</td>
            <td>2</td>
            <td>3</td>
            <td>4</td>
            <td>5</td>
            <td>6</td>
            <td>7</td>
            <td>8</td>
            <td>9</td>
        </tr>
        <tr>
            <td>1</td>
            <td>2</td>
            <td>3</td>
            <td>4</td>
            <td>5</td>
            <td>6</td>
            <td>7</td>
            <td>8</td>
            <td>9</td>
        </tr>
    </table>      
</div>

<button class='left'><</button>
<button class='right'>></button>

关于javascript - 如何在 Bootstrap 中对表格应用轮播效果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38107303/

相关文章:

jquery - 您如何检测 div 光标的哪一侧来自(jQuery)?

javascript - Chart.js - 如何在悬停时禁用所有内容

python - 该 Selenium 元素的正确元素类型是什么?

html - 固定 div 相对于父 div 的位置为 'top'

javascript - 解析文本中的特殊字符串(例如 "%var%")?

javascript - 如何在堆栈布局中创建 slider

php - 如何在 javascript/jQuery 中调用文本函数?

javascript - 显示/隐藏 div 加载

javascript - 加载器未显示在 Angular js 中的 ajax 请求上

javascript - Modinizer 测试颜色输入类型是否可用