【问题标题】:jQuery load more content divsjQuery 加载更多内容 div
【发布时间】:2017-03-18 15:09:28
【问题描述】:

我正在尝试使用 jQuery 隐藏一大块 div 并使用按钮显示更多。

但是,由于我的 div 是 inline-block,它们没有被隐藏。

只应显示前 8 个 div,其余应隐藏。

一旦我完成了这项工作,我将在显示按钮上工作。

类似于本网站上较旧的发布按钮: https://melodydemo.wordpress.com/

这是我用于隐藏和显示 div 的 jQuery:

$(function () {
    $("div").slice(0, 8).show();
    $("#loadMore").on('click', function (e) {
        e.preventDefault();
        $("div:hidden").slice(0, 8).slideDown();
        if ($("div:hidden").length == 0) {
            $("#load").fadeOut('slow');
        }
        $('html,body').animate({
            scrollTop: $(this).offset().top
        }, 1500);
    });
});

$('a[href=#top]').click(function () {
    $('body,html').animate({
    scrollTop: 0
    }, 600);
    return false;
});

$(window).scroll(function () {
    if ($(this).scrollTop() > 50) {
         $('.totop a').fadeIn();
    } else {
        $('.totop a').fadeOut();
    }
});    

这是我尝试的代码笔:

https://codepen.io/kastex/pen/RowYLL

【问题讨论】:

  • 让你的 Q 更具体@kevin 否则无法回答。
  • 对不起,我现在把它写得更简短和具体了,很抱歉造成混乱。

标签: jquery html css web


【解决方案1】:

Live view with Jsfiddle

Live view with codepen

您需要添加和删除的内容

已移除 CSS: 来自divstyle

display: inline-block;

添加 CSS : 使用 display 类添加新样式。

div.display {
    display: inline-block;
}

JavaScript:

已移除 JS: 从第 2 行和第 3 行开始。

.show(); & .slideDown();

还有

添加 JS: 将此行号 2 和 3 都添加。

.addClass('ClassName')

$(function () {
    $("div").slice(0, 8).addClass('display');
    $("#loadMore").on('click', function (e) {
        e.preventDefault();
        $("div:hidden").slice(0, 8).addClass('display');
        if ($("div:hidden").length == 0) {
            $("#load").fadeOut('slow');
        }
        $('html,body').animate({
            scrollTop: $(this).offset().top
        }, 1500);
    });
});

$('a[href=#top]').click(function () {
    $('body,html').animate({
        scrollTop: 0
    }, 600);
    return false;
});

$(window).scroll(function () {
    if ($(this).scrollTop() > 50) {
        $('.totop a').fadeIn();
    } else {
        $('.totop a').fadeOut();
    }
});
  
  
  
body {
    background-color: #f6f6f6;
    width: 400px;
    margin: 20px auto;
    font: normal 13px/100% sans-serif;
    color: #444;
}
div {
    display:none;
    padding: 10px;
    border-width: 0 1px 1px 0;
    border-style: solid;
    border-color: #fff;
    box-shadow: 0 1px 1px #ccc;
    margin-bottom: 5px;
    background-color: #f1f1f1;
	/*display: inline-block;*/
}
div.display {
	display: inline-block;
}
.totop {
    position: fixed;
    bottom: 10px;
    right: 20px;
}
.totop a {
    display: none;
}
a, a:visited {
    color: #33739E;
    text-decoration: none;
    display: block;
    margin: 10px 0;
}
a:hover {
    text-decoration: none;
}
#loadMore {
    padding: 10px;
    text-align: center;
    background-color: #33739E;
    color: #fff;
    border-width: 0 1px 1px 0;
    border-style: solid;
    border-color: #fff;
    box-shadow: 0 1px 1px #ccc;
    transition: all 600ms ease-in-out;
    -webkit-transition: all 600ms ease-in-out;
    -moz-transition: all 600ms ease-in-out;
    -o-transition: all 600ms ease-in-out;
}
#loadMore:hover {
    background-color: #fff;
    color: #33739E;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>Content 1</div>
<div>Content 2</div>
<div>Content 3</div>
<div>Content 4</div>
<div>Content 5</div>
<div>Content 6</div>
<div>Content 7</div>
<div>Content 8</div>
<div>Content 9</div>
<div>Content 10</div>
<div>Content 11</div>
<div>Content 12</div>
<div>Content 13</div>
<div>Content 14</div>
<div>Content 15</div>
<div>Content 16</div>
<div>Content 17</div>
<div>Content 18</div>
<div>Content 19</div>
<div>Content 20</div>

<div>Content 21</div>
<div>Content 22</div>
<div>Content 23</div>
<div>Content 24</div>

<div>Content 25</div>
<div>Content 26</div>
<div>Content 27</div>
<div>Content 28</div>

<div>Content 29</div>
<div>Content 30</div>
<div>Content 31</div>
<div>Content 32</div>

<div>Content 33</div>
<div>Content 34</div>
<div>Content 35</div>
<div>Content 36</div>


<a href="#" id="loadMore">Load More</a>

<p class="totop"> 
    <a href="#top">Back to top</a> 
</p>

【讨论】:

  • 完美,只是想要我尝试做的,谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-16
  • 1970-01-01
  • 1970-01-01
  • 2011-09-14
  • 2014-02-08
相关资源
最近更新 更多