javascript - 图像 src 不使用 javascript 更改
问题描述
我已经为 CSS 中的选取框效果编写了这段代码,现在我正在使用 javascript 来更改图像,但即使代码正确,它也无法正常工作。请让我知道是什么问题。
我已经尝试了所有可能的代码以及代码的重新排列,但没有成功。
HTML 文件
<!DOCTYPE html>
<html>
<head>
<title>Marquee Effect</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,
initial-scale=1">
<link rel="stylesheet"
href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/b
ootstrap.min.css">
<link rel="stylesheet" type="text/css"
href="main.css">
</head>
<body>
<div class="marquee">
<img src = "2.jpg" class="img-responsive">
</div>
<script type="text/javascript">
function myTimer() {
var divtag = document.getElementByClass("marquee");
divtag.getElementByClass("img-responsive").src =
"3.jpg";
}
var fun = setInterval(myTimer, 12500);
</script>
</body>
</html>
css 文件
@-webkit-keyframes scroll{
0% {
-webkit-transform: translate(0,-120%);
}
50%{
-webkit-transform: translate(0,50%);
-webkit-transition-delay(1);
}
100% {
-webkit-transform: translate(0,245%);
}
}
.marquee{
width:100%;
height:100%;
overflow: hidden;
}
.marquee img{
float: right;
width:40%;
height:40%;
position: relative;
-webkit-animation:scroll 12s infinite linear;
opacity: 0.7;
}
html, body{
width:100%;
height:100%;
background-color: black;
overflow:hidden;
}
帮我
解决方案
如果您在浏览器中打开开发人员工具 (F12),您将看到重复出现以下错误消息:
Uncaught TypeError: document.getElementByClass is not a function at myTimer
简单地说,getElementByClass
是一个不存在的功能。对象上有一个可以使用的getElementsByClassName
功能。document
但是,我建议使用document.querySelector
使用 CSS 语法的函数来选择您想要的元素。它返回单个元素节点。如果您需要对多个元素进行操作,则使用其对应的document.querySelectorAll
函数,该函数将返回元素节点的集合。
因此,这是您可以在myTimer
函数中使用的代码:
document.querySelector(".marquee .img-responsive").src="3.jpg"
推荐阅读
- javascript - 如何使用按钮停止和继续功能?
- haskell - 是 ha 句柄还是 lambda 函数(或两者)?
- azure - 如何在 Azure Maps 中绘制圆形路径?
- java - 我的 Connect Four 游戏在运行时返回完整
- php - 使用密钥在 Swift 应用程序和 MySQL 数据库之间建立安全连接?
- python - Python 3:根据缓冲将二进制文件写入标准输出
- php - laravel-query-grouByMonth-groupByYear-sumdata
- java - Mockito:如何对 void 方法 java mockito 进行单元测试?
- anypoint-studio - 全局函数在预览中有效,但在运行代码时失败
- c# - 为什么 WslApi 在 WPF 应用程序中突然停止工作