jquery:仅当元素未单击时才具有悬停功能

发布于 2024-12-14 12:50:31 字数 788 浏览 2 评论 0原文

我一直在尝试设置以下脚本但没有成功。

我有元素#num_11,它在悬停时淡入其他几个元素,并在鼠标移开时淡出它们。这工作得很好(我已经为此感到非常自豪),

我想要的是,如果您单击#num_11,其他元素仍然可见。再次单击时,它们应该再次消失,整个脚本返回到原来的“模式”

$("#num_11").hover(
    function(){
        $("#identification li").each(function() {
            $("h1", this).fadeIn();
            $("span", this).addClass("opague");
        });
    },
    function(){
        $("#identification li").each(function() {
            $("h1", this).hide();
            $("span", this).removeClass("opague");
        });
    }
);

$("#num_11").click(function(){
    $(this).toggleClass('clicked');
});

我在上面的代码中尝试的是放置 $("#num_11").not(".clicked").hover( 和 $ ("#num_11:not(".clicked")").hover( 以及一个 if-else-查询,最终陷入混乱......

我非常感谢你在我的挑战中提供的帮助。

祝一切顺利, K

I have been trying to set up the following script without success.

I have the element #num_11 which fades in a couple of other elements on hover and fades them out on mouseout. That's working perfectly (which I am already quite proud of)

What I want is that if you CLICK on #num_11 that the other elements STAY visible. On click again, they should disappear again and the whole script go back to the original "mode"

$("#num_11").hover(
    function(){
        $("#identification li").each(function() {
            $("h1", this).fadeIn();
            $("span", this).addClass("opague");
        });
    },
    function(){
        $("#identification li").each(function() {
            $("h1", this).hide();
            $("span", this).removeClass("opague");
        });
    }
);

$("#num_11").click(function(){
    $(this).toggleClass('clicked');
});

What I have tried in the code above was putting $("#num_11").not(".clicked").hover( and $("#num_11:not(".clicked")").hover( as well as a if-else-query which ended up in chaos…

I would really appreciate your help with my challenge.

All the best,
K

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

紫南 2024-12-21 12:50:31

尝试以下代码;

$("#num_11").hover(
function(){
  if(!$(this).hasclass('clicked')){
    $("#identification li").each(function() {
        $("h1", this).fadeIn();
        $("span", this).addClass("opague");
    });
  }
},
function(){
  if(!$(this).hasclass('clicked')){
    $("#identification li").each(function() {
        $("h1", this).hide();
        $("span", this).removeClass("opague");
    });
  }
});
$("#num_11").click(function(){
$(this).toggleClass('clicked');
});

try following code;

$("#num_11").hover(
function(){
  if(!$(this).hasclass('clicked')){
    $("#identification li").each(function() {
        $("h1", this).fadeIn();
        $("span", this).addClass("opague");
    });
  }
},
function(){
  if(!$(this).hasclass('clicked')){
    $("#identification li").each(function() {
        $("h1", this).hide();
        $("span", this).removeClass("opague");
    });
  }
});
$("#num_11").click(function(){
$(this).toggleClass('clicked');
});
痕至 2024-12-21 12:50:31

尝试过滤:

$("#num_11").filter(function() {
    return !$(this).hasClass('clicked');
}).hover(
    ...
);

Try filtering:

$("#num_11").filter(function() {
    return !$(this).hasClass('clicked');
}).hover(
    ...
);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文