点击,做某事,再次点击,然后做点什么;每个循环

时间:2014-03-07 19:15:48

标签: javascript jquery html dom

我有这段代码:

enter image description here

$('html, body').click(function() {

    $("#content a").each(function(i) {
        $(this).remove(i++);
    });

});

现在我必须通过点击此页面将scrollTop设置为每个下一个和上一个元素:

enter image description here

对于动画我有这个代码:(但这个代码很糟糕!!!)

$('#prevPost').on('click', function() {
    var prevPosition = $("a").find('div.private_overlay').parent().prev().offset();
    $('html, body').animate({
        scrollTop: prevPosition.top
    });
});

我需要将这两个代码组合在一起。

页面上的每个元素都在#container a .private_overlay

此外,scrollTop还必须适用于新添加的元素 - 通过另一个脚本,我没有洞察力。所以我想必须.on('click', function() {});来刷新DOM。


请,这正是我正在尝试的工作:

enter image description here

如您所见,选项“删除不必要的帖子。”正常工作。现在我必须编写NEXT按钮和PREV按钮。所以,脚本正在寻找特定的帖子。而标记目前发现(并非所有,但具体发现的)。当脚本有特定帖子时,必须滚动到帖子浏览器窗口。

以下是我目前的代码:

function searchBox() {

    $('body').append('<div id="searchBox"><p style="margin: 0px;"><strong>SearchBox: <span style="font-size: 10px;">(private posts)</span></strong></p> \
<p style="margin: 5px auto; text-align: center"><input id="prevPost" type="button" value="Previous post"></input>   \
<input id="nextPost" type="button" value="Next post"></input></p>   \
<p style="margin: 0px;"><input id="hidePosts" type="checkbox"></input><label for="hidePosts" style="vertical-align: bottom;">Delete unnecessary posts.</label></p></div>');

    $('#searchBox').css({
        position: 'fixed',
        left: '20px',
        bottom: '20px',
        background: 'white',
        color: 'rgb(125, 125, 125)',
        fontSize: '13px',
        border: '1px solid rgb(125, 125, 125)',
        borderRadius: '7px',
        padding: '7px',
        zIndex: '9999',
        boxShadow: '0px 0px 4px rgba(0, 0, 0, 0.3)',
        display: 'none'
    }).fadeIn();

    $('#hidePosts').one('click', function() {
        $(window).on('scroll', function() {
            $('#content a').not($('a').find('div.private_overlay').parent()).hide();
        });
        $(this).attr('disabled','disabled');
    });

    $('#prevPost').on('click', function() {
        return_text('prevpost');
    });

    $('#nextPost').on('click', function() {
        return_text('nextpost');
    });

};

return_text('prevpost');return_text('nextpost');在哪里我必须输入代码。

我的旧代码滚动页面:

//$('#prevPost').click(function() {
    $('#prevPost').on('click', function() {
        var prevPosition = $("a").find('div.private_overlay').parent().prev().offset();
        $('html, body').animate({
            scrollTop: prevPosition.top
        });
    });
//});

这不是全部!当用户浏览页面时,图片会由不熟悉的脚本自动加载。所以脚本必须找到最近添加的图像 - 需要刷新DOM。

0 个答案:

没有答案