jquery:单击新项目时重置css

jquery: reset css when new item is clicked

本文关键字:css 新项目 单击 jquery      更新时间:2023-09-26

我正在修改这个脚本,使覆盖在单击时完全淡出。问题是,如果css被更改为display:none,我就无法让它返回到display:block

这是有问题的比特(原始)

if(dir)
$ei_image.animate({opacity:0}, 1000);
else
$ei_image.css({opacity:0.5});

以及我正在尝试(以各种方式)但不起作用的

if(dir)
    $ei_image.fadeOut(500); 
else
    $ei_image.fadein(500);

有什么想法吗?当点击一个新的div层时,我该如何取回它?

编辑**我试图为此制作一个有效的jsfiddle,但即使所有的代码都在那里,它也不起作用。我不明白为什么。但至少对于任何需要把这一点放在上下文中的人来说,整个shebang都是存在的。

我也尝试过这种方法,它在完全淡出时有效,但在导航到新列时不会重新打开图层

if(dir)
    $ei_image.animate({opacity:0}, 1000 , function () {
        $(this).css({display:'none'}); 
    })
else
    $ei_image.css({display:'block'} , function () {
        $(this).animate({opacity:0.5}); 
    })

http://jsfiddle.net/BZzRT/

http://jsfiddle.net/fastasleep/srLVs/

js:中的第104行

$menuItemsPreview.stop()
.animate({opacity:0.5}, 1500);

更改为:

.fadeTo(500,.5);

119行:

if(dir)
$ei_image.hide().fadeIn(500); 

更改为:

$ei_image.fadeOut(1000);

在第119行,overlaydiv执行一个fadeOut操作,将不透明度从.5变为0,然后进行display:hidden。104处的部分重置了闭合的div,如果div被隐藏,它就不能只设置不透明度的动画,所以你必须执行fadeTo来取消隐藏div,然后将动画设置为.5的不透明度以匹配其他闭合的div。

还将您的文本更改为#fff,以便您可以在黑色bg上看到它。:)

fadeOut(500);表示隐藏元素,这就是隐藏元素的原因。

试着做

if(dir)
    $ei_image.hide().fadeIn(500); 
else
    $ei_image.fadeOut(500);

尝试将原始.animate调用中的0更改为1。

if(dir)
$ei_image.animate({opacity:1}, 1000) ;
else
$ei_image.css({opacity:0.5});

此外,在你的小提琴中,在左侧的下拉列表中包括jQuery并点击run。

我用叉子叉了你的小提琴

这就是你想要的吗?