在工具提示中更改鼠标上的背景颜色

时间:2015-01-14 20:02:26

标签: javascript jquery html css

当我将鼠标悬停在表格中的行上时,会显示图像,当鼠标悬停在图像上时,会显示工具提示。 当我将鼠标悬停在工具提示中的选项(即test1,test2)时,放置鼠标光标的选项应突出显示或更改其背景颜色,以便用户知道他们将要点击的工具提示中的哪个选项。 请找小提琴http://jsfiddle.net/0w9yo8x6/65/

以下是示例javascript代码:

$(function() { 
    var rowData;
    $(document).tooltip({
        items: "img, [data-title]",
        content: function () {
            var element = $(this);
            if (element.is("img"))
             {
                 rowdata = element.attr("data-title");
                 $(document).off('click', '#test');
                 $(document).on('click', '#test', function() {
                     test();
                 });


             }

            return $(this).prop('title');
        },
        show: null, 
        close: function (event, ui) {
            ui.tooltip.hover(

            function () {
                $(this).stop(true).fadeTo(1000, 1);
            },

            function () {
                $(this).stop(true).fadeOut(200, function () {
                    $(this).remove();
                })
            });
        },
        position: {
            my: "left",
            at: "right"
        }
    });
});



$(function () {
  $('.one').attr('title', $('.myTooltipTable').remove().html());
  $(document).tooltip();
});

2 个答案:

答案 0 :(得分:1)

我认为这正是您所寻找的:http://jsfiddle.net/0w9yo8x6/66/

你必须要小心何时使用id以及何时使用类。

.toolTipHover:hover {
    background-color:lightgray;
}

<table class="myTooltipTable" style="position:absolute;">
    <tr><td> <span id="test" class="toolTipHover">test1</span></td></tr>
     <tr><td> <span id="test" class="toolTipHover">test2</span></td></tr>
 </table>

在上面的html中,你看到id =“test”有两个不同的东西?其中只有一个应该注册(第一个),因为在DOM上,ID必须是唯一的。所以我实现了一个类toolTipHover并将css应用于该类。

我没有触及任何其他代码,但我建议回过头代码以确保id是唯一的,如果有多个元素需要应用相同的函数,可能会添加一个类最好的选择。

答案 1 :(得分:1)

您无需编辑HTML并添加其他类。您可以通过添加简单的CSS悬停效果来实现此目的:

您只需添加以下代码:

.ui-tooltip-content span:hover {
    background-color:Orange;
    transition:all 0.4s ease-in-out;
}

请参阅以下完整代码:

$(function() { 
    var rowData;
    $(document).tooltip({
        items: "img, [data-title]",
        content: function () {
            var element = $(this);
            if (element.is("img"))
             {
                 rowdata = element.attr("data-title");
                 $(document).off('click', '#test');
                 $(document).on('click', '#test', function() {
                     test();
                 });
                 
 
             }
            
            return $(this).prop('title');
        },
        show: null, 
        close: function (event, ui) {
            ui.tooltip.hover(

            function () {
                $(this).stop(true).fadeTo(1000, 1);
            },

            function () {
                $(this).stop(true).fadeOut(200, function () {
                    $(this).remove();
                })
            });
        },
        position: {
            my: "left",
            at: "right"
        }
    });
});



$(function () {
  $('.one').attr('title', $('.myTooltipTable').remove().html());
  $(document).tooltip();
});
td.myData > img {
    display: none;
    float:right;
    height: 19px;
}
td.myData:hover > img {
    display: inline-block;
}
.ui-tooltip-content span {
    transition:all 0.4s ease-in-out;
}

.ui-tooltip-content span:hover {
    background-color:Orange;
    transition:all 0.4s ease-in-out;
}
<script>
      function test(){
    	alert("test invoked");
 
    }
 

</script>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/jqueryui/1.11.1/themes/smoothness/jquery-ui.css" />
    <script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.11.1/jquery-ui.min.js"></script>

<table class="myTooltipTable" style="position:absolute;">
    <tr><td> <span id="test" >test1</span></td></tr>
     <tr><td> <span id="test" >test2</span></td></tr>
 </table>

<br/><br><br>
<table border="1">
<tr>
<td class="myData">Data1 <img class="one" id="one" data-title="Data1" src="http://ssl.gstatic.com/gb/images/b_5dae6e31.png" width="15" height="15" alt="" />
<img class="two" id="two" src="https://www.webkit.org/blog-files/acid3-100.png" width="15" height="15" style="visibility:hidden;"/>
</td>
</tr>

<tr>
<td class="myData">Data2 <img class="one" id="one" data-title="Data2" src="http://ssl.gstatic.com/gb/images/b_5dae6e31.png" width="15" height="15" alt="" />
<img class="two" id="two" src="https://www.webkit.org/blog-files/acid3-100.png" width="15" height="15" style="visibility:hidden;"/>
</td>
</tr>

<tr>
<td class="myData">Data3 <img class="one" id="one" data-title="Data3" src="http://ssl.gstatic.com/gb/images/b_5dae6e31.png" width="15" height="15" alt="" />
<img class="two" id="two" src="https://www.webkit.org/blog-files/acid3-100.png" width="15" height="15" style="visibility:hidden;"/>
</td>
</tr>
</table>