Display Tables in a slider

时间:2018-07-26 作者:ellen

我正在开发一个网站,我希望用户能够浏览表格,有点像画廊。我希望一次只能看到一张表,并且能够单击箭头查看下一张表。

这些表将经常用新数据更新。目前,我在TablePress中有这些表,它们以某种博客格式显示,一个接一个。用户必须进行大量的滚动,而且这不是一个非常干净的设置。

我试着寻找一个可以做到这一点的插件,但我找到的所有插件都只用于图像,不适用于Tablepress表。

如何更好地显示这些表?

1 个回复
最合适的回答,由SO网友:junkrig 整理而成

这里有一种方法。您应该能够创建一个简单的jQuery和CSS滑块来更好地显示TablePress表。

下面是一个可以使用的简单jQuery滑块的好例子:https://codepen.io/doodlemarks/pen/aFcly

您需要将CSS和jQuery添加到站点,然后在帖子/页面中插入所需的HTML元素:

例如(CSS和jQuery从这里开始-https://codepen.io/doodlemarks/pen/aFcly):

HTML

<div id="slider">
    <a href="#" class="control_next">></a>
    <a href="#" class="control_prev"><</a>
    <ul>
        <li>[table id=1 /]</li>
        <li>[table id=2 /]</li>
        <li>[table id=3 /]</li>
    </ul>

CSS

#slider {
  position: relative;
  overflow: hidden;
  margin: 20px auto 0 auto;
  border-radius: 4px;
}

#slider ul {
  position: relative;
  margin: 0;
  padding: 0;
  height: 200px;
  list-style: none;
}

#slider ul li {
  position: relative;
  display: block;
  float: left;
  margin: 0;
  padding: 0;
  width: 500px;
  height: 300px;
  background: #ccc;
  text-align: center;
  line-height: 300px;
}

a.control_prev, a.control_next {
    position: absolute;
    top: 40%;
    z-index: 999;
    display: block;
    padding: 4% 3%;
    width: auto;
    height: auto;
    background: #2a2a2a;
    color: #fff;
    text-decoration: none;
    font-weight: 600;
    font-size: 18px;
    opacity: 0.8;
    cursor: pointer;
 }

a.control_prev:hover, a.control_next:hover {
    opacity: 1;
    -webkit-transition: all 0.2s ease;
}

a.control_prev {
    border-radius: 0 2px 2px 0;
}

a.control_next {
    right: 0;
    border-radius: 2px 0 0 2px;
}

.slider_option {
    position: relative;
    margin: 10px auto;
    width: 160px;
    font-size: 18px;
}

jQuery

jQuery(document).ready(function ($) {

    jQuery(\'#checkbox\').change(function(){
    setInterval(function () {
        moveRight();
    }, 3000);
});

var slideCount = jQuery(\'#slider ul li\').length;
var slideWidth = jQuery(\'#slider ul li\').width();
var slideHeight = jQuery(\'#slider ul li\').height();
var sliderUlWidth = slideCount * slideWidth;

jQuery(\'#slider\').css({ width: slideWidth, height: slideHeight });

jQuery(\'#slider ul\').css({ width: sliderUlWidth, marginLeft: - slideWidth });

jQuery(\'#slider ul li:last-child\').prependTo(\'#slider ul\');

function moveLeft() {
    jQuery(\'#slider ul\').animate({
        left: + slideWidth
    }, 200, function () {
        jQuery(\'#slider ul li:last-child\').prependTo(\'#slider ul\');
        jQuery(\'#slider ul\').css(\'left\', \'\');
    });
};

function moveRight() {
    $(\'#slider ul\').animate({
        left: - slideWidth
    }, 200, function () {
        jQuery(\'#slider ul li:first-child\').appendTo(\'#slider ul\');
        jQuery(\'#slider ul\').css(\'left\', \'\');
    });
};

jQuery(\'a.control_prev\').click(function () {
    moveLeft();
});

jQuery(\'a.control_next\').click(function () {
    moveRight();
});

});    
CSS需要根据您的表格大小、页面布局等进行编辑,但这应该足以让您开始:-)

结束

相关推荐

Table editing in Wordpress

我在Wordpress中使用一个表来获得正确的间距,但我想完全删除边框或将其变为白色,这样它就不再可见了。如果有人知道怎么做,我将不胜感激。我尝试过很多方法,但都做不到。网址是www.hrms。co.za(但仍在建设中)