Javascript,图像点击(函数,onclick)

Javascript,图像点击(函数,onclick),javascript,html,Javascript,Html,所以我在php上创建了这个基本的图片网站,我试图在每个人的个人资料上创建一个图片空间。我希望图像被最大化(因为它目前是)时点击。然后,当再次单击时,它会返回到原来的位置(它不会这样做)。 你可以在这里看到一个例子 但代码如下: 下面是单击的img元素 <img id="1" onclick="clickimage(this)" class="pgall" src="XXX"> 函数不添加类,而是替换整个类的值。通过更改类,您实际上是在创建新元素。此时没有相同的事件处理程序可用 如何

所以我在php上创建了这个基本的图片网站,我试图在每个人的个人资料上创建一个图片空间。我希望图像被最大化(因为它目前是)时点击。然后,当再次单击时,它会返回到原来的位置(它不会这样做)。 你可以在这里看到一个例子

但代码如下: 下面是单击的img元素

<img id="1" onclick="clickimage(this)" class="pgall" src="XXX">

函数不添加类,而是替换整个类的值。通过更改类,您实际上是在创建新元素。此时没有相同的事件处理程序可用

如何正确添加其他类:

有关动态元素事件的详细信息:


更新:您有可用的jQuery。为什么不使用它呢

jQuery('.pgall').click(function() {
    jQuery(this).toggleClass('pgall pgall2');
});

您不应该像那样使用内联javascript。改为绑定事件侦听器!我同意不添加内联JavaScription,如果您现在查看该站点,其效果是它会粘在名称上。。。因此,我以class=“pgallpgall”结束,我看不出这一点。我看到它变为
pgall2
。无论如何,控制台中显示了几个错误——两次明显的jQuery尝试和一个堆栈错误。可能有助于先把这些清理干净。另外,您正在将一堆6MB的图像加载到页面中,这有点疯狂。
                if(id.className == 'pgall')
                {
                id.className = 'pgall2';
                }
                else {
                id.className = 'pgall';
                }
jQuery('.pgall').click(function() {
    jQuery(this).toggleClass('pgall pgall2');
});