Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
弗兰肯斯坦图像交换JavaScript需要整洁和可能的自动化_Javascript_Image_Automation_Swap_Preload - Fatal编程技术网

弗兰肯斯坦图像交换JavaScript需要整洁和可能的自动化

弗兰肯斯坦图像交换JavaScript需要整洁和可能的自动化,javascript,image,automation,swap,preload,Javascript,Image,Automation,Swap,Preload,我正在使用以下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

我正在使用以下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之类的工具,请在每个图像的onClick中

showNextPic($(this))
然后


如果您能够使用jQuery之类的工具,请在每个图像的onClick中

showNextPic($(this))
然后


谢谢那看起来更干净!但我无法让它运行。。。我有这样一个:var prefix=\ux;showNextPicimgelement{var src=imgelement.attr'src';ifsrc.indexOfprefix==-1{src=prefix+src;}否则{//remove prefix from src}imgelement.attr'src',src;}那么这个:没有响应。还有一种方法可以滑动预加载吗?您确定jquery已经加载了吗?检查firebug等是否存在错误。单击一次后检查图像的src,查看是否已更改。我认为jQuery的loaded-Chrome告诉我UncaughtReferenceError:imgelement没有定义,这可能是个问题吗?对不起,如果你还不知道的话,我真的不知道!您需要将函数showNextPicimElement替换为showNextPicimElement嘿,谢谢!这会在第一次单击时交换图像,但在第二次单击时不会变回无前缀版本。。。var前缀=389;;函数showNextPicimgelement{var src=imgelement.attr'src';ifsrc.indexOfprefix==-1{src=prefix+src;}否则{//从src移除前缀}imgelement.attr'src',src;}谢谢!那看起来更干净!但我无法让它运行。。。我有这样一个:var prefix=\ux;showNextPicimgelement{var src=imgelement.attr'src';ifsrc.indexOfprefix==-1{src=prefix+src;}否则{//remove prefix from src}imgelement.attr'src',src;}那么这个:没有响应。还有一种方法可以滑动预加载吗?您确定jquery已经加载了吗?检查firebug等是否存在错误。单击一次后检查图像的src,查看是否已更改。我认为jQuery的loaded-Chrome告诉我UncaughtReferenceError:imgelement没有定义,这可能是个问题吗?对不起,如果你还不知道的话,我真的不知道!您需要将函数showNextPicimElement替换为showNextPicimElement嘿,谢谢!这会在第一次单击时交换图像,但在第二次单击时不会变回无前缀版本。。。var前缀=389;;函数showNextPicimgelement{var src=imgelement.attr'src';ifsrc.indexOfprefix==-1{src=prefix+src;}否则{//从src移除前缀}imgelement.attr'src',src;}