我正忙着一个项目,但知道我已经陷入困境了。我想要做的是,当有人按下主页按钮时,它会改变颜色。我想要做的是从图像1(白色)到图像2(蓝色)的交换。所以这个人可以看到他/她在哪个页面上。但是,当我将此代码放入网站时,它不会显示任何内容。当我按下2次时,它将显示蓝色图像。当我按下很多次,你会看到白色和蓝色的图像交换。但它不会站在白色图像上,只能在蓝色图像上
这是我使用的代码。 - >
<a href='' "<?php echo $this->createUrl("/admin/survey/sa/index"); ?>" onclick="edit()"><img id="img1" onclick="imageChange(this)"'<?php echo $sImageURL;?>home.png' alt='<?php $clang->eT("Default administration page");?>' />
<script type="text/javascript">
{
var img1 = "/LimeSurvey/styles/scanyours/images/home.png";
var img2 = "/LimeSurvey/styles/scanyours/images/home1.png";
}
{
var imageChoice = 1;
}
function imageChange(element)
{
if (imageChoice == 1)
{
element.src = img2;
imageChoice = 2;
}
else if (imageChoice == 2)
{
element.src = img1;
imageChoice = 1;
}
}
</script></a>
答案 0 :(得分:1)
尝试不在锚标记中嵌入img标记。也许两次onclick事件互相干扰。
顺便说一句:您应该缩进代码以便更清晰。
修改强>
我不知道您网站的确切结构,但如果index.php只显示主页,您可以试试这个:
if ($_SERVER['PHP_SELF'] == 'index.php') {
echo 'Show logo for homepage';
} else {
echo 'Show logo for other pages';
}
当它工作时你可以用你的element.src函数交换回声。如果它不起作用,请检查当您在主页上时以及当您在不同的站点上并调整if语句时,$ _SERVER ['PHP_SELF']中存储的内容。
答案 1 :(得分:1)
如果您的图片标记位于锚标记内,那么即使您的图像替换有效,您也会立即被重定向到您的锚链接到的任何位置。
这是预期的行为吗?
Here is a working example if you didn't have the anchor tag