弗兰肯斯坦图像交换JavaScript需要整洁和可能的自动化
Frankenstein image swap JavaScript needs tidy and possible automation
我正在使用以下JavaScript。它工作正常,但它是从各种来源拼凑起来的一团糟。
- 我有一系列图像。
- 每个版本都有一个小版本 (1.gif) 和一个隐藏的、预加载的大版本 (_1.gif)。
- 单击小版本,大版本将替换它。
-
再次单击,它会换回:
var lastMove; lastMove = new Date(); function preload(arr) {for (var i=0; i<arr.length; i++) (new Image()).src = arr[i];} var index = 0; var picsA = ["1.gif", "_1.gif"]; preload(picsA); picNumberA = 0; function showNextPicA() {if (new Date() - lastMove < 200) return false; if (picNumberA == (picsA.length -1)) {picNumberA = 0;} else {picNumberA = picNumberA + 1;}document.getElementById('placeholderA').src = pics1[picNumberA];} var picsB = ["2.gif", "_2.gif"]; preload(picsB); picNumberB = 0; function showNextPicB() {if (new Date() - lastMove < 200) return false; if (picNumberB == (picsB.length -1)) {picNumberB = 0;} else {picNumberB = picNumberB + 1;}document.getElementById('placeholderB').src = picsB[picNumberB];}
-
等,页面上的每个图像都像这样:
<img src="1.gif" id="placeholderA" onclick="return showNextPicA();"/>
所以,首先:这种混乱是危险的还是不必要的,或者它很好?
第二:有没有办法自动化,以便任何图像文件在单击时都会交换到具有标准前缀(例如_)的版本,然后在再次单击时再次返回?
唷。感谢您的阅读!
如果你能够像jQuery一样使用sth,在onClick中为每个图像,把
showNextPic($(this))
然后
var prefix = "_";
showNextPic(imgelement) {
var src = imgelement.attr('src');
if(src.indexOf(prefix) == -1) {
src = prefix + src;
}
else {
// remove prefix from src
}
imgelement.attr('src', src);
}
相关文章:
- 如何使用offer/answer交换来自两个对等连接的流
- 如何使用jquery从下拉列表(javascript)中选择192.168.3.0进行测试自动化
- 错误:自动化服务器可以't创建对象
- 简单的ES6承诺问题-交换解决和拒绝参数
- 我可以通过JQuery将CSS类交换为一个特殊的元素集吗
- 简单的交换程序无法使用javascript
- 在表单OnChange中交换数字顺序
- 通过Javascript将HTML中的电话号码与URL参数进行交换
- Webscratching自动化如何在没有链接TAG的情况下模拟点击HREF链接
- 文件的节点自动化移动到另一个文件夹中
- 如何在UI自动化中捕获响应数据
- 用于交换两个变量的 JavaScript 函数
- 用于文件移动到另一个文件夹的Javascript自动化
- 用javascript交换img标记
- 使用jquery交换并保存背景颜色
- 使用javascript onclick下拉菜单进行图像交换
- 交换对象上两个属性的值
- 如何在Javascript中交换两个列表的子列表
- 用较大的图像交换缩略图
- 弗兰肯斯坦图像交换JavaScript需要整洁和可能的自动化