Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Карусель random (https://javascript.ru/forum/jquery/31037-karusel-random.html)

bojikodab 24.08.2012 08:28

Карусель random
 
Здравствуйте!

Имеется скрипт карусели (jcarousel), который отлично работает. Необходимо сделать так, чтобы после обновления страницы, появлялись другие картинки, т.е. вывод был рандом. Подскажите как реализовать пожалуйста! Нужно чтобы элементы постоянно менялись при выводе...
<script type="text/javascript">
 
jQuery(document).ready(function() {
     jQuery('#mycarousel').jcarousel({scroll:3, auto: 10, wrap: 'circular'});
});
 
</script>


<ul id="mycarousel" class="jcarousel-skin-tango">
     
    <li>
        <div class="fl_left"> 
        <div class="ava_top"><img src="datas/defaultav/blank.png" alt="" /></div>
        <div class="l_float"><a href="#" class="sl_link">Поисковые системы</a><p class="sl_desc">Гарантированный Топ для сайтов из Америки, Европы так и для...</p></div>
        <div class="clear"></div>
        </div>
  
    </li>
     
    <li>
        <div class="fl_left"> 
        <div class="ava_top"><img src="datas/defaultav/blank.png" alt="" /></div>
        <div class="l_float"><a href="#" class="sl_link">Поисковые системы</a><p class="sl_desc">Гарантированный Топ для сайтов из Америки, Европы так и для...</p></div>
        <div class="clear"></div>
        </div>
  
    </li>
     
    <li>
        <div class="fl_left"> 
        <div class="ava_top"><img src="datas/defaultav/blank.png" alt="" /></div>
        <div class="l_float"><a href="#" class="sl_link">Поисковые системы</a><p class="sl_desc">Гарантированный Топ для сайтов из Америки, Европы так и для...</p></div>
        <div class="clear"></div>
        </div>
  
    </li>
 
</ul>


Буду очень признателен за любую помощь и подсказку!

nerv_ 24.08.2012 09:50

bojikodab, ну так используйте рандом

LittlePony 24.08.2012 10:07

То есть, вы хотите, чтобы при каждом обновлении страницы порядок элементов в html был другим? Это больше смысла делать на серверной стороне.
Либо же, если на клиентской, то вам нужно формировать этот список каждый раз при загрузке страницы из массива. Массив предварительно перемешать. И только после этого применять плагин.

nerv_ 24.08.2012 10:22

Цитата:

Сообщение от LittlePony
перемешать

зачем оно, если и так есть?

arr.sort( function() {
    // тут возвращаем -1, 0 или 1
});

bojikodab 24.08.2012 11:26

<script type="text/javascript">
function randSign() { return 0.5 - Math.random() }
$(function() {
    var values = [],
        items = $('ul li');
        
    items.each(function(index) {
        values.push( items.eq(index).text() )
    })
    
    values.sort(randSign)
    
    items.each(function(index) {
        items.eq(index).text( values[index] )
    })
})

</script>


как его прикрутить к моему можно?
я пробывал вместо items = $('ul li'); делать items = $('ul#one li#two') и присваивать li и ul соответствующие id, но почему-то не сохраняется форматирование css.

В чем может быть загвоздка?

bojikodab 24.08.2012 11:57

<script type="text/javascript">
function randSign() { return 0.5 - Math.random() }
$(function() {
    var values = [],
        items = $('li#one');
        
    items.each(function(index) {
        values.push( items.eq(index).text() )
    })
    
    values.sort(randSign)
    
    items.each(function(index) {
        items.eq(index).text( values[index] )
    })
})

</script>


Вот сейчас все мешает отлично, но форматирование не сохраняется, почему так?

LittlePony 24.08.2012 12:15

Цитата:

Сообщение от nerv_ (Сообщение 200183)
зачем оно, если и так есть?

arr.sort( function() {
    // тут возвращаем -1, 0 или 1
});

Спасибо, надо будет изучить. Пока совсем не понимаю, как это работает.

bojikodab 25.08.2012 05:22

Ребят, ну что никто не знает почему слетает форматирование, а именно стили CSS они почему-то не хотят отображаться и текст выводится без оформления.

raler 26.08.2012 23:42

если ничего не помогло, можешь поставить мой слайдер. он не карусель конечно, но зато имеет функцию рандомного запуска)
maestro.web-design.ee

LittlePony 27.08.2012 08:57

Цитата:

Сообщение от bojikodab (Сообщение 200393)
Ребят, ну что никто не знает почему слетает форматирование, а именно стили CSS они почему-то не хотят отображаться и текст выводится без оформления.

Чтобы именно знать, нужно посмотреть на всю конструкцию в действии, а предположить могу.
Используется метод .text(), который убивает все тэги, а не .html(), который сохраняет разметку.


Часовой пояс GMT +3, время: 03:08.