脚本代码在firefox和Internet Explorer中运行良好,但在google chrome中没有

时间:2014-05-10 07:12:48

标签: jquery html css google-chrome firefox

这是我的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>

2 个答案:

答案 0 :(得分:1)

您的代码几乎没问题:http://jsfiddle.net/Rq46A/1/

尝试:

$(document).ready(function() {
    $('.tab-text').hide();

    $('.tab-container').hover(function() {
        $('.tab-text').show();
    }, function() {
        $('.tab-text').hide();
    });

});
  • 您不需要2 $(document).ready();
  • 而不是$(this).find...使用$('.tab-text')

答案 1 :(得分:0)

嗯,这很有意思。我已经优化了你的小提琴,具有讽刺意味的是它适用于我测试过这个功能的所有浏览器,除了chrome。在chrome,它只是第一次工作。但在它之后,它无法很好地显示元素。以下是一个片段。

$(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(); 
        });
    });
});

Fiddle

我所做的是将.hover()函数分配给每个找到的具有类tab-container的div。并且我使用变量currText来存储找到的元素,当你悬停父div时,你不必重新搜索正确的元素。

另外,我已经以适当的格式调整了HTML结构。 (/ - 标记中缺少fe <img>。 除此之外,默认隐藏的元素由CSS完成。

我现在要发布此答案,通知您show()在使用hide()功能后效果不佳。我会发现它是否是一个错误并且可以解决。

更新1

当尝试仅在CSS中完成相同操作时,它具有与上述脚本相同的行为。但是在查看CSS时,我发现chrome存在浮动元素问题。

如果我将图像浮动到左侧,使用下面的CSS,脚本可以正常工作

.tab-container img {
    float: left;
}

当然,Chrome的多个浮动CSS值存在问题。我还注意到两个浮点数,一个是左边,一个是右边的.tab-content选择器。

请检查chrome和FF中的updated fiddle。现在,在添加上述CSS规则后,它按预期工作。我将向chrome提交一个错误报告,因为这是Chrome端的不合规行为。

我希望这能解决你的问题。