簡體   English   中英

Javascript,圖片點擊(功能,onclick)

[英]Javascript, image clicking (function, onclick)

因此,我正在php上創建此基本圖像網站,並且嘗試在每個人資料上創建一個圖像空間。 我希望在單擊圖像時將其最大化(當前是這樣)。 然后再次單擊它會返回到原來的位置(它不會這樣做)。 您可以在此處查看示例http://www.uk-sf.com/profile.php?view=pgallery:17

但是這里是代碼:下面是單擊的img元素

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

那么你有JavaScript功能

function clickimage(id)
        {
            var y = document.getElementsByClassName('pgall');
            var x = document.getElementsByClassName('pgall2');

            var length = y.length,
            element = null;
            for (var i = 0; i < length; i++) {
              element = y[i];
              element.className = 'pgall';
            }

            var length = x.length,
            element = null;
            for (var i = 0; i < length; i++) {
              element = x[i];
              element.className = 'pgall';
            }

            id.className = 'pgall2';
        }

如您當前所見,它將始終更改單擊第二個CSS類“ pgall2”的內容。 它需要做的就是如果id.className ==“ pgall2”,也將其更改為“ pgall”。 但是,我嘗試使用if語句執行此操作,但它不起作用。

                if(id.className == 'pgall')
                {
                id.className = 'pgall2';
                }
                else {
                id.className = 'pgall';
                }

您的函數不會添加類,而是會替換整個類的值。 通過更改類,您實際上是在創建新元素。 此時您沒有相同的事件處理程序。

如何正確添加其他類: 如何向給定元素添加類?

有關動態元素事件的更多信息: http : //toddmotto.com/attaching-event-handlers-to-dynamically-created-javascript-elements


更新:您有可用的jQuery。 為什么不使用它?

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

http://jsfiddle.net/isherwood/vPC7r/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM