Forums.Avtograd.Ru: JavaScript - Forums.Avtograd.Ru

Перейти к содержимому

  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

JavaScript Всё о JavaScript

#1 Пользователь офлайн   Воитель

  • Пользователь
  • PipPip
  • Группа: Пользователи
  • Сообщений: 226
  • Регистрация: 01 Ноябрь 07

Отправлено 09 Май 2008 - 21:25

Вот такая маленькая программа у меня почему то не пашет, слизал один в один с учебника. Где ошибка или опечатка не пойму. По логике тут должен двигаться слой с текстом. Ощущение что до скрипта вообще дело не доходит, я пробовал сокращать и что-то вообще ни чего не помогает.



<html>
<head>
<script language="Javascript">
<!- hide
function move() {
if (pos<0) direction=true;
if (pos>200) direction=false;
if (direction) pos++
else pos--;
document.layers["myLayer2"].left=pos;
}
// ->
</script>
</head>
<body onload="setInterval('move()',20)">
<ilayer name=myLayer2 left=0>
<font size=+1 color="#FF0000"><i>dfdgdgdsgfhggggggggsdgsdfgdfgf</i></font>
</ilayer>
</body>
</html>
0


  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

Другие ответы в этой теме

#61 Пользователь офлайн   GlooMen

  • Профи =)
  • PipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 2 063
  • Регистрация: 01 Ноябрь 07

Отправлено 10 Июнь 2008 - 21:07

Исходники главной страницы там жгут, особенно понравилось про фронтпейдж.
0

#62 Пользователь офлайн   Воитель

  • Пользователь
  • PipPip
  • Группа: Пользователи
  • Сообщений: 226
  • Регистрация: 01 Ноябрь 07

Отправлено 11 Июнь 2008 - 22:09

А на русском нет ни чего?
0

#63 Пользователь офлайн   Воитель

  • Пользователь
  • PipPip
  • Группа: Пользователи
  • Сообщений: 226
  • Регистрация: 01 Ноябрь 07

Отправлено 14 Июнь 2008 - 17:14

<script language="Javascript"> 
<!-- 
  var gjapox=0;
  var gjapoy=0;
  function japapilon(japox, japoy) {
		  japox=japox-50;
		  japoy=japoy-50;
		var tekst=japox+" "+japoy;
		var koorslx=japox+"px";
		var koorsly=japoy+"px";
		gjapox=japox;
		gjapoy=japoy;
		polet();
		}
		function polet() {
		gjapoy+=10
		japoy=gjapoy;
		japox=gjapox;
		var tekstt=japox+" "+japoy+"/"+tekst;
		document.getElementById('bibon').value = tekstt;
		if (navigator.appName == "Netscape") 
{ document.move.left = japox
  document.move.top = japoy } 
else { document.all.move.style.left= japox
	   document.all.move.style.top = japoy  }
	   window.setTimeout("polet()", 20);
}
--> 
</script>

Тут в function japapilon(japox, japoy) переменные приходят из флэшки. И функция запускается походу по приходу переменных.
Народ помогите. Никак не запускается polet() повторно через setTimeout
Я пробовал и через функции передавать параметрами.
И весь инет облазил. Вроде всё подробно написано, но я не понимаю :)
И в Dronov.HTML.Javascript читал про функции и переменные.
<html>
<head>
<title>Преремещающиеся слова.</title>
<script language="Javascript">
<!--

var rad = 50; 
var xoff = 350; 
var yoff = 180; 
var pi = Math.PI; 
var inc = pi / 36; 
var pos=0;
function move() {
pos += inc; 
obj1.left = xoff+4;
obj1.top = (rad* Math.sin(pos)) + yoff;
obj3.left = xoff;
obj3.top = yoff;
setTimeout("move()", 1);
} 
-->
</script>
</head>
<body>
<div id="obj1" style="z-index:5;position:absolute;width:70px; height:31px"><font face="Arial" size="3" color="#993333"><b>Script</b></font></div>

<div id="obj3" style="z-index:7;position:absolute;width:89px; height:18px;clip:rect(0px 89px 18px 0px);  layer-background-color:#99bb99;"><font face="Arial" size="3"  color="#FF8000"><b><center>Java</center><
/b></font></div>
<script language="Javascript">
<!-- 
var NN = (navigator.appName == "Netscape" && parseInt(navigator.appVersion) >= 4);
var obj1 = (NN) ? document.obj1 : document.all.obj1.style;
var obj3 = (NN) ? document.obj3 : document.all.obj3.style;
move();
-->
</script>
<form name="form1" method="post" action="">
  <textarea name="bibon" id="bibon"></textarea>
</form>
</body>
</html>

-это рабочий код, тоже с применением setTimeout.
0

#64 Пользователь офлайн   ant_Ti

  • Старожил
  • PipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 1 676
  • Регистрация: 01 Ноябрь 07

Отправлено 16 Июнь 2008 - 14:11

После setTimeout() нужно обязательно делать clearTimeout()

тоесть тебе нужно сделать сначала:
var timer = window.setTimeout("polet()", 20);


А после того как сработал таймаут его нужно очистить:

window.clearTimeout(timer);


Надеюсь с последовательностью ты разберешься :unsure:
Изображение
0

#65 Пользователь офлайн   Воитель

  • Пользователь
  • PipPip
  • Группа: Пользователи
  • Сообщений: 226
  • Регистрация: 01 Ноябрь 07

Отправлено 16 Июнь 2008 - 15:41

Просмотр сообщенияant_Ti (16.6.2008, 14:11):

Надеюсь с последовательностью ты разберешься :unsure:

Так и не смог. Сначала думая подставлял не получалась, потом попробовал святым методом тыка, тоже не помогло.
Вот как изменил функцию polet().
function polet() {
		if (gjapoy<800) {
		window.clearTimeout(timer);
		gjapoy+=200
		japoy=gjapoy;
		japox=gjapox;
		var tekstt=japox+" "+japoy+"/"+tekst;
		document.getElementById('bibon').value = tekstt;
		if (navigator.appName == "Netscape") 
{ document.move.left = japox
  document.move.top = japoy } 
else { document.all.move.style.left= japox
	   document.all.move.style.top = japoy  }
	   var timer = window.setTimeout("polet()", 1000);
	   }
	   
}

Но ведь в работающем примере что я прилогал ранее window.clearTimeout(timer); вообще нет.

И ещё один вопрос: Если функция запрашивается в функции, то запрашиваемая обязательно должна быть описана внутри той что запрашивает? (надеюсь разобрались в вопросе :) )
0

#66 Пользователь офлайн   Воитель

  • Пользователь
  • PipPip
  • Группа: Пользователи
  • Сообщений: 226
  • Регистрация: 01 Ноябрь 07

Отправлено 20 Июнь 2008 - 12:27

Кто работает с ЖС отзовитесь.
Подскажите форумы по ЖС куда можно обратиться за помощью.
0

#67 Пользователь офлайн   minstrel

  • Активный пользователь
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 623
  • Регистрация: 16 Апрель 08

Отправлено 20 Июнь 2008 - 12:54

А что такое ЖС О_о?

У меня для вас задачка есть.
Мне очень нравится jqGrid, но дефолтный поиск мне не подходит. Вот код:

searchGrid : function ( p ) {
        p = $.extend({
            top : 0,
            left: 0,
            width: 360,
            height: 70,
            modal: false,
            drag: true,
            closeicon: 'ico-close.gif',
	    dirty: false,
            sField:'searchField',
            sValue:'searchString',
            sOper: 'searchOper',
            processData: "",
          
            sopt: null // то есть по дефолту ['bw','eq','ne','lt','le','gt'
,'ge','ew','cn'] 
        }, $.jgrid.search, p || {});
        return this.each(function(){
            var $t = this;
            if( !$t.grid ) return;
            if(!p.imgpath) p.imgpath= $t.p.imgpath;
            var gID = $("table:first",$t.grid.bDiv).attr("id");
            var IDs = {themodal:'srchmod'+gID,modalhead:'srchhead'+gID,modalcontent:'
srchcnt'+gID};
            if ( $("#"+IDs.themodal).html() != null ) {
                viewModal("#"+IDs.themodal,{modal: p.modal});
            } else {
                var cM = $t.p.colModel; //собираем информацию о колонках
				var cNames = "<select id='snames' class='search'>"; //форма для выбора колонки для поиска
                var nm, hc, sf; 
                for(var i=1; i< cM.length;i++) { //пока есть колонки (кроме первой)
            		nm = cM[i].name; //имя колонки, например, destination
            		hc = cM[i].hidden===true ? true : false; //спрятана или нет
                    sf = (cM[i].search==false) ? false: true; // разрешен ли поиск по колонке
                    if( nm !== 'cb' && nm !== 'subgrid' && sf && !hc ) { //если колонка не служебная и не подзапрашиваемая, показана и можно искать, то
                        cNames += "<option value='"+cM[i].name+"'>"+$t.p.colNames[i]+"</option>
";//заполняем данными для поиска.
                    }
                }
                cNames += "</select>";//заполнили.
                var getopt = p.sopt || ['bw','eq','ne','lt','le','gt'
,'ge','ew','cn'];//опции
                var sOpt = "<select id='sopt' class='search'>";// заполняем опции
                for(var i = 0; i<getopt.length;i++) {
                    sOpt += getopt[i]=='eq' ? "<option value='eq'>"+p.odata[0]+"</option>" : "";
                    sOpt += getopt[i]=='ne' ? "<option value='ne'>"+p.odata[1]+"</option>" : "";
                    sOpt += getopt[i]=='lt' ? "<option value='lt'>"+p.odata[2]+"</option>" : "";
                    sOpt += getopt[i]=='le' ? "<option value='le'>"+p.odata[3]+"</option>" : "";
                    sOpt += getopt[i]=='gt' ? "<option value='gt'>"+p.odata[4]+"</option>" : "";
                    sOpt += getopt[i]=='ge' ? "<option value='ge'>"+p.odata[5]+"</option>" : "" ;      
                    sOpt += getopt[i]=='bw' ? "<option value='bw'>"+p.odata[6]+"</option>" : "";
                    sOpt += getopt[i]=='ew' ? "<option value='ew'>"+p.odata[7]+"</option>" : "";
                    sOpt += getopt[i]=='cn' ? "<option value='cn'>"+p.odata[8]+"</option>" : "";      
                };
                sOpt += "</select>";
                // поля и кнопки
                var sField  = "<input id='sval' class='search' type='text' size='20' maxlength='100'/>";//строка поиска
                var bSearch = "<input id='sbut' class='buttonsearch' type='button' value='"+p.Find+"'/>";//кнопка искать
                var bReset  = "<input id='sreset' class='buttonsearch' type='button' value='"+p.Reset+"'/>";//кнопка отмены
                var cnt = $("<table width='100%'><tbody><tr><td>"+cNames+"</td><
td>"+sOpt+"</td><td>"+sField+"</td><td>"+bSearch+"</
td><td>"+bReset+"</td></tr></tbody></table>");//однострочная таблица
                createModal(IDs,cnt,p,$t.grid.hDiv,$t.grid.hDiv);//создать окно с опциями айдишники, однострочная таблица, заголовки
    			viewModal("#"+IDs.themodal,{modal:p.modal})//показать окно.
                if(p.drag) DnRModal("#"+IDs.themodal,"#"+IDs.modalhead); //если переносим, переносим
                $("#sbut","#"+IDs.themodal).click(function(){//при нажатии на кнопку
                    if( $("#sval","#"+IDs.themodal).val() !="" ) {//если поле не пустое
                        $t.p.search = true; // инициируем поиск
                        // конструируем массив в populate() see jqGrid
                        $t.p.searchdata[p.sField] = $("option[@selected]","#snames").val();//имя колонки
                        $t.p.searchdata[p.sOper] = $("option[@selected]","#sopt").val(); //имя  опции
                        $t.p.searchdata[p.sValue] = $("#sval","#"+IDs.modalcontent).val();//строка поиска
    					if(p.dirty) $(".no-dirty-cell",$t.p.pager).addClass("dirty-cell");//грязная ячейка?
    					$t.p.page= 1;//переходим на первую страницу
                        $($t).trigger("reloadGrid");//перезагружаем ее
                    }
                });
                $("#sreset","#"+IDs.themodal).click(function(){ //при нажатии на ресет
                    if ($t.p.search) {
                        $t.p.search = false;
                        $t.p.searchdata = {};
    					$t.p.page= 1;
                        $("#sval","#"+IDs.themodal).val("");//пустошим строки
    					if(p.dirty) $(".no-dirty-cell",$t.p.pager).removeClass("dirty-cell");
                        $($t).trigger("reloadGrid");
                    }
                });
            }
        });
    },


По дефолту поиск идет по одной колонке, и по одному параметру.
Мне нужно было сделать так, чтобы поиск шел по всем колонкам сразу, и с разными параметрами для каждой. Для себя решение нашел, хочу услышать ваше.

Олег А.:

Нарушение п. 3.5
0

#68 Пользователь офлайн   Воитель

  • Пользователь
  • PipPip
  • Группа: Пользователи
  • Сообщений: 226
  • Регистрация: 01 Ноябрь 07

Отправлено 20 Июнь 2008 - 16:05

ЖС-Javascript
0

#69 Пользователь офлайн   minstrel

  • Активный пользователь
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 623
  • Регистрация: 16 Апрель 08

Отправлено 20 Июнь 2008 - 20:42

Задача какая?

Олег А.:

Нарушение п. 3.5
0

#70 Пользователь офлайн   Воитель

  • Пользователь
  • PipPip
  • Группа: Пользователи
  • Сообщений: 226
  • Регистрация: 01 Ноябрь 07

Отправлено 23 Июнь 2008 - 09:00

Просмотр сообщенияВоитель (20.6.2008, 12:27):

Кто работает с ЖС отзовитесь.
Подскажите форумы по ЖС куда можно обратиться за помощью.

Просто понимаете где у меня ошибка в коде с setTimeout я не понимаю.
Мне не лень разбираться, я уже убил уйму времени(искал описание функции в справочниках, искал примеры её применения, весь яндекс облазил). И я до сих пор не знаю почему не пашет :angry:
0

#71 Пользователь офлайн   minstrel

  • Активный пользователь
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 623
  • Регистрация: 16 Апрель 08

Отправлено 23 Июнь 2008 - 09:14

Установи плиз Фаерфокс с Фаербагом и сразу разберешься.

Олег А.:

Нарушение п. 3.5
0

#72 Пользователь офлайн   Воитель

  • Пользователь
  • PipPip
  • Группа: Пользователи
  • Сообщений: 226
  • Регистрация: 01 Ноябрь 07

Отправлено 24 Июнь 2008 - 01:16

Просмотр сообщенияminstrel (23.6.2008, 9:14):

Установи плиз Фаерфокс с Фаербагом и сразу разберешься.


Установил. Спасиб, думаю полезно. Только проблемка английский я не знаю, но думаю я привыкну.
Только у меня огромная проблема, скрипты что работали на IE, на FF не работают Noscript отключил.

Как будто она не правильно направляет изменения слоя:
document.move.left = japox
У IE помниться вот так:
document.all.move.style.left= japox
0

#73 Пользователь офлайн   minstrel

  • Активный пользователь
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 623
  • Регистрация: 16 Апрель 08

Отправлено 24 Июнь 2008 - 14:07

Не знаю, попробуй jquery прикрути.

Олег А.:

Нарушение п. 3.5
0

#74 Пользователь офлайн   Воитель

  • Пользователь
  • PipPip
  • Группа: Пользователи
  • Сообщений: 226
  • Регистрация: 01 Ноябрь 07

Отправлено 24 Июнь 2008 - 21:06

Вот сижу парюсь с ЖС
И от одного момента глаза на лоб полезли.
Вот решил с вами поделиться и узнать почему оно так:
В ЖС есть функция внутри функции есть строчка
var tekst=japox+" "+japoy; //Так это оказывается не правильно. (не правильно на столько что ни чего не прёт, на ней всё ступориться)
tekst=japox+" "+japoy; //А вот это правильно.

Но это ещё не конец моим удивлениям.
Внутри этой функции есть другая функция и в ней строчка
tekstt=japox+" "+japoy+"/"+tekst; //Она правильная
var tekstt=japox+" "+japoy+"/"+tekst; //И она тоже правильная.

Это на основе какого правила вся эта чушь твориться???
0

#75 Пользователь офлайн   KORENHACK

  • Старожил
  • PipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 1 464
  • Регистрация: 01 Ноябрь 07

Отправлено 25 Июнь 2008 - 17:00

Как написать меню для сайта??? Хотя я не в курсе делают ли их еще на чем то кроме как на джаве, меню очень большое и многоуровневое.
0

#76 Пользователь офлайн   minstrel

  • Активный пользователь
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 623
  • Регистрация: 16 Апрель 08

Отправлено 25 Июнь 2008 - 20:05

Меню на сайте - это как правило набор ссылок на разные страницы. Через ссылку можно передать и данные в php для отображения и/или через Javascript/AJAX работать с контентом. Меню с выпадающими штуками можно написать хоть через css (AJAX этим и пользуется). Могу еще Flash порекомендовать.

Олег А.:

Нарушение п. 3.5
0

#77 Пользователь офлайн   KORENHACK

  • Старожил
  • PipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 1 464
  • Регистрация: 01 Ноябрь 07

Отправлено 26 Июнь 2008 - 11:39

Просмотр сообщенияminstrel (25.6.2008, 20:05):

Меню на сайте - это как правило набор ссылок на разные страницы. Через ссылку можно передать и данные в php для отображения и/или через Javascript/AJAX работать с контентом. Меню с выпадающими штуками можно написать хоть через css (AJAX этим и пользуется). Могу еще Flash порекомендовать.

Вообщем надо написать меню вот по такому ШАБЛОНУ:
Изображение
Какой ПРОГОЙ это сделать можно? Ибо учить язык дольше чем освоить интерфейс...
0

#78 Пользователь офлайн   Космонавт

  • Активный пользователь
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 666
  • Регистрация: 01 Ноябрь 07

Отправлено 26 Июнь 2008 - 12:03

Просмотр сообщенияKORENHACK (26.6.2008, 11:39):

Какой ПРОГОЙ это сделать можно? Ибо учить язык дольше чем освоить интерфейс...

попробуй
ed2k://|file|Прога%20для%20создания%20меню%20к%20сайту.
rar|7137127|5426BB7697BD37554F966246720869E7|/

0

#79 Пользователь офлайн   KORENHACK

  • Старожил
  • PipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 1 464
  • Регистрация: 01 Ноябрь 07

Отправлено 26 Июнь 2008 - 13:39

Просмотр сообщенияКосмонавт (26.6.2008, 12:03):

попробуй
ed2k://|file|Прога%20для%20создания%20меню%20к%20сайту.
rar|7137127|5426BB7697BD37554F966246720869E7|/

Спс. Кул прога. тока проблема возникла.
Изображение
Видишиь меню справа? оно несколько ниже чем основное (на 1 пикс.) и слишком придвинуто к основному. что делать??
0

#80 Пользователь офлайн   Воитель

  • Пользователь
  • PipPip
  • Группа: Пользователи
  • Сообщений: 226
  • Регистрация: 01 Ноябрь 07

Отправлено 26 Июнь 2008 - 21:55

Точно где это находиться не помню. Но проблемма знакома, и помню что я как-то решил. Ты пробовал это меню кидать на страницу? Видел сколько к ней надо файлов прилогать? Мне кажется такое меню, сильно экономит место на страничке, не портит дизайн, но проблемма через эту прогу страница сильно утежеляется.
Я хочу попробовать в ручную написать(это в разы облегчит систему), только проблема в создании эфектов появления меню.
0

  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей