.fadeIn()和.fadeOut()函数已损坏
.fadeIn() and .fadeOut() function broken?
我使用的是Chris Coyier的这张非常基本的渐变幻灯片:http://css-tricks.com/snippets/jquery/simple-auto-playing-slideshow/
一切都很好,除了我想要多个幻灯片,每个都是缩略图。所以当我添加多个相同的东西时,它就坏了。我注意到它使用了slideshow
的id
,并且id
必须是唯一的,所以我将其更改为class
。现在一切正常,但似乎破坏了fadeIn()
和fadeOut()
的功能?或者至少,它似乎就是这么做的。这是一把小提琴:http://jsfiddle.net/QRZKE/
HTML:
<div class="thumb" id="first">
<span><img src="http://thebarking.com/wp-content/uploads/2012/09/biscuit.jpg"></span>
<div><img src="http://31.media.tumblr.com/tumblr_m33f16g9Li1r21nejo1_400.jpg"></div>
<div><img src="https://www.creameryschoolofmusic.com/template/upload_images/Guitar-guitar-10566054-1920-1200.jpg"></div>
</div>
<br>
<div class="thumb" id="second">
<span><img src="http://thebarking.com/wp-content/uploads/2012/09/biscuit.jpg"></span>
<div><img src="http://31.media.tumblr.com/tumblr_m33f16g9Li1r21nejo1_400.jpg"></div>
<div><img src="https://www.creameryschoolofmusic.com/template/upload_images/Guitar-guitar-10566054-1920-1200.jpg"></div>
</div>
<br>
<div class="thumb" id="third">
<span><img src="http://thebarking.com/wp-content/uploads/2012/09/biscuit.jpg"></span>
<div><img src="http://31.media.tumblr.com/tumblr_m33f16g9Li1r21nejo1_400.jpg"></div>
<div><img src="https://www.creameryschoolofmusic.com/template/upload_images/Guitar-guitar-10566054-1920-1200.jpg"></div>
</div>
<br>
<div class="thumb" id="fourth">
<span><img src="http://thebarking.com/wp-content/uploads/2012/09/biscuit.jpg"></span>
<div><img src="http://31.media.tumblr.com/tumblr_m33f16g9Li1r21nejo1_400.jpg"></div>
<div><img src="https://www.creameryschoolofmusic.com/template/upload_images/Guitar-guitar-10566054-1920-1200.jpg"></div>
</div>
<br>
<div class="thumb" id="fifth">
<span><img src="http://thebarking.com/wp-content/uploads/2012/09/biscuit.jpg"></span>
<div><img src="http://31.media.tumblr.com/tumblr_m33f16g9Li1r21nejo1_400.jpg"></div>
<div><img src="https://www.creameryschoolofmusic.com/template/upload_images/Guitar-guitar-10566054-1920-1200.jpg"></div>
</div>
CSS:
.thumb {
position: relative;
width: 240px;
height: 240px;
padding: 10px;
background: white;
box-shadow: 0 0 20px rgba(0, 0, 0, .4);
}
.thumb > div {
position: absolute;
top: 10px;
left: 10px;
right: 10px;
bottom: 10px;
z-index: 2;
}
.thumb > span {
position: absolute;
top: 10px;
left: 10px;
right: 10px;
bottom: 10px;
z-index: 3;
-webkit-transition: all .65s ease-in;
-moz-transition: all .65s ease-in;
-ms-transition: all .65s ease-in;
-o-transition: all .65s ease-in;
transition: all .65s ease-in;
}
.thumb > span:hover {
opacity: 0;
}
.thumb img {
height: 240px;
width: 240px;
}
JavaScript:
$(document).ready(function() {
$(".thumb > div:gt(0)").hide();
setInterval(function() {
$(".thumb > div:first")
.fadeOut(1000)
.next()
.fadeIn(1000)
.end()
.appendTo(".thumb");
}, 2500);
});
注意:我在一些span
中添加了一张图片,它覆盖了幻灯片放映,你必须将鼠标悬停在上面才能使其消失(就好像在悬停在上面之后开始幻灯片放映一样)。
有什么想法吗?任何帮助都将不胜感激。
编辑:我发现如果我删除其他幻灯片(只有一个),渐变效果会很好。我只加了一次倍数。但是类可以是非唯一的,对吧?那么,为什么剧本会被打破呢?(这并不是说实际的脚本正在崩溃,这只是渐变效果,否则滑块工作得很好!)
我认为问题在于appendTo('.thumb')
,它将附加到所有滑块上。而且,你的跨度让它在第二张和第三张照片之间重复循环,永远不会重新拍摄第一张。我会去掉css来伪造没有显示的幻灯片,并在悬停时添加间隔。我会这样做的(http://jsfiddle.net/QRZKE/18/):
CSS
.thumb {
position: relative;
width: 240px;
height: 240px;
padding: 10px;
background: white;
box-shadow: 0 0 20px rgba(0, 0, 0, .4);
}
.thumb > div {
position: absolute;
top: 10px;
left: 10px;
right: 10px;
bottom: 10px;
z-index: 2;
}
.thumb img {
height: 240px;
width: 240px;
}
HTML
<div class="thumb" id="first">
<div><img src="http://thebarking.com/wp-content/uploads/2012/09/biscuit.jpg"></div>
<div><img src="http://31.media.tumblr.com/tumblr_m33f16g9Li1r21nejo1_400.jpg"></div>
<div><img src="http://www.creameryschoolofmusic.com/template/upload_images/Guitar-guitar-10566054-1920-1200.jpg"></div>
</div>
<br>
<div class="thumb" id="second">
<div><img src="http://thebarking.com/wp-content/uploads/2012/09/biscuit.jpg"></div>
<div><img src="http://31.media.tumblr.com/tumblr_m33f16g9Li1r21nejo1_400.jpg"></div>
<div><img src="https://www.creameryschoolofmusic.com/template/upload_images/Guitar-guitar-10566054-1920-1200.jpg"></div>
</div>
<br>
<div class="thumb" id="third">
<div><img src="http://thebarking.com/wp-content/uploads/2012/09/biscuit.jpg"></div>
<div><img src="http://31.media.tumblr.com/tumblr_m33f16g9Li1r21nejo1_400.jpg"></div>
<div><img src="https://www.creameryschoolofmusic.com/template/upload_images/Guitar-guitar-10566054-1920-1200.jpg"></div>
</div>
<br>
<div class="thumb" id="fourth">
<div><img src="http://thebarking.com/wp-content/uploads/2012/09/biscuit.jpg"></div>
<div><img src="http://31.media.tumblr.com/tumblr_m33f16g9Li1r21nejo1_400.jpg"></div>
<div><img src="http://www.creameryschoolofmusic.com/template/upload_images/Guitar-guitar-10566054-1920-1200.jpg"></div>
</div>
<br>
<div class="thumb" id="fifth">
<div><img src="http://thebarking.com/wp-content/uploads/2012/09/biscuit.jpg"></div>
<div><img src="http://31.media.tumblr.com/tumblr_m33f16g9Li1r21nejo1_400.jpg"></div>
<div><img src="https://www.creameryschoolofmusic.com/template/upload_images/Guitar-guitar-10566054-1920-1200.jpg"></div>
</div>
Javascript
$(document).ready(function () {
var interval;
$('.thumb').each( function () {
var id = $(this).attr('id');
$("#" + id + " > div:gt(0)").hide();
});
$('.thumb').hover(function() {
var id = $(this).attr('id');
console.log(id);
interval = setInterval(function () {
$("#" + id + " > div:first")
.fadeOut(1000)
.next()
.fadeIn(1000)
.end()
.appendTo("#" + id);
}, 2500);
}, function() {
clearInterval(interval);
});
});
如果我是你,我会删除跨度并展开javascript。例如,您可以使用mouseenter: function(){ // start interval}
并使用mouseleave: function(){ // reset interval }
重置它。
尽管这可能无法解决您的问题,但您需要担心的代码更少:)
- 检测图像URL是否已损坏JQUERY
- 如何使用外部.IsSearchProvider已安装函数
- 节点:通过请求下载zip,zip已损坏
- 将 MVC 3 应用程序部署到 URL 文件夹已损坏 JavaScript 和内容路径
- 从 Base64 转换图像时出错 - HTMLImageElement 已损坏
- 异步加载JQuery时Tabbed Box已损坏
- 对已定义函数的第二次调用;不起作用
- Angular 2-检查图像url是否有效或已损坏
- JCrop使用集合选择选项时插件已损坏
- Jquery提交表单已损坏
- 如何在不设置全局变量的情况下确定是否已调用函数
- MongoDB 在保存数据时抛出错误(拓扑已损坏)
- iOS 7 全屏 Web 应用程序中的 JavaScript 警报已损坏
- MongoDB本机节点驱动程序:解释已损坏
- 已选择选项已损坏或.
- 已检查函数 JavaScript 不起作用.当我单击任何形状时,它不会创建表格结构
- Base64 - 文件已损坏
- 我的 mailto 链接中的换行符在 Android 手机上已损坏
- 为什么 Chrome 扩展程序图片在添加到 DOM 时显示为已损坏
- .fadeIn()和.fadeOut()函数已损坏