我正在努力实现以下目标:
这是我的画廊HTML:
<div id="slideshow" class="pics">
<div class="photo-container" >
<img src="/path/to/image" alt="alt text as title" />
<img class="mask" src="path/to/mask" />
</div>
</div><!-- /slideshow -->
<div id="title"></div>
这是我的Jquery图库功能:
$(function() {
$('#slideshow').after('<div id="nav" class="nav"><span style="margin: 0 5px 0 30px;">next image</span>').cycle({
fx: 'fade',
timeout: 0,
cleartypeNoBg: true,
pager: '#nav',
next: '#slideshow',
before: onBefore
});
function onBefore() {
$('#title').html(this.alt);
}
$('#nav a').after('<span>></span>')
});
</script>
这是我处理掩码的CSS:
.photo-container {
position: relative;
display: block;
overflow:hidden;
border: none;
}
img.mask {
position: absolute;
top: 0;
left: 0;
overflow:hidden;
border: none;
}
以上不会将alt文本输出到“title”div中。当我移除面具时,它可以工作:
<div id="slideshow" class="pics">
<img src="/path/to/image" alt="alt text as title" />
</div><!-- /slideshow -->
<div id="title"></div>
为什么附加div / image会使标题无法显示?
谢谢
答案 0 :(得分:0)
在代码的第一行,
$('#slideshow')
.after('<div id="nav" class="nav"><span style="margin: 0 5px 0 30px;">next image</span>')
看起来你错过了一个结束/div
标签,所以这看起来并不像是在生成一个正确的节点/元素。这可能会导致你的问题?与以下内容比较:
$('#slideshow')
.after('<div id="nav" class="nav"><span style="margin: 0 5px 0 30px;">next image</span></div>')
祝你好运!答案 1 :(得分:0)
this
等于div
。您需要在alt
中获取img
的{{1}}属性。
将该行更改为:
div