我想要的真的很简单,但是每次我尝试添加我想要的功能时,我都会把事情搞砸,所以我决定寻求帮助并坚持我现在拥有的工作基本脚本。
我已经有一个正在编写的脚本,我想开发它几乎完全像这样工作: https ://stackoverflow.com/a/7133084/1399030 { http://jsfiddle.net/Paulpro/YpeeR/25/ } (作者:PaulP.RO)
- 打开一个隐藏的跨度
- 隐藏隐藏的跨度
- 跨度有“关闭”按钮退出跨度
- 触发另一个跨度时隐藏当前打开的跨度
想想...图片库预览功能...有点。
当在网页上单击.popCover
或单击时触发“预览”跨度,这个隐藏的跨度将根据其指定的唯一 id显示,通过 jQuery 插入到其 css 中。
这是在一个包含多个项目的循环内。 a.thumbnail
display: block;
我已经做到了这一点,这是我使用的工作脚本:
$(document).ready(function() {
$('.popCover').click(function(){
divID = $(this).attr('id');
$("#tooltip-"+divID).fadeIn('5000', function() {
$("#tooltip-"+divID).css("display", "block");
});
});
$("a.thumbnail").click(function() {
dvID = $(this).attr('id');
$("#tooltip-"+dvID).fadeIn('5000', function() {
$("#tooltip-"+dvID).css("display", "block");
});
});
});
但是现在,我需要在这些函数中添加触发器以使跨度再次消失,(通过插入display: none;
其 css.
我希望 CURRENT SPAN 在以下情况下消失:
01.在跨度元素之外单击鼠标
02.在跨度内单击退出或X按钮。(就像在图像库中,当他们预览图像时,通过单击元素外部或预览中提供的退出按钮退出它)
03. .popCover
或被a.thumbnail
重新单击(可能会触发另一个不同 ID 的跨度来显示。 )
注意:
目前,我可以在页面上单击尽可能多的锚点,所有这些具有不同 ID 的跨度只是在页面上累积并相互叠加。我真的不想要那个。我不希望一次打开超过 1 个跨度,因此我希望添加功能,使当前打开的跨度在再次单击锚点时自行退出。
我自己确实尝试过这样做,但是...我无法获得我尝试过的方法。因为我不是 jQuery 专家,所以将所有这些函数加在一起太复杂了。我可以让一个工作,然后通过尝试在另一个工作来破坏它。
另外,我正在考虑使用这种类似的方式退出跨度:
$(".the_span").fadeOut("5000").css("display", "none");
我不愿意只使用一些插件和简单的东西的唯一原因是,我已经非常喜欢我的“预览”跨度 css,我已经准备好了。我只需要 jquery 部分来工作:
display: block
触发时的跨度,如果满足display: none
上述条件。
希望得到帮助,将非常感谢每一位!谢谢你。