twitter喜欢jquery中的当前行效果?

时间:2010-07-12 13:06:04

标签: jquery twitter effect mousehover

我正在迭代div并编辑,删除其中的按钮...如何隐藏mouseout上的链接按钮并在鼠标上显示它们就像推特一样........

$.each(data.Results, function() {
                    divs += '<div class="resultsdiv"><a href="Clients\Details' + this.ClientId + '">Edit</a><br/><a href="Clients\Details' + this.ClientId + '">Delete</a></div>';
                });
                $("#ResultsDiv").append(divs);
                $(".resultsdiv:even").addClass("resultseven");
                $(".resultsdiv").hover(function() {
                    $(this).addClass("resultshover");
                }, function() {
                    $(this).removeClass("resultshover");
                });

和css是:

.resultseven { background-color: #EFF1f1; }
.resultshover { background-color: #F4F2F2; cursor:pointer; }

3 个答案:

答案 0 :(得分:1)

您可以使用.children()找到孩子并为其设置动画,如下所示:

$.each(data.Results, function() {
    divs += '<div class="resultsdiv"><a href="Clients\Details' + this.ClientId + 
            '">Edit</a><br/><a href="Clients\Details' + this.ClientId + 
            '">Delete</a></div>';
});
$("#ResultsDiv").append(divs);
$(".resultsdiv:even").addClass("resultseven");
$(".resultsdiv").hover(function() {
    $(this).addClass("resultshover").children('a').stop(true, true).fadeIn();
}, function() {
    $(this).removeClass("resultshover").children('a').stop(true, true).fadeOut();
});

或者,使用.animate()的较短版本,最初将它们隐藏在CSS中并执行此操作:

$(".resultsdiv").hover(function() {
    $(this).toggleClass("resultshover")
           .children('a').stop(true, true).animate({opacity: 'toggle');
});

答案 1 :(得分:0)

你可以循环播放孩子并隐藏它们

$.each(data.Results, function() {
    divs += '<div class="resultsdiv"><a href="Clients/Details' + this.ClientId +     '">Edit</a><br/><a href="Clients/Details' + this.ClientId + '">Delete</a></div>';
});
$("#ResultsDiv").append(divs);
$(".resultsdiv:even").addClass("resultseven");
$(".resultsdiv").children().hide();
$(".resultsdiv").hover(function() {
    $(this).addClass("resultshover");
    $(this).children().show();
}, function() {
    $(this).removeClass("resultshover");
    $(this).children().hide();
});

答案 2 :(得分:0)

你可以,

$.each(data.Results, function() {
    var divs = '<div class="resultsdiv"><a href="Clients\Details' + this.ClientId + '">Edit</a><br/><a href="Clients\Details' + this.ClientId + '">Delete</a></div>';
    $(divs).hide();
    $(this).append(divs);
    $('.resultdiv:even').addClass('resultseven');
    $(this).hover(function() {
            $(this).find('.resultsdiv').show().addClass('resultshover');
        }, 
        function() {
            $(this).find('.resultsdiv').hide().removeClass('resultshover');
        }
    );
});

我假设您的data.Results是元素列表。也许li