javascript - 在 JS 幻灯片中单击图像时转到其他 URL 和锚点
问题描述
我是网络编程的新手。我刚刚成功编写了(参考)一个 JS 幻灯片,但现在我想为幻灯片的每个图像添加一个 onclick 函数,以便在单击图像时,它会指向一个新的 URL 或锚点。
这是意图。单击幻灯片中的图像时:
- 转到新 URL(新浏览器窗口)
- 转到同一页面的锚点#(同一浏览器窗口)
- 转到另一个页面的锚点#(相同的浏览器窗口)
谷歌搜索结果我看到有太多的 JS 方法。而且我真的不知道在哪里以及在我的代码中添加什么(我试过了,但当然没有用)。document.getElementById(imageID).onclick或.href之类的方法使事情变得复杂。
我就是想看看有没有很简单的方法,不用花哨,只要几个代码就好了。我的代码如下:幻灯片仅使用头部和身体,如图所示:
//============这是我的 HTML 标头 (CSS):
<head>
<style id="compiled-css" type="text/css">
#image1 {
opacity:1;
transition: opacity 0.1s;
}
#image1.fadeOut {
opacity:0;
}
</style>
</head>
//============这是带有 JS 幻灯片代码的 HTML 正文:
<div>
<img id="image1" />
</div>
<script>
var imgArray = [
'http://my.image/imgs/slide1.jpg',
'http://my.image/imgs/slide2.jpg',
'http://my.image/imgs/slide3.jpg'],
curIndex = 0;
imgDuration = 3000;
function slideShow() {
document.getElementById('image1').className += "fadeOut";
setTimeout(function() {
document.getElementById('image1').src = imgArray[curIndex];
document.getElementById('image1').width = 530;
document.getElementById('image1').height = 400;
document.getElementById('image1').className = "";
},100);
curIndex++;
if (curIndex == imgArray.length) { curIndex = 0; }
setTimeout("slideShow()", imgDuration);
}
slideShow();
</script>
</body>
我真的不知道“转到 URL”应该在哪里。我想它必须在一个<script>
?我只希望在幻灯片中使用最简单的方法来执行“每个图像点击到 URL”功能。谢谢!
解决方案
最简单的事情可能是将每个img
标签包装在一个a
链接到正确 URL 的标签中。这部分不需要使用 JS。
<div>
<a href = "image1url">
<img id="image1"/>
</a>
</div>
推荐阅读
- acumatica - 升级后的自定义的用户字段未填充到网格中
- javascript - JavaScript 文件中使用的 TypeScript 模块的 Intellisense
- javascript - 无法使用 ajax 提交帖子请求
- reactjs - 如何使用 Firebase/Firestore 将 componentDidMound 和 componentWillUnmount 转换为 UseEffect (React Hooks)?
- c# - 关于未使用元组的 switch 表达式中的参数的 sonarlint 警告
- search - 获取列表中的所有颜色组合?
- r - R:将列表中每个<1的元素乘以10,直到元素> 1
- flutter - Flutter - 如何在屏幕中间的 WebView 内自动点击按钮?
- apache-kafka - 即使没有消费者,消费者群体仍陷入“再平衡”
- javascript - 为什么我的路由没有加载我的 React 组件?