【问题标题】:Why does jQuery add a class to an image whenI click it even though I haven't specifically asked it to?为什么即使我没有特别要求,当我单击图像时,jQuery 也会向图像添加一个类?
【发布时间】:2011-04-15 16:35:54
【问题描述】:

最近发现了这个,但我一生都无法弄清楚“clickedClass”位如何设法将“选定”类添加到缩略图中......

将“已选择”更改为您喜欢的任何内容,它仍然有效。

        var activeOpacity   = 1.0,
            inactiveOpacity = 0.6,
            fadeTime = 200,
            clickedClass = "selected",
            thumb = "#thumbnailContainer div img";
        $(thumb).fadeTo(1, inactiveOpacity);

        $(thumb).hover(
            function(){
                $(this).stop().fadeTo(fadeTime, activeOpacity);
            },
            function(){
                if(!$(this).hasClass(clickedClass)) {
                    $(this).stop().fadeTo(fadeTime, inactiveOpacity);
                }

        $(thumb).click(function() {
             var clicked, previous;
             clicked = $(this);
             if (!clicked.hasClass(clickedClass)) {
                 previous = $(thumb+'.'+clickedClass);
                 previous.removeClass(clickedClass).fadeTo(fadeTime, inactiveOpacity);
                 clicked.addClass(clickedClass).fadeTo(fadeTime, activeOpacity);
             }
         });

                });

是的,我知道 - “它有效”,但它为什么有效?

任何指针将不胜感激,

JS

【问题讨论】:

    标签: jquery class click


    【解决方案1】:

    这一行将“选定”类添加到拇指。

    clicked.addClass(clickedClass).fadeTo(fadeTime, activeOpacity);
    

    这里点击 = 到缩略图并且 clickedClass = "Selected"

    【讨论】:

    • !!!对不起,我是白痴。非常缓慢地阅读代码并弄清楚事情。耻辱是我。复活节的东西,JS。
    • ...谢谢你这么快就回复我顺便说一句,快乐的小径,JS
    【解决方案2】:

    因为thumb = "#thumbnailContainer div img"

    $("#thumbnailContainer div img") 是一个 jQuery 选择器

    这一行:$(this).hasClass(clickedClass) 检查缩略图是否在您的情况下具有 clickedClass "selected" 或任何其他类。

    【讨论】:

      猜你喜欢
      • 2017-03-12
      • 2023-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多