javascript - jquery 画廊淡入/淡出

标签 javascript jquery css xhtml

我正在基于以下标记构建一个简单的图片库:

<div id="image-list">
<ul>
<li id="image-1">
<img src="myimage1.jpg" width="500" height="500" alt="My Image" />
</li>
<li id="image-2">
<img src="myimage2.jpg" width="500" height="500" alt="My Image" />
</li>
<li id="image-3">
<img src="myimage3.jpg" width="500" height="500" alt="My Image" />
</li>
</ul>
</div>
<ul id="thumb-list">
<li id="thumb-1"><img src="myimage1-thumb.jpg" width="50" height="50" alt="My Image" /></li>
<li id="thumb-2"><img src="myimage2-thumb.jpg" width="50" height="50" alt="My Image" /></li>
<li id="thumb-3"><img src="myimage3-thumb.jpg" width="50" height="50" alt="My Image" /></li>
</ul>

我使用 CSS 对其进行了样式设置,以便一次只能看到其中一张较大的图像(使用 overflow: hidden 并具有固定的容器高度)。

然后我使用 jquery 在容器中绝对定位 UL 以显示每个图像,使用以下标记:

$('#thumb-list li img').click(function() {
    var image = $(this).parent().attr('id').substring(6);
    var position = $('#image-' + image).position();
    $("#image-list ul").css({'top' : '-' + position.top +'px'});
});

基本上我想在位置改变时淡出整个“#image-list ul”,然后淡入以显示新图像。

有人可以建议最有效的方法吗? - 非常感谢任何帮助!

最佳答案

从您的 img 标签中删除高度和宽度,css 可以处理。

CSS

#image-list{

      position:relative; 
      height:500px;
      width:500px;

}

#image-list img{

      height:500px;
      width:500px;

}

#image-list li{

      position:absolute;
      top:0;
      right:0;

}

JS

$('#thumb-list li img').click(function() {

      var image = $(this).parent().attr('id').substring(6);
      $('#image-' + image).fadeIn("slow").siblings().fadeOut("slow");

});

您使用的是原型(prototype)还是 jquery?

如果您使用 jquery,而不是依赖于 .css() 函数,请尝试使用 .hide() 函数,因为它的作用与 完全相同CSS({'显示':'无'})。和 .fadeIn() 将动画化您的 div 的返回。在第一次加载时,它们都将是可见的,因此不要使用 css 隐藏它们,而是告诉 jquery 使用此命令隐藏所有它们。

$('#thumb-list il').hide();

关于javascript - jquery 画廊淡入/淡出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2036969/

相关文章:

css - 在 iPad 上的网站中加载图像的最大高度是多少

javascript - 适用于许多浏览器的简单选项卡导航?

javascript - REACT 问题 [object object] 选择 OnChange

javascript - 如何使用 anchor 标记将表单值传递给操作?

javascript - 将查询结果传递到另一个node.js页面

javascript - 在宽度较小的不同设备上正确使用移动视口(viewport)

jquery.backgroundSize.js 不工作ie8

javascript - 在 JavaScript 中,我可以检查是否可以在不实际评估字符串的情况下评估它吗?

jQuery UI 自动完成样式不正确

jquery - ajax超时回调函数