我正在学习Javascript。我已经达到了src
和alt
的目的。我得到了这个例子,但我不明白这个例子中有什么意义。有人可以解释一下吗? (第4和第5行)。为什么函数Change()在最后再次执行?(完整代码)
function Change() {
var first = document.getElementById('traffic');
var obj = list[next];
first.src = obj.src;
first.alt = obj.src;
timer = setTimeout(Change, obj.interval);
nextlight = nextlight + 1;
if (nextlight == list.length)
nextlight = 0;
}
完整代码:
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Code</h1>
<p>Traffic Light</p>
<img id="traffic" src="only red1.jpg">
<button type="button" onclick="Change()">Change Light</button>
<script>
var list = [{
src: "only red1.jpg",
interval: 10000
}, {
src: "red-yellow 2.jpg",
interval: 5000
}, {
src: "green3.jpg",
interval: 3000
}, {
src: "yellowonly4.jpg",
interval: 1000
}];
var next = 0;
var timer;
function Change() {
var first = document.getElementById('traffic');
var obj = list[next];
first.src = obj.src;
first.alt = obj.src;
timer = setTimeout(Change, obj.interval);
next = next + 1;
if (next == list.length)
next = 0;
}
Change();
</script>
</body>
</html>
所有帮助表示感谢,我只是想学习。
答案 0 :(得分:1)
import UIKit
import Auk
class SliderViewController: UIViewController, UIScrollViewDelegate {
@IBOutlet weak var scrollView: UIScrollView!
@IBOutlet weak var labelForInfo: UILabel!
@IBOutlet weak var navBarTitle: UINavigationItem!
var lastPoint: CGPoint?
var listForDescr: [Int : String] = [Int : String]()
func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {
lastPoint = scrollView.contentOffset
}
func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
if (lastPoint?.x)! < scrollView.contentOffset.x {
//print(scrollView.auk.currentPageIndex ?? 0)
navBarTitle.title = listForDescr[scrollView.auk.currentPageIndex ?? 0]
}
else if (lastPoint?.x)! > scrollView.contentOffset.x {
//print(scrollView.auk.currentPageIndex ?? 0)
navBarTitle.title = listForDescr[scrollView.auk.currentPageIndex ?? 0]
}
}
override func viewDidLoad() {
super.viewDidLoad()
self.scrollView.delegate = self
labelForInfo.text = ""
scrollView.backgroundColor = UIColor.white
var count: Int = 0
for picture in LogInViewController.dictionaryForSlider
{
scrollView.auk.show(url: picture.key, accessibilityLabel: picture.value)
listForDescr.updateValue(picture.value, forKey: count)
count+=1
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
包含obj
元素,因此分配给<img>
和obj.src
会更改图片显示的网址。如果你这样做
obj.alt
图像将显示绿灯。
该功能在最后执行,以便它进行第一次换灯,然后启动定时器,在几秒钟后再次更换它。
答案 1 :(得分:0)
如果要在显示所有灯光后停止迭代,则需要清除超时
timer = setTimeout(Change, obj.interval);
nextlight = nextlight + 1;
if (nextlight == list.length)
clearTimeout(timer);
}
关于src和alt的另一个问题
src:设置图像的来源 - 找到图像的路径
alt:设置替代文字,以防未找到图片或浏览器因某种原因无法显示。
答案 2 :(得分:0)
src是source的缩写。在这种情况下,它是存储在“列表”中的对象的对象属性,并指向图像。 Change函数迭代var列表,并使用列表中对象的不同图像源,即确保交通灯为红色,黄色和绿色。更改函数仅在结尾执行,它仅在之前声明。
答案 3 :(得分:0)
.src为您提供图像的路径/来源。 .alt提供备用文本(如果未找到图像,则显示此空间上的替代文本)