我试图在任何时候都将这个隐藏的div放在主div之后,在以下情况下执行:
鼠标进入隐藏的div,它应该动画到左边,然后回到右边,并在主div的顶部
然后当鼠标离开隐藏的div时,它会向左移动,然后向右移动到主div之后。
我不熟悉js和jQuery,所以我尝试了类似的东西:
<div class="mainDiv">
content of main div
<div class="hiddenDiv">
content of hidden div
</div>
rest of content of main div
</div>
<script>
jQuery(document).ready(function() {
jQuery(".hiddenDiv")css('z-index',"-10");
//tell hiddenDiv to be hidden, this seem to block everything for some reason
jQuery(".hiddenDiv").mouseenter(function () {
jQuery(".hiddenDiv").animate({"left": "-=50px"}, "fast").css('z-index',"10");
//when mouse enters, hiddenDiv shows up
}),
jQuery(".hiddenDiv").mouseleave(function () {
jQuery(".hiddenDiv").animate({"left": "+=50px"}, "slow").css('z-index',"-10");
//when mouse leaves, it's hidden again.
});
});
</script>
但是我看到,当我在乞讨时给隐藏的div一个z指数-10时,没有任何作用。 能不能让我指出正确的方向来解决这个问题?
答案 0 :(得分:1)
.css('z-index',"10");
应该写成
.css('zIndex',"10");
并且你的第二个陈述错了,因为缺少一个点
jQuery(".hiddenDiv").css('zIndex',"-10");
所以请尝试这样写,而不是
jQuery(document).ready(function() {
var hdiv = jQuery(".hiddenDiv"); /* cache a reference for a matter of performance */
hdiv.css('zIndex', "-10")
.mouseenter(function () {
hdiv.animate({"left": "-=50px"}, "fast")
.css('zIndex', "10");
})
.mouseleave(function () {
hdiv.animate({"left": "+=50px"}, "slow")
.css('zIndex', "-10");
});
});
答案 1 :(得分:1)
你遇到的第一个第一个问题是,你的hiddendiv无法翻转,它隐藏着你的-10 z索引。就你的选择器而言,它的含义并不存在。
我会将您的第一个选择器更改为:
jQuery(".mainDiv").mouseenter(function () {
//etc etc
没有这个,你不能将您的hiddenDiv用作选择器
答案 2 :(得分:0)
看一下这个;
jQuery(document).ready(function() {
// Hide all .hiddenDiv
//jQuery(".hiddenDiv").css('z-index',"-10");
jQuery(".hiddenDiv").hide(); // Maybe this would be enough to hide the elements?
// Bind events to all .mainDiv
jQuery('.mainDiv')
.mouseenter(function () {
jQuery(this).find('.hiddenDiv') // Find all .hiddenDiv in the current .mainDiv
//.css('zIndex', "10")
.show()
.animate({"left": "-=50px"}, "fast");
})
.mouseleave(function () {
jQuery(this).find('.hiddenDiv')
.animate({"left": "+=50px"}, "slow", function() {
// This is a callback function that executes when the animation has finished.
//jQuery(this).css('zIndex', "-10");
jQuery(this).hide();
});
});
});