jquery:单击新项目时重置css
jquery: reset css when new item is clicked
我正在修改这个脚本,使覆盖在单击时完全淡出。问题是,如果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。
我用叉子叉了你的小提琴
这就是你想要的吗?
相关文章:
- 动态地改变“”的URL;添加新项目”;链接使用javascript/jquery
- Redux处理新项目和id
- JQuery Masonry.Ajax图标和“;加载新项目”;绳子放错地方了
- Ng-Repeat在末尾添加新项目
- AngularJs/GitHub :如何在没有任何历史记录的情况下将角度种子克隆到我的新项目中
- 每天从数组中挑选新项目
- 将jquery插件应用于angularJS ng repeat中的新项目
- 使用新项目更新KendoUI网格数据源
- AngularJS ForEach将新项目推送到对象中
- 在 SharePoint 2010 上创建“添加新项目”按钮
- id:在续集中创建新项目时为空
- 新项目的所有列表项弹出窗口在悬停时立即显示 - Javascript
- AngularJS:插入新项目后对列表重新排序
- 扩展菜单插入带有覆盖的新项目
- 如何将新项目添加到 srt 文件中
- IE 7,CSS 将项目悬停在 JS 滑块上
- 如何在 JQGRID 新项目弹出窗口中应用 OnKeyUp 方法
- 在SlickGrid的dataView的第一行添加一个新项目,就像JavaScript的unshift一样
- 当一个新项目被添加到FireBug控制台时,是否有一个jQuery事件等同于
- jquery:单击新项目时重置css