这是我的show hide div.not的html和脚本代码在google chrome中工作但它在firefox和ie8中运行正常我现在可以做什么?请查看我分享的代码。隐藏();节目();功能无法正常工作。
<script src="js/jquery-1.9.1.js"></script>
<script src="js/jquery-1.9.1.min.js"></script>
<style>
.tab-container /* this is the css code for the tabs*/
{
float:left;
width:30%;
//border:1px solid #147D36;
//border-left:4px solid #147D36;
margin-left:1.5%;
margin-right:1.5%;
}
.tab-text /* this is the div for the text that is coming on hover*/
{
width:97%;
margin-left:3%;
float:left;
background:#fff;
opacity:0.5;
color:#1B6298;
margin-top:-65px;
z-index:999999;
/*display:none;*/
}
.tab-title/* this is the div for the text title that is coming on hover*/
{
float:left;
width:100%;
font-weight:bold;
font-size:18px;
padding-top:17px;
}
.tab-content/* this is the div for the text content that is coming on hover*/
{
float:left;
width:30%;
float:right;
font-size:12px;
padding-bottom:10px;
}
</style>
<!--this is my html code-->
<div class="tab-container">
<img src="images/ourmission.png" width="100%">
<div class="tab-text">
<div class="tab-title">Our Mission</div>
<div class="tab-content">read more</div>
</div>
</div>
<div class="tab-container">
<img src="images/ourfinincial.png" width="100%">
<div class="tab-text">
<div class="tab-title">Our Financial</div>
<div class="tab-content">read more</div>
</div>
</div>
<div class="tab-container">
<img src="images/ourgoals.png" width="100%">
<div class="tab-text">
<div class="tab-title">Our Team</div>
<div class="tab-content">read more</div>
</div>
</div>
<script>
/*jquery code for the show and hide function on hover-scripting code */
$(document).ready(function() {
$('.tab-text').hide();
$('.tab-container').hover(function() {
$(this).find('.tab-text').show();
}, function() {
$('.tab-text').hide();
});
});
</script>
答案 0 :(得分:1)
您的代码几乎没问题:http://jsfiddle.net/Rq46A/1/
尝试:
$(document).ready(function() {
$('.tab-text').hide();
$('.tab-container').hover(function() {
$('.tab-text').show();
}, function() {
$('.tab-text').hide();
});
});
$(document).ready();
$(this).find...
使用$('.tab-text')
答案 1 :(得分:0)
$(document).ready(function() {
// hold curr display
var currText = null;
// hide all tabs
// $('.tab-text').hide();
// action when hovering
$('.tab-container').each(function() {
$(this).hover(function() {
currText = $(this).find('.tab-text');
currText.show(); // doesn't work perfectly in chrome after hide() call
}, function(){
currText.hide();
});
});
});
我所做的是将.hover()
函数分配给每个找到的具有类tab-container
的div。并且我使用变量currText
来存储找到的元素,当你悬停父div时,你不必重新搜索正确的元素。
另外,我已经以适当的格式调整了HTML结构。 (/
- 标记中缺少fe <img>
。
除此之外,默认隐藏的元素由CSS完成。
我现在要发布此答案,通知您show()
在使用hide()
功能后效果不佳。我会发现它是否是一个错误并且可以解决。
当尝试仅在CSS中完成相同操作时,它具有与上述脚本相同的行为。但是在查看CSS时,我发现chrome存在浮动元素问题。
如果我将图像浮动到左侧,使用下面的CSS,脚本可以正常工作。
.tab-container img {
float: left;
}
当然,Chrome的多个浮动CSS值存在问题。我还注意到两个浮点数,一个是左边,一个是右边的.tab-content
选择器。
请检查chrome和FF中的updated fiddle。现在,在添加上述CSS规则后,它按预期工作。我将向chrome提交一个错误报告,因为这是Chrome端的不合规行为。
我希望这能解决你的问题。