Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: randomX=Math.floor помогите
 
 автор: kvins   (01.04.2011 в 20:09)   письмо автору
 
 

нашел в инете интересный скрипт который разбрасывает текст в радиусе указанном в этом маленьком скрипте

как изменить разброс в этом коде
randomX=Math.floor(Math.random()*501) - 250;
randomY=Math.floor(Math.random()*301) - 150;
чтоб в x рандом разброс шел только вправо и не больше 310 px
а y разбрасывал только вниз и не больше 160px

<script type="text/javascript" charset="utf-8">

        newlime = '';
        words = document.getElementById('limerik').innerHTML.split(' ');
        for(i=0;i<words.length;i++){
            curword = words[i];
            if(curword[0]!='<'){ // just to make sure it's not <br/> or any other tag
                for(j=0;j<curword.length;j++){
                    randomX=Math.floor(Math.random()*501) - 250;
                    randomY=Math.floor(Math.random()*301) - 150;
                    randomScale = Math.floor(Math.random()*4) +1;
                    randomDeg = Math.floor(Math.random()*181)-90;
                    randomDelay = Math.floor(Math.random()*5);
                    newlime = newlime +  '<span style="top:-'+randomY+'px;left:'+randomX+'px;-webkit-transform: scale('+randomScale+') rotate('+randomDeg+'deg);-webkit-transition-delay:0.'+randomDelay+'s;-o-transform: scale('+randomScale+') rotate('+randomDeg+'deg);-o-transition-delay:0.'+randomDelay+'s;-moz-transform: scale('+randomScale+') rotate('+randomDeg+'deg);-moz-transition-delay:0.'+randomDelay+'s;">'+curword[j]+'</span>';
                }
                newlime = newlime + ' ';
            }
            else{newlime = newlime + words[i]}
        }
        document.getElementById('limerik').innerHTML = newlime;
    </script>

  Ответить  
 
 автор: AlexSol   (01.04.2011 в 20:25)   письмо автору
 
   для: kvins   (01.04.2011 в 20:09)
 

randomX=Math.floor(Math.random()*310);
randomY=-1*Math.floor(Math.random()*160);

  Ответить  
 
 автор: kvins   (01.04.2011 в 22:06)   письмо автору
 
   для: AlexSol   (01.04.2011 в 20:25)
 

спс
кстати как сделать выборку не по id а по class в css , потому что у меня идет цикл ,а id больше 1 раза нельзя использовать поэтому хочу заменить id imerik заменить на class limerik

думаю что getElementBiClassName пробовал , но или я не правильно что то делал или это не так делается

  Ответить  
 
 автор: Абырвалг   (01.04.2011 в 23:17)   письмо автору
 
   для: kvins   (01.04.2011 в 22:06)
 

И пробовать было не надо - нет в DHTML методов, определяющих элемент(-ы) по имени класса.

  Ответить  
 
 автор: kvins   (01.04.2011 в 23:49)   письмо автору
 
   для: Абырвалг   (01.04.2011 в 23:17)
 

а есть функция в js похожая на live в jquery при которой код действует не только на 1 элемент но и на все последующие


<<< И пробовать было не надо - нет в DHTML методов, определяющих элемент(-ы) по имени класса.
блин странно по идее jquery вроде создано из javascript и там выборок куча странно что в js нече такого нету

мб выборку сделать в jquery там вроде коды js работают. завтра попробую

  Ответить  
 
 автор: Абырвалг   (02.04.2011 в 00:30)   письмо автору
 
   для: kvins   (01.04.2011 в 23:49)
 

Можно написать простенькую функцию, коя переберёт по очереди ВСЕ теги страницы, определит className каждого и сформирует из них коллекцию тегов, имеющих определённое (заданное) имя.
Это и реализовано в JQuery.

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

  Ответить  
 
 автор: kvins   (02.04.2011 в 00:35)   письмо автору
 
   для: Абырвалг   (02.04.2011 в 00:30)
 

ну я не смогу такой функции написать =) если поможете буду рад а если нет то у меня нет выбора и придется наверно подключать

  Ответить  
 
 автор: kvins   (02.04.2011 в 00:31)   письмо автору
 
   для: kvins   (01.04.2011 в 22:06)
 

кстати код который с y разбросом он не работает, работает только в ширину, мб -1 не так написан и мешает работе?

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования