当点击图像周围的空白空间时,Javascript幻灯片显示故障
Javascript Slideshow Glitches When Clicking Empty Space Around Image
所以我让这个幻灯片代码工作,当你点击一个图像,它会淡入另一个图像。然而,如果,例如,有一个垂直方向的图像,右边有空白区域,如果你点击那个空白区域,整个幻灯片就会出现故障。
这是我的网站,你可以在这里测试:
http://danielshultz.github.io代码:
$(document).ready(function() {
$.fn.nextOrFirst = function (selector) {
var next = this.next(selector);
return (next.length) ? next : this.prevAll(selector).last();
};
$("#cf2 img").click(function() {
$(this)
.removeClass('visible')
.nextOrFirst()
.addClass('visible');
});
});
CSS: #cf2 {
position:relative;
height:281px;
width:450px;
margin:0 auto;
}
#cf2 img {
position:absolute;
left:0;
max-height: 600px;
max-width: 600px;
opacity: 0;
z-index: 0;
-webkit-transition: opacity 1s ease-in-out;
-moz-transition: opacity 1s ease-in-out;
-o-transition: opacity 1s ease-in-out;
transition: opacity 1s ease-in-out;
}
#cf2 img.visible {
opacity: 1;
z-index: 1;
}
HTML: <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="cf2" class="shadow">
<img class="visible" src="http://static.ddmcdn.com/gif/storymaker-best-hubble-space-telescope-images-20092-514x268.jpg" alt="1"/>
<img src="http://economictimes.indiatimes.com/thumb/msid-45891755,width-640,resizemode-4/nasas-images-of-most-remarkable-events-you-cant-miss.jpg" alt="2"/>
<img src="http://i.dailymail.co.uk/i/pix/2013/11/03/article-2486855-192ACC5200000578-958_964x682.jpg" alt="3"/>
<img src="http://mstatic.mit.edu/nom150/items/199-HybridImage.jpg" alt="4"/>
</div>
如果我没理解错的话,这里的问题是当你点击图像外部但在前一个图像的正方形内时,那么幻灯片不会改变
这种方法不会改变你的javascript,但会改变html和一些选择器。
在下面的示例中,我将每个<img>
包装成'<div>'
,并更改选择器以匹配这些分区。
所以,如果你在图像外面点击div,幻灯片会像预期的那样改变。
$(document).ready(function() {
$.fn.nextOrFirst = function (selector) {
var next = this.next(selector);
return (next.length) ? next : this.prevAll(selector).last();
};
$("#cf2 div.holder").click(function() {
$(this)
.removeClass('visible')
.nextOrFirst()
.addClass('visible');
});
});
body {
font-family: verdana;
font-size: 8pt;
color: #000;
}
#cf2 {
position: relative;
height: 600px;
width: 600px;
margin: 0 auto;
}
#cf2 div.holder {
position: absolute;
left: 0;
height: 600px;
width: 600px;
opacity: 0;
z-index: 0;
-webkit-transition: opacity 1s ease-in-out;
-moz-transition: opacity 1s ease-in-out;
-o-transition: opacity 1s ease-in-out;
transition: opacity 1s ease-in-out;
}
#cf2 div.holder img {
max-height: 600px;
max-width: 600px;
}
#cf2 div.holder.visible {
opacity: 1;
z-index: 1;
}
.hidden {
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<td valign="center">
<div id="cf2" class="shadow">
<div class="holder visible">
<img src="//danielshultz.github.io/Images/Cute-Door-1.jpg" alt="1"/></div>
<div class="holder"><img src="//danielshultz.github.io/Images/Cute-Door-2.jpg" alt="2"/></div>
<div class="holder"><img src="//danielshultz.github.io/Images/Cute-Door-3.jpg" alt="3"/></div>
</div>
</td>
</table>
相关文章:
- JavaScript幻灯片显示,每个幻灯片的下一个按钮都有不同的位置
- 旧的javascript幻灯片只显示wihtout幻灯片(onclick)
- Javascript幻灯片淡出
- HTML Javascript 幻灯片优化
- 清除窗口Javascript幻灯片
- javascript幻灯片无法正常工作
- 淡入淡出javascript幻灯片
- 图像的Javascript幻灯片放映
- 如何使用for循环制作javascript幻灯片
- 什么'我的JavaScript幻灯片有问题
- 我在一页上有两个简单的javascript幻灯片,但第二个停止了第一个工作
- 没有jquery的JavaScript幻灯片
- 在单个页面上使用多个JavaScript幻灯片时遇到问题
- 悬停时暂停 Javascript 幻灯片
- 如何向我的 JavaScript 幻灯片添加淡出效果
- JavaScript 幻灯片暂停悬停
- 不使用包装器元素的 Javascript 幻灯片库
- 使用导航按钮制作基本 Javascript 幻灯片时出错
- 直接在 Javascript 幻灯片上添加文本
- 简单的Javascript幻灯片功能不起作用