无法获得滚动按钮 div`s 溢出与 js
Cant get a button to scroll div`s overflow with js
我一直在努力让按钮正常工作,在来这里提问之前我已经尝试了所有我能想到的方法。我想要做的是让 div 左边和右边的按钮溢出,滚动它。
我对网络前端比较陌生,刚刚学习 CSS & HTML。
我也真的需要它保持 css 网格格式,因为它只是我正在尝试做的网站的一个块。另外,如果可能,请以 codepen's/snippets 的形式给出答案。我已经尝试分配插入和粘贴 js 但没有结果。我知道这也可以通过插件或框架来实现。然而,为了学习,理解它为什么不起作用对我来说很重要:)
这是我的代码笔尝试:
function scrolll() {
var elmnt = document.getElementByClassName("scnd");
elmnt.scrollLeft += 50;
}
body {
min-width: 200px;
/* solution for img overflow */
border: 3px solid black;
}
.wrapper {
border: 3px solid red;
display: grid;
margin: 5%;
}
.box {
grid-row-gap: 0.3em;
display: grid;
justify-self: center;
grid-template-rows: 50% 25%;
grid-template-columns: 1fr 7fr 1fr;
}
.box div {
border: 1px solid blue;
max-width: 800px;
}
.box .frst {
text-align: center;
display: block;
grid-column-start: 2;
}
.box .frst img {
display: block;
margin: auto;
max-width: 100%;
}
.scnd {
display: grid;
grid-template-columns: repeat(8, 1fr);
grid-gap: 2px;
overflow: auto;
grid-column-start: 2;
}
.thumb {
width: 100%;
text-align: center;
}
.thumb img {
max-height: 10vw;
}
#left {
grid-column-start: 1;
}
#right {
grid-column-start: 3;
}
<div class="content">
<div class="wrapper">
<div class="box">
<div class="frst">
<img src="https://picsum.photos/800/500/?random">
</div>
<button id="left" onclick="scrolll()"><</button>
<div class="scnd">
<div class="thumb">
<a href "#"><img src="https://picsum.photos/175/100/?random"></a>
</div>
<div class="thumb">
<a href "#"><img src="https://picsum.photos/175/100/?random"></a>
</div>
<div class="thumb">
<a href "#"><img src="https://picsum.photos/175/100/?random"></a>
</div>
<div class="thumb">
<a href "#"><img src="https://picsum.photos/175/100/?random"></a>
</div>
<div class="thumb">
<a href "#"><img src="https://picsum.photos/175/100/?random"></a>
</div>
<div class="thumb">
<a href "#"><img src="https://picsum.photos/175/100/?random"></a>
</div>
<div class="thumb">
<a href "#"><img src="https://picsum.photos/175/100/?random"></a>
</div>
<div class="thumb">
<a href "#"><img src="https://picsum.photos/175/100/?random"></a>
</div>
</div>
<button id="right">></button>
</div>
</div>
</div>
p.s。请给一些时间来加载图像。
这是要求的fiddle:
https://jsfiddle.net/52n8tsvb/
var scrolll = function() {
var elmnt = document.getElementsByClassName("scnd")[0];
elmnt.scrollLeft += 50;
}
问题是您拼错了 document.getElementsByClassName,并将输出视为 document.getElementByID,document.getElementsByClassName 总是 returns HTMLCollection,您可以将其视为数组。
我在你的代码中看到了一些语法错误..休息它工作正常
函数 scrolll() {
var elmnt = document.getElementsByClassName
("scnd")[0];
elmnt.scrollLeft += 50;
}
我试过codepen。这是 link
https://codepen.io/shivani137/pen/GdzaxJ?editors=1010
我一直在努力让按钮正常工作,在来这里提问之前我已经尝试了所有我能想到的方法。我想要做的是让 div 左边和右边的按钮溢出,滚动它。 我对网络前端比较陌生,刚刚学习 CSS & HTML。 我也真的需要它保持 css 网格格式,因为它只是我正在尝试做的网站的一个块。另外,如果可能,请以 codepen's/snippets 的形式给出答案。我已经尝试分配插入和粘贴 js 但没有结果。我知道这也可以通过插件或框架来实现。然而,为了学习,理解它为什么不起作用对我来说很重要:)
这是我的代码笔尝试:
function scrolll() {
var elmnt = document.getElementByClassName("scnd");
elmnt.scrollLeft += 50;
}
body {
min-width: 200px;
/* solution for img overflow */
border: 3px solid black;
}
.wrapper {
border: 3px solid red;
display: grid;
margin: 5%;
}
.box {
grid-row-gap: 0.3em;
display: grid;
justify-self: center;
grid-template-rows: 50% 25%;
grid-template-columns: 1fr 7fr 1fr;
}
.box div {
border: 1px solid blue;
max-width: 800px;
}
.box .frst {
text-align: center;
display: block;
grid-column-start: 2;
}
.box .frst img {
display: block;
margin: auto;
max-width: 100%;
}
.scnd {
display: grid;
grid-template-columns: repeat(8, 1fr);
grid-gap: 2px;
overflow: auto;
grid-column-start: 2;
}
.thumb {
width: 100%;
text-align: center;
}
.thumb img {
max-height: 10vw;
}
#left {
grid-column-start: 1;
}
#right {
grid-column-start: 3;
}
<div class="content">
<div class="wrapper">
<div class="box">
<div class="frst">
<img src="https://picsum.photos/800/500/?random">
</div>
<button id="left" onclick="scrolll()"><</button>
<div class="scnd">
<div class="thumb">
<a href "#"><img src="https://picsum.photos/175/100/?random"></a>
</div>
<div class="thumb">
<a href "#"><img src="https://picsum.photos/175/100/?random"></a>
</div>
<div class="thumb">
<a href "#"><img src="https://picsum.photos/175/100/?random"></a>
</div>
<div class="thumb">
<a href "#"><img src="https://picsum.photos/175/100/?random"></a>
</div>
<div class="thumb">
<a href "#"><img src="https://picsum.photos/175/100/?random"></a>
</div>
<div class="thumb">
<a href "#"><img src="https://picsum.photos/175/100/?random"></a>
</div>
<div class="thumb">
<a href "#"><img src="https://picsum.photos/175/100/?random"></a>
</div>
<div class="thumb">
<a href "#"><img src="https://picsum.photos/175/100/?random"></a>
</div>
</div>
<button id="right">></button>
</div>
</div>
</div>
p.s。请给一些时间来加载图像。
这是要求的fiddle: https://jsfiddle.net/52n8tsvb/
var scrolll = function() {
var elmnt = document.getElementsByClassName("scnd")[0];
elmnt.scrollLeft += 50;
}
问题是您拼错了 document.getElementsByClassName,并将输出视为 document.getElementByID,document.getElementsByClassName 总是 returns HTMLCollection,您可以将其视为数组。
我在你的代码中看到了一些语法错误..休息它工作正常
函数 scrolll() {
var elmnt = document.getElementsByClassName
("scnd")[0];
elmnt.scrollLeft += 50; }
我试过codepen。这是 link https://codepen.io/shivani137/pen/GdzaxJ?editors=1010