我虽然不懂Java,但是对HTML,CSS和JavaScript还是陌生的。
我想要一个我停下来的图片库,但是我唯一能编写的代码是在页面底部的容器中打开的。因此,我编码为使它更“专业”的是一些JavaScript函数,它们可以:首先将其打开,保存y位置,然后一直向下滚动,从而产生打开图像的错觉。之后,当您单击x时,它将向上滚动到x = 0和保存的y位置,并关闭窗口。
一切正常,但是y位置的变量仅保存为0。这是HTML代码调用它的部分:
<option <?php echo $selected?> value="<?php echo $row[0]; ?>"><?php echo $value;?></option>
以下是JavaScript函数:
<img src="image.jpg" alt="An Image" style="width:100%" onclick="myFunction(this);">`
最后,这是用于关闭并滚动到“窗口”的html代码:
var windowy;
function myFunction(imgs) {
var expandImg = document.getElementById("expandedImg");
var imgText = document.getElementById("imgtext");
expandImg.src = imgs.src;
imgText.innerHTML = imgs.alt;
expandImg.parentElement.style.display = "block";
windowy = window.screenY;
window.scrollBy(0, 999999999999999);
}
function quitall(imgs) {
imgs.parentElement.style.display='none';
window.scrollTo(0,windowy);
}
我对此并不陌生,所以如果您问我函数括号中的“ this”或“ imgs”是什么,我不知道。我只需要知道在声明变量时我在做什么。
答案 0 :(得分:0)
如果要捕获页面位置的滚动,我的建议是尝试window.pageYOffset
。
有关它的更多信息https://developer.mozilla.org/en-US/docs/Web/API/Window/pageYOffset
答案 1 :(得分:0)
似乎window.scrollBy(0, 999999999999999);
导致页面滚动到底部(实际上是999999999999999px)-您很可能打算滚动到新更新的expandImg元素的顶部。使用window.scrollTo(0,expandImg.offsetTop);
将窗口滚动到offsetTop的顶部。