我肯定还在学习 Javascript,所以如果这是一个非常基本的问题,请原谅我。
我正在尝试将图像 URL 列表旋转到 href 中。所有的 URL 中都有问号,因为 URL 被传递到 Web 服务以详细说明有关图像的细节变量。在标题中,我将 php $imgArr 分解为单独的 javascript Image 对象 .src 值。到目前为止一切正常。
图片网址 例如:http://webservices.ashx?size=25
<script type="text/javascript">
<!--
var step = 1;
var timeOut;
function playforward() {
if (!document.images) return
alert(eval("image" + step + ".src"));
document.images.slideleft.src = eval("image" + step + ".src")
if (step < <?php echo count($imgArr); ?> ) step++
else step = 1
timeOut = setTimeout("playforward()", 500)
}
function stopPlay() {
clearTimeout(timeOut);
}
//-->
</script>
在上面的代码中,我有一个基本图像名称的警报,其中 step 变量循环显示图像编号。当弹出警报框时,图像 URL 是正确的,但是当我取出警报框并运行页面时,图像错误,并且属性显示问号后的所有内容都被删除。
我知道 eval 不是一个很好的解决方案,但我不知道更好的解决方案。有人有什么建议吗?
编辑:
根据请求,这里是我用来创建图像变量的代码。此代码在 Codeigniter 控制器中被调用并传递给文档标题。我不相信这会有很大的帮助,但它是:
for($i = 0; $i < count($imgArr); $i++)
{
$urlPieces = explode('?', $imgArr[$i]);
$num = $i+1;
$images .= 'var image'. $num .'=new Image()
imageleft'. $num .'.src="'.$urlPieces[0].'" + "?" + "'.$urlPieces[1].'"; ';
}