例如,我有一个div:
<div class="y1">
<img src="i/o.png" />
</div>
和
<!-- pre load -->
<div class="p1" style="display:none">
<h5 class="ob">Title</h5>
<img class="ob" src="i/ob.png" />
<small class="ob">Description</small>
<a href="#" class="oyna">PLAY</a>
</div>
和这个jquery
<script type="text/javascript">
$("div.y1").hover(
function () {
$('div.p1').slideDown('slow', function() {
});
}
);
</script>
我的问题是如何重复12次。我的意思是当我将鼠标悬停在y1上时,显示p1,y2 =&gt; p2,y3 =&gt; p3 ... y12 =&gt; P12。我希望你们了解我。非常感谢你!!!!
答案 0 :(得分:1)
应该是这样的:
$(function(){
$('div[class^=y]').hover(function(){
var self = $(this),
number = this.className.slice(1);
$('div.p' + number).slideDown('slow', function() {
});
}, function() {
var self = $(this),
number = this.className.slice(1);
$('div.p' + number).slideUp('slow', function() {
});
});
});
答案 1 :(得分:0)
做一些不同的事情......
将ID用于p#和y#系列指示器
在p#系列的DIV标签上,添加y#系列的标题.. <div id="p1" title="y1">
在y#系列的DIV标签上,添加一个类.. <div id="y1" class="hoverMe">
$('div.hoverMe').hover( function() {
$('[title=' + $(this).attr('id') + ']').slideDown('slow');
});
答案 2 :(得分:0)
我将假设您的y#
div位于ID为container
的div中。其次,我将假设你的y#
div中没有任何其他类适用于它们。
$('#container').delegate('div[class^=y]','mouseenter', function(){
$('div.p' + this.className.slice(1)).slideDown('slow');
}).delegate('div[class^=y]', 'mouseleave', function(){
$('div.p' + this.className.slice(1)).slideUp('slow');
});
这使用delegate
来避免绑定到多个DOM元素的成本。
修改要在悬停在其他元素上时隐藏p#
div,您可以使用此代码。
$('#container').delegate('div[class^=y]','mouseenter', function(){
$('div.p' + this.className.slice(1)).slideDown('slow').siblings().slideUp();
});