使用可见性来切换隐藏的元素?

时间:2014-05-06 14:01:09

标签: jquery css toggle visibility

请看这个小提琴http://jsfiddle.net/rabelais/e47xq/6/

当您将鼠标悬停在缩略图上时,会显示隐藏的图像,但我想使用visibility:hidden,而不是display:none,这可能吗?

$(".thumnails").on("mouseover mouseout", "a", function () {
$('[title="' + $(this).attr('href') + '"]').toggle();
 });

4 个答案:

答案 0 :(得分:1)

当然可以,只需创建自己的切换功能

$(".thumnails").on("mouseover mouseout", "a", function () {
    var flag = $(this).data('flag');

    $('[title="' + $(this).attr('href') + '"]').css('visibility', flag ? 'hidden' : 'visible');

    $(this).data('flag', !flag);
});

FIDDLE

或拆分事件

$(".thumnails").on({
    mouseover: function() {
        $('[title="' + $(this).attr('href') + '"]').css('visibility', 'visible');
    },    
    mouseout: function () {
        $('[title="' + $(this).attr('href') + '"]').css('visibility', 'hidden'); 
    }
}, 'a');

FIDDLE

答案 1 :(得分:1)

尝试:

$('[title="' + $(this).attr('href') + '"]').css('visibility', function (i, visibility) {
        return (visibility == 'visible') ? 'hidden' : 'visible';
});

DEMO

答案 2 :(得分:0)

你在这里:

$(".thumnails").on("mouseover mouseout", "a", function () {
    $('[title="' + $(this).attr('href') + '"]').toggle(
        function(){
            $(this).css('visibility', 'hidden');
        },
        function(){
            $(this).css('visibility', 'visible');
        });
});

答案 3 :(得分:0)

您也可以使用$.hover()功能执行此操作:

$(".thumnails a").hover(function () {        
        $('[title="' + $(this).attr('href') + '"]').css('visibility', 'visible');
    }, function() {
        $('[title="' + $(this).attr('href') + '"]').css('visibility', 'hidden');
    });