Jquery 动画缩略图上的不透明度(所选缩略图除外)

发布于 2024-10-19 09:08:56 字数 836 浏览 1 评论 0原文

我有一组缩略图,当选择另一个缩略图时,我希望将其缩小到 40%。原始缩略图将保持 100% 不透明度。我需要对淡出的缩略图进行全面释放,以便单击页面上的任意位置将使其他缩略图恢复到 100% 不透明度。

这是演示: http://www.dumstr.com/sofeb11/stash/

Js :

$(function() {           
    $("div#fadeout .stashthumb").click(function () {             
            $(this).siblings().stop().animate({opacity: 0.4}, 300);   
    },          
    function () {      
            $("div#fadeout .stashthumb").stop().animate({opacity: 1.0}, 300);       
    });

HTML

<div id="fadeout" class="stasher">

     <div style="opacity: 1;" class="stashthumb">
     <span><a href="#"><img src="img/stash-01.jpg"></a></span>
     </div>
</div>

谢谢!

I have a set of thumbnails that I want to reduce to 40% when another thumbnail is selected. The original thumbnail will remain at 100% opacity. I need to have a general release for the faded out thumbnails, so that a click anywhere on the page will bring the other thumbs back to 100% opacity.

Here is the demo: http://www.dumstr.com/sofeb11/stash/

Js:

$(function() {           
    $("div#fadeout .stashthumb").click(function () {             
            $(this).siblings().stop().animate({opacity: 0.4}, 300);   
    },          
    function () {      
            $("div#fadeout .stashthumb").stop().animate({opacity: 1.0}, 300);       
    });

HTML

<div id="fadeout" class="stasher">

     <div style="opacity: 1;" class="stashthumb">
     <span><a href="#"><img src="img/stash-01.jpg"></a></span>
     </div>
</div>

Thanks!

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

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

发布评论

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

评论(4

初见你 2024-10-26 09:08:56

将您的 javascript 更改为此(我认为这是您想要的行为,您的问题对我来说并不是 100% 清楚):

$(function() {           
    $("div#fadeout .stashthumb").click(function (event) {             
        $(this).siblings().stop().animate({opacity: 0.4}, 300);       
        $(this).stop().animate({opacity: 1.0}, 300); 
        event.stopPropagation();     // don't fire the body click handler
    });

    // here's the "anywhere on the page" part you wanted
    $("body").click(function() {
        $("#fadeout .stashthumb").stop().animate({opacity: 1.0}, 300);
    });   
});

Change your javascript to this (I think it's the behavior you want, you're question isn't 100% clear to me):

$(function() {           
    $("div#fadeout .stashthumb").click(function (event) {             
        $(this).siblings().stop().animate({opacity: 0.4}, 300);       
        $(this).stop().animate({opacity: 1.0}, 300); 
        event.stopPropagation();     // don't fire the body click handler
    });

    // here's the "anywhere on the page" part you wanted
    $("body").click(function() {
        $("#fadeout .stashthumb").stop().animate({opacity: 1.0}, 300);
    });   
});
初见终念 2024-10-26 09:08:56

以 Digitlworld 的答案为基础

$("div#fadeout .stashthumb").click(function (e) {
    e.stopPropagation(); // This will stop the click bubbling up to the body
    $(this).removeClass('thumb40').addClass('thumb100');
    $('.stashthumb').not(this).removeClass('thumb100').addClass('thumb40');
});

$(body).click(function() {
    $('.stashthumb').removeClass('thumb40').addClass('thumb100');
});

Building on Digitlworld's answer

$("div#fadeout .stashthumb").click(function (e) {
    e.stopPropagation(); // This will stop the click bubbling up to the body
    $(this).removeClass('thumb40').addClass('thumb100');
    $('.stashthumb').not(this).removeClass('thumb100').addClass('thumb40');
});

$(body).click(function() {
    $('.stashthumb').removeClass('thumb40').addClass('thumb100');
});
半窗疏影 2024-10-26 09:08:56

我将使用分配给缩略图的 CSS 类来实现 40% 的不透明度,另一个分配给 100% 不透明度的 CSS 类。

当我想让它们全部淡入时,我会使用 jQuery $(".thumb40") 或类似的东西来选择淡出的,并将它们的 CSS 类设置为 。 thumb100 使用 jQuery 函数在类之间进行淡入淡出。 jQuery toggleClass

要淡出除当前之外的所有内容,请使用类似的 jQuery,.thumb100 code> 但输入检查代码以确保您要更改为 .thumb40 的代码不是您选择的代码。

至于点击离开,我自己也很好奇。

I'd use a CSS class assigned to thumbnails for 40% opacity, another for 100% opacity.

When I want to fade all of them back in, I'd use a jQuery $(".thumb40") or something like that to select the faded ones and set their CSS class to .thumb100 using the jQuery function for fading between classes. jQuery toggleClass

To fade all but the current one, use a similar jQuery, .thumb100 but put check code to make sure the one you're changing to .thumb40 isn't the one you're selecting.

As for the click away, I'm curious about that myself.

千里故人稀 2024-10-26 09:08:56

像这样修改你的 jQuery:

    $("div#fadeout .stashthumb").click(function (e) {
    $(".stashthumb").animate({opacity: 1},300);    
            $(this).siblings().stop().animate({opacity: 0.4}, 300);   
            e.stopPropagation();
    });
$("body #fadeout:not(.stashthumb)").click(function () {
    $(".stashthumb").animate({opacity: 1},300);
});

这是一个工作示例 jsFiddle

Modify your jQuery like this:

    $("div#fadeout .stashthumb").click(function (e) {
    $(".stashthumb").animate({opacity: 1},300);    
            $(this).siblings().stop().animate({opacity: 0.4}, 300);   
            e.stopPropagation();
    });
$("body #fadeout:not(.stashthumb)").click(function () {
    $(".stashthumb").animate({opacity: 1},300);
});

Here's a working example jsFiddle

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文