0
我有一張桌子上有很多物品。要查看這些項目,我必須從左向右滾動。現在我想滾動一個特定的項目。但我希望項目顯示在表格可見部分的中間。JS滾動到元素在視口中間
我試圖讓項目的左側和寬度的一半得到中間,並滾動到該點。但那並沒有奏效。所以我試圖添加表格的一半寬度。這也沒有奏效。有趣的是,如果我改變網站的寬度,它會滾動到可見部分的不同位置。
我創造了我的問題的短期和很好的例子:
var dummy = $(".dummy").clone();
for (var i = 0; i < 300; i++){
\t var item = dummy.clone();
\t if (i == 123)
\t \t item.addClass("scrollTo");
\t $("tr").append(item);
}
$(document).ready(function() {
\t var scrollToElement = $(".scrollTo");
\t var scrollToElementFullWidthTillMiddle = scrollToElement.offset().left + (scrollToElement.width()/2);
\t var scrollTo = scrollToElementFullWidthTillMiddle + ($(".wrapper").width()/2);
\t $(".wrapper")[0].scrollLeft = scrollTo;
});
body{
\t width: 800px;
}
.wrapper{
\t overflow-x: auto;
\t width: calc(100% - 180px);
\t margin-left: 180px;
}
table{
\t table-layout: fixed;
}
td{
\t width: 10px;
\t height: 10px;
}
td:nth-child(2n){
\t background: gray;
}
td div{
\t width: inherit;
\t height: inherit;
}
.scrollTo{
\t background: red;
}
<!DOCTYPE html>
<html lang="en">
<head>
\t <meta charset="UTF-8">
\t <title>Title</title>
\t <script src="https://code.jquery.com/jquery-2.2.2.min.js"></script>
</head>
<body>
\t <div class="wrapper">
\t \t <table>
\t \t \t <tr>
\t \t \t \t <td class="dummy"><div></div></td>
\t \t \t </tr>
\t \t </table>
\t </div>
</body>
</html>
有沒有簡單的方法來滾動幾個像素?因爲我有這個理論,它不使用像素進行滾動。