如何使用javascript更改html中元素的顺序

安库尔·查夫达(Ankur chavda)

我正在创建一个简单的游戏,该游戏有9个分区,每个分区有8个隐藏在其中的企鹅,第9个分区有一个怪物。现在我的游戏运行正常,但是我想做的是每次加载页面时,划分的布局都应该改变,以增加游戏的随机性。

这是我的代码:

$(document).ready(function() {
  //This code will run after your page loads
  $('body').on('mousedown', '.yeti', function(event) {
    alert("Yaaaarrrr!");
  });
});
<div class="gameholder">
  <div class="title"></div>
  <div class="penguin1"></div>
  <div class="penguin2"></div>
  <div class="penguin3"></div>
  <div class="penguin4"></div>
  <div class="penguin5"></div>
  <div class="penguin6"></div>
  <div class="penguin7"></div>
  <div class="penguin8"></div>
  <div class="yeti"></div>
</div>

在向图片添加图片和定位之后,div它的外观是这样的。

:

里恩·威廉姆斯

饲养动物

考虑为所有游戏元素创建一个容器,因为您只希望将它们的顺序随机化,因为您不希望在所有这些元素中混淆标题:

<div class='game-container'>
    <div class="penguin1"></div>
    <div class="penguin2"></div>
    <div class="penguin3"></div>
    <div class="penguin4"></div>
    <div class="penguin5"></div>
    <div class="penguin6"></div>
    <div class="penguin7"></div>
    <div class="penguin8"></div>
    <div class="yeti">
</div>

改组他们

这应该使它们更容易通过一个简单的jQuery扩展函数(如在相关线程中提到的那样)进行随机化

$.fn.randomize = function(selector){
    (selector ? this.find(selector) : this).parent().each(function(){
        $(this).children(selector).sort(function(){
            return Math.random() - 0.5;
        }).detach().appendTo(this);
    });
    return this;
};

您可以将这两种方法结合起来,然后在页面加载后直接调用以下代码:

$(document).ready(function(){
    // Define your randomize function here

    // Randomize all of the elements in your container
    $('.game-container').randomize('div');
});

例子

在此处输入图片说明

$.fn.randomize = function(selector){
    (selector ? this.find(selector) : this).parent().each(function(){
        $(this).children(selector).sort(function(){
            return Math.random() - 0.5;
        }).detach().appendTo(this);
    });

    return this;
};
// Randomize all of the <div> elements in your container
$(".game-container").randomize('div');
.game-container { width: 300px; }

.penguin { background: url('http://vignette1.wikia.nocookie.net/farmville/images/b/be/Baby_Penguin-icon.png/revision/latest?cb=20110103080900'); height: 100px; width: 100px; display: inline-block; }
.yeti { background: url('http://www.badeggsonline.com/beo2-forum/images/avatars/Yeti.png?dateline=1401638613'); height: 100px; width: 100px; display: inline-block; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<div class='game-container'>
  <div class='penguin'></div>
  <div class='penguin'></div>
  <div class='penguin'></div>
  <div class='penguin'></div>
  <div class='penguin'></div>
  <div class='penguin'></div>
  <div class='penguin'></div>
  <div class='yeti'></div>
  <div class='penguin'></div>
</div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

HTML-更改文档流中元素的顺序

来自分类Dev

更改R中向量中元素的顺序

来自分类Dev

更改网格视图中元素的顺序

来自分类Dev

如何忽略元组中元素的顺序

来自分类Dev

如何保持流中元素的顺序

来自分类Dev

使用CSS更改HTML元素的顺序

来自分类Dev

使用javascript检测HTML DOM中元素的属性

来自分类Dev

如何使用Jquery更改列表元素的顺序?

来自分类Dev

如何使用Jquery更改列表元素的顺序?

来自分类Dev

JavaScript中元素样式更改的回调

来自分类Dev

更改可聚焦ViewGroup中元素的阅读顺序

来自分类Dev

更改ArrayList中元素顺序的最快方法是什么?

来自分类Dev

如何更改未选中元素的样式?

来自分类Dev

如何更改数组中元素的位置

来自分类Dev

如何更改设置的cpp中元素的属性

来自分类Dev

如何更改Visio形状中元素的宽度

来自分类Dev

如何更改数组中元素的位置?

来自分类Dev

使用Javascript更改HTML元素后如何刷新其样式?

来自分类Dev

如何使用javascript更改html元素的图像源

来自分类Dev

使用Javascript更改HTML元素后如何刷新它的样式?

来自分类Dev

如何减少html中元素之间的空间?

来自分类Dev

如何根据jQuery中元素的顺序设置持续时间

来自分类Dev

如何控制用 PHP 创建的 XML 中元素的顺序?

来自分类Dev

集合中元素的python顺序

来自分类Dev

结构中元素的C顺序

来自分类Dev

列表中元素的相对顺序

来自分类Dev

numpy数组中元素的顺序

来自分类Dev

如何使用 Javascript 有效地确定 HTML 文档中同级元素的相对顺序

来自分类Dev

使用JavaScript更改HTML元素的性质