2016-11-23 6 views
-1

Я пытаюсь использовать эту скрипку http://jsfiddle.net/C6LPY/2/

$(function() { 
    var parent = $("#shuffle"); 
    var divs = parent.children(); 
    while (divs.length) { 
     parent.append(divs.splice(Math.floor(Math.random() * divs.length), 1)[0]); 
    } 
}); 

На моем сайте здесь:

https://github.com/craiglockwood/confheroes/blob/master/index.html, но я получаю «не может найти переменную» ошибка.

идея заключается в том, чтобы перетасовать дивы в случайном порядке каждый раз, когда страница загружается. скрипка работает, но как-то, а не с моим кодом.

Любой помощь очень appre лем, связанных.

+0

Тогда вопрос, вероятно, лежит с кодом не содержится в скрипку. Попытайтесь сузить его дальше. –

+1

Вы использовали фрагмент из своего сообщения в 'head' вашей страницы, но вы не включаете jQuery до нижней части' body'. Вы пытаетесь использовать jQuery, прежде чем страница узнает, что это такое. Вы можете либо переместить ваш фрагмент после включения jQuery, либо переместить jQuery include в 'head' перед вашим фрагментом. – Santi

+0

В вашем коде отсутствует библиотека jQuery. – spooky

ответ

0

заказ важен

Move рядный Javascript с вашим IIFE после сценария ссылки JQuery - либо в head элемента или к концу body элемента (читай this post для получения дополнительной информации о преимуществах размещения их к концу элемента body). В противном случае код jQuery не будет доступен для встроенного скрипта. Дополнительные сведения о включении внешних скриптов см. В разделе this guide.

<script type='text/javascript'> 
 
    //jQuery should not be loaded yet, so typeof $ should return undefined 
 
    console.log('typeof $ before including jQuery: ',typeof $); 
 
</script> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
 
<script src="assets/js/bootstrap.min.js"></script> 
 
<!-- at this point, jQuery should be defined, and $ should be usable as a shortcut for it.--> 
 
<script type='text/javascript'> 
 
    //ensure typeof $ is a function, otherwise it is likely the case that jQuery did not load 
 
    console.log('typeof $ after including jQuery: ',typeof $); 
 
    $(function() { 
 
    var parent = $("#shuffle"); 
 
    var divs = parent.children(); 
 
    while (divs.length) { 
 
     parent.append(divs.splice(Math.floor(Math.random() * divs.length), 1)[0]); 
 
    } 
 
    }); 
 
</script> 
 
<div id="shuffle">ShuffleDiv 
 
    <div>child div 1</div> 
 
    <div>child div 2</div> 
 
    <div>child div 3</div> 
 
</div>

Смежные вопросы