【发布时间】:2014-01-20 08:08:24
【问题描述】:
我以这种方式将 DIV 添加到我的对象中
//add the slide to module
self.activeSlideDom = $("<div id='module_"+self.moduleId+"-slide_"+self.activeSlide+"' class='slide'></div>").appendTo("div#module_"+self.moduleId);
具有“幻灯片”类的 DIV 的样式规则如下所示:
.slide {
padding:0px;
position:absolute;
left:0px;
top:0px;
width:100%;
height:100%;
background:transparent;
/* display:none; */
opacity:0;
-webkit-transform: translateZ(0);
transition: opacity 2s;
-moz-transition: opacity 2s; /* Firefox 4 */
-webkit-transition: opacity 2s; /* Safari and Chrome */
-o-transition: opacity 2s; /* Opera */
}
然后我将它的不透明度设置为 1,认为这会使它淡入...
$(self.activeSlideDom).css("opacity","1");
但事实并非如此。但是,如果我打开 chrome“检查元素”并取消选中/选中不透明度规则,则 div 会像预期的那样很好地消失。
那么我如何设置不透明度值是否存在问题,这就是为什么 div 只是弹出而不是我预期的平滑过渡?
【问题讨论】:
-
你能发一个
console.log(self.activeSlideDom);来检查你是否得到了与chrome工具中相同的元素 -
这不是我的建议,我想过做 console.log() 来看看你得到了哪个元素。然后您可以使用 Chrome 工具对其进行检查
-
嗯...它是正确的对象,像这样选择它会得到相同的结果: $("#module_"+self.moduleId+"-slide_"+self.activeSlide).css( '不透明度',1);但是 - 如果我在 setTimeout 内设置此语句,但在超时前还有 0 毫秒,它的行为正确......可能是“幻灯片”类尚未应用于插入的 DOM 对象,但如果我设置了超时它允许第一个进程完成从而绑定幻灯片类?
标签: javascript jquery html css transitions