javascript - shuffleJs 不工作

标签 javascript jquery shuffle

我在使其正常工作时遇到问题。我是 JavaScript 新手 我正在使用https://github.com/Vestride/Shuffle 为了获得额外的帮助,我学习了本教程 https://www.youtube.com/watch?v=t9Wct6cGugA

我觉得我输入的内容都正确(即使是德语),但它无法正常工作。请原谅我,因为我仍在通过阅读来学习区分 jQuery 和 JavaScript。我的按钮没有像教程中那样给我想要的结果。非常感谢任何帮助!

$(function () {
    gridContainer = $('#shuffleContainer');
    var sizer = gridContainer.find('.col-md-4');

    gridContainer.shuffle ({
        sizer: sizer,
        speed: 500,
        easing: 'ease-out'
    });

    $('#btnAll').on('click', function () {
        gridContainer.shuffle('shuffle', function($el, shuffle) {
            return true;
        });
    });

    $('#btnFurniture').on('click', function () {
        gridContainer.shuffle('shuffle', function($el, shuffle) {
            return $el.data('group') == 'Furniture';
        });
    });

    $('#btnPet').on('click', function () {
        gridContainer.shuffle('shuffle', function($el, shuffle) {
            return $el.data('group') == 'Pet';
        });
    });

    $('#btnElectronic').on('click', function () {
        gridContainer.shuffle('shuffle', function($el, shuffle) {
            return $el.data('group') == 'Electronic';
        });
    });

    $('#btnTransportation').on('click', function () {
        gridContainer.shuffle('shuffle', function($el, shuffle) {
            return $el.data('group') == 'Transportation';
        });
    });
});
h1 {
    margin-bottom: 20px;
}
.container {
    padding-top: 50px;
}
.selector {
    margin-top: 20px;
}
#shuffleContainer {
    margin-top: 10px;
}

.col-md-4 {
    margin-bottom: 150px;
    height: 270px;
}
<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0 initial-scale=1" />
    <title>My Shuffle Demo</title>

    <link href="Content/bootstrap.css" rel="stylesheet" />
    <link href="css/style.css" rel="stylesheet" />

    <script src="Scripts/jquery-1.11.0.js"></script>
    <script src="Scripts/bootstrap.js"></script>
    <script src="shuffle/shuffle.js"></script>
    <script src="js/script.js"></script>
    <script src="Scripts/jquery.shuffle.js"></script>
    <script src="Scripts/jquery.shuffle.modernizr.js"></script>


</head>

<body>

    <div class="container">
        <h1>Shuffle.js Demo</h1>
        <div class="row">
            <div class="col-md-12">
                Shuffle.js is the best <a href="http://vestride.github.io/Shuffle/">Shuffle It Up!</a>
            </div>
        </div>
        <div class="row selector">
            <div class="col-md-12">
                <div class="btn-group">
                    <button type="button" class="btn btn-default" id="btnAll">All</button>
                    <button type="button" class="btn btn-default" id="btnFurniture">Furniture</button>
                    <button type="button" class="btn btn-default" id="btnPet">Pet</button>
                    <button type="button" class="btn btn-default" id="btnElectronic">Electronic</button>
                    <button type="button" class="btn btn-default" id="btnTransportation">Transportation</button>
                </div>
            </div>
        </div>
        <div id="shuffleContainer" class="row">
            <div class="col-md-4" data-group="furniture">
                <img src="image/blackChair.jpg" class="img-responsive"/>
             </div>
            <div class="col-md-4" data-group="furniture">
                <img src="image/blackBed.jpg" class="img-responsive" />
            </div>
            <div class="col-md-4" data-group="pet">
                <img src="image/blackKitten.jpg" class="img-responsive" />
            </div>
            <div class="col-md-4" data-group="transportation">
                <img src="image/blueBike.jpg" class="img-responsive" />
            </div>
            <div class="col-md-4" data-group="furniture">
                <img src="image/blueChair.jpg" class="img-responsive" />
            </div>
            <div class="col-md-4" data-group="transportation">
                <img src="image/chromeBike.jpg" class="img-responsive" />
            </div>
            <div class="col-md-4" data-group="pet">
                <img src="image/grayCat.jpg" class="img-responsive" />
            </div>
            <div class="col-md-4" data-group="electronic">
                <img src="image/iphone.jpg" class="img-responsive" />
            </div>
            <div class="col-md-4" data-group="pet">
                <img src="image/jindoDog.jpg" class="img-responsive" />
            </div>
            <div class="col-md-4" data-group="electronic">
                <img src="image/lenovoLap.jpg" class="img-responsive" />
            </div>
            <div class="col-md-4" data-group="electronic">
                <img src="image/macBook.jpg" class="img-responsive" />
            </div>
            <div class="col-md-4" data-group="pet">
                <img src="image/monkey.jpg" class="img-responsive" />
            </div>
            <div class="col-md-4" data-group="furniture">
                <img src="image/orangeBed.jpg" class="img-responsive" />
            </div>
            <div class="col-md-4" data-group="pet">
                <img src="image/penisCat.jpg" class="img-responsive" />
            </div>
            <div class="col-md-4" data-group="furniture">
                <img src="image/pinkBed.jpg" class="img-responsive" />
            </div>
            <div class="col-md-4" data-group="pet">
                <img src="image/pugDog.jpg" class="img-responsive" />
            </div>
            <div class="col-md-4" data-group="furniture">
                <img src="image/PurpleChair.jpg" class="img-responsive" />
            </div>
            <div class="col-md-4" data-group="furniture">
                <img src="image/redChair.jpg" class="img-responsive" />
            </div>
            <div class="col-md-4" data-group="electronic">
                <img src="image/samsungEdge.jpg" class="img-responsive" />
            </div>
            <div class="col-md-4" data-group="furniture">
                <img src="image/yellowChair.jpg" class="img-responsive" />
            </div>
        </div>
    </div>


</body>
</html>

最佳答案

我能够用 fiddle 重现您的问题并发现原因。 在点击事件中,您遇到区分大小写的 Transportation 问题。它应该与 data-group="transportation" 中区分大小写的值匹配

修复方法是调整点击事件中的大小写:

$('#btnTransportation').on('click', function () {
    gridContainer.shuffle('shuffle', function($el, shuffle) {
        return $el.data('group') == 'transportation';
    });
}); 

检查working demo .

希望对你有帮助!

关于javascript - shuffleJs 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35643513/

相关文章:

javascript - 如何更新由EntityAdapter redux组成的嵌套对象?

javascript - 选择同一类的多个 id

c++ - 一种用于对等值条目进行排序和改组的快速算法(最好使用 STL)

javascript - 有选择地随机化 JavaScript 对象数组

javascript - 每次状态更新时都会调用 shuffle 函数?

javascript - 如何对纯二进制数据进行纯按位运算

javascript - 在 Canvas 上用不同颜色绘制 2 个形状

javascript - 在滚动问题上向下滑动菜单

javascript - 在 JavaScript 中创建 n 个按钮(或可变数量的按钮)

javascript - 停止通过 x-editable 输入 &lt;script&gt;