所以我对jQuery完全不熟悉,而且现在只是修修补补,我现在正在使用一个测试脚本(下图)我想要实现的是拥有图像,当它点击一个div时向下滑动更多信息 - 类似于新的谷歌图片效果。
下面脚本的问题是它在div打开时加载(我需要它在点击时打开)而且,这只能在一个div上工作,我需要多次为多个div做脚本吗?
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script>
$(document).ready(function() {
$('#clickme').click(function() {
$('#me').animate({
height: 'toggle'
}, 500
);
});
});
</script>
<div id="clickme" style="background-color: #333333; color: #FFFFFF; padding: 10px; width: 200px; cursor:pointer;">
Click here to toggle me in and out =)
</div>
<img id="me" src="http://www.randomsnippets.com/wp-content/uploads/2011/04/2.png" alt="It's me....ah!!!" title="Allen Liu" width="100" height="77" class="alignnone size-full wp-image-552" style="border: none;" />
答案 0 :(得分:2)
首先,您不能对多个元素使用相同的ID。相反,使用一个类。 jQuery只会选择第一次出现的ID,而忽略其余的。
其次,您需要为函数提供一些上下文 - 即$(this).next()
- 这是因为当您有多个带clickme
类的元素时,浏览器会知道它必须选择 next 出现的元素,其类为me
,而不是任何其他.me
元素。
$(document).ready(function() {
// Hide image onload
$('.me').hide();
// Provide context for each click event
$('.clickme').click(function() {
$(this).next('.me').animate({
height: 'toggle'
}, 500
);
});
});
HTML:
<div class="clickme" style="background-color: #333333; color: #FFFFFF; padding: 10px; width: 200px; cursor:pointer;">
Click here to toggle me in and out =)
</div>
<img class="me" src="http://www.randomsnippets.com/wp-content/uploads/2011/04/2.png" alt="It's me....ah!!!" title="Allen Liu" width="100" height="77" class="alignnone size-full wp-image-552" style="border: none;" />
答案 1 :(得分:1)
要开始隐藏div,您可以使用内联样式或(最好)display: none
元素或CSS文件将其设置为<style>
。
然后你可以使用类和相对定位来实现你想要做的事情:
<script>
$(document).ready(function() {
$('img.clickable').click(function() {
$(this).prev('.image-info').first().animate({
height: 'toggle'
}, 500
);
});
});
</script>
<div style="background-color: #333333; color: #FFFFFF;
padding: 10px; width: 200px; cursor:pointer; display:none;"
class="image-info">
Info about the image you clicked
</div>
<img src="http://www.randomsnippets.com/wp-content/uploads/2011/04/2.png"
alt="It's me....ah!!!" title="Allen Liu" width="100" height="77"
class="alignnone size-full wp-image-552 clickable" style="border: none;" />
答案 2 :(得分:0)