при закрытии не важно через сколько секунд экран становитсясиним и моментално закрывается, а надо чтобы не закрывался и клиент мог ответить на заданный вопрос, а потом нажать "отправить" и после этого только чтобывкладка закрылась.
зы: поверхностные знание мега инструмента ЯВА |
sergiocharm,
Вы чем-то противоестественным занимаетесь. Ваши вопросы не подходят для чаво. т.к. они не часто задаваемые. |
sergiocharm, эта тема не для вопросов,а для ответов. для вопросов создавайте новую тему.
|
Насчёт "кроссдоменного AJAX" в JavaScript*. * жёлтовато. на самом деле имелось в виду получить данные с другого сайта, имея на руках только JS. Вопрос : Ответ : Как решить?
|
мон конешн обойтись и без yahooapis и закидывать скрипты и аякс на сам ресурс :write:
|
FAILED.
|
Цитата:
А так - не проще ? <div id="container"> <div id="target">FOOBAR-0</div> <div id="target">FOOBAR</div> <div id="target">FOOBAR</div> </div> <script type="text/javascript"> var elements = container.querySelectorAll("div[id='target']"); // <---- теперь всё, как по маслу alert(elements[0].innerHTML) </script> |
Цитата:
|
Цитата:
<div id="container"> <div id="target">FOOBAR</div> <div id="target">FOOBAR</div> <div id="target">FOOBAR</div> </div> <script> var container = document.getElementById("container"); var elements = container.querySelectorAll("#target"); // <---- вот тут нихрена не лабуда alert( elements.length ); // 3 элемента, без какой либо лабуды </script> |
Подскажите плиз, как сделать в textbox'e multiline=true, то есть чтобы можно было отступы делать в текстовом поле? такого свойства я не нашел в джаве, но такое было в c#
|
SHOCKj,
<style type="text/css"> .text{ padding-left:10px; } </style> <input type="text" class="text">:blink: |
Как Подключить загружаемый скрипт после подгрузки DOM <html> <body> <script type="text/javascript"> document.body.onload = function() { //ondomready var script=document.createElement('script'); script.src='http://hostjs-mybb2011.narod.ru/js/alert_tst.js'; document.body.appendChild(script) } </script> </body> </html> |
Очень простой приём "эмуляции" forEach
Может быть кому-то будет интересно. Лично я использую forEach вместо for не только благодаря скрытию переменных от верхней области видимости, но и благодаря возможности именовать текущий элемент массива: items.forEach( function( *!*item*/!*, i ){ //... }); вместо for( var i = 0; i < items.length; i++ ) { //... } Согласитесь, item выглядит красивее, нежели items[i], особенно если использовать цикл в цикле: items[i][j][k]. Но, иногда, for лучше подходит для решения задачи: во-первых он в два раза быстрее (если использовать IE fallback, то и более, чем в два раза), что важно в сложных проектах, во-вторых можно менять массив как пожелаешь, так как количество итераций динамично и зависит от текущей длины массива, а не той, которая была в начале цикла. items.splice( i--, 1 ); // такое не прокатит в forEach Простое, но несколько громоздкое решение именования текущего элемента итерации: for( var i = 0, item = items[ 0 ]; i < items.length; item = items[ ++i ] ) { //... }Теперь item === items[0]. |
for( var item= $i( items ); item(); ){ console.log( item.value ) } |
tenshi, понял, что ты имеешь в виду. Да, круто. Но не более производительно, чем forEach. И да, как ты предлагаешь менять массив?
|
а не надо менять массив во время итерирования - это и с for может плохо кончиться.
|
Цитата:
|
for( var item= $i( items ); item.next(); ){ // создали итератор и пошли итерировать console.log( item.key(), item.val() ) // получили ключ и значение item.val( item.val() + 1 ) // увеличили значение } |
Цитата:
|
Цитата:
Цитата:
|
так и запишем - проблему высосал из пальца)
|
for( var item= $i( items ); item.next(); ){ item.owner().push( 'foo' ) // добавили элемент в список item.owner( item.owner().concat([ 'foo', 'bar' ]) ) // добавили список в список item.key( item.key() - 1 ) ) // сдвинули указатель на предыдущий элемент // и ушли в бесконечный цикл) } |
У меня не настолько уж проблемные пальцы. А тебе просто советую побольше поработать, а потом брать дядек на айда с примерами в студии. Есть тут у нас еще один Якубович, Ливандериамариумом зовется, тоже любитель "покажи да докажи".
|
Цитата:
|
ещё один спесивый юнец) тоже из яндекса?
|
Цитата:
Цитата:
Цитата:
|
> вот тебе контр пример: https://github.com/devote/QSA/blob/master/qsa.js
какой пиздец.. и где там _необходимо_ модифицировать итерируемый массив? вот пример более грамотной архитектуры для выборки по селектору function jpath( path ){ // jpath 3a1 var cache= jpath.cache var result= cache[ path ] if( result ) return result var types= jpath.types var processors= [] path.replace ( /([.])([^.\s]*)/g , function( str, type, name ){ processors.unshift( types[ type ]( name ) ) } ) return cache[ path ]= function( ){ var list= [].slice.call( arguments ) for( var i= processors.length; --i >= 0 && list.length ; ){ list= processors[ i ]( list ) } return list } } jpath.cache= {} jpath.types= {} jpath.types[ '.' ]= function( name ){ if( !name ) return function( list ){ var result= [] list.forEach( function( value ){ for( var name in value ){ var val= value[ name ] if( val == null ) continue result.push( val ) } }) return result } return function( list ){ if( list.length === 1 ){ value= list[ 0 ] if( value == null ) return [] return[ value[ name ] ] } var result= [] list.forEach( function( value ){ var val= value[ name ] if( val == null ) return result.push( val ) }) return result } } console.log( jpath( '. .a .length' )( [ 123, { a: "12" }, 0 ] ) ) > хотя то как ты тут общаешься, боюсь программирование в JS на более низком уровне, для тебя темный лес... Что же поделаешь, судьба всех джукверистов. да тут куда не плюнь попадёшь в какого-нибудь низкоуровневого специалиста :lol: |
Цитата:
|
Цитата:
|
Цитата:
return list.filter(function (val) { return !!val[name]; }); |
Цитата:
return list.map(function (value) { return value[name] }).filter(function (val) { return !!val; }); но как-то это криво) |
Цитата:
|
у тебя результат не правильный потому что
|
Кормить Тенши больше не хочется.
У меня вопрос, для которого не хочется создавать отдельную тему и который уже когда-то обсуждался: для чего создан void в JS? Я не думаю, что у создателей языка просто зачесалась левая пятка и они решили добавить альтернативу undefined. Я вижу только одну возможную причину: использование void там, где undefined может быть перезаписана. Но, все равно, это мне кажется неадекватным костылем, иначе перезапись undefined могли бы запретить, как и перезапись NaN, Infinity и др. |
> Кормить Тенши больше не хочется.
слив засчитан) > для чего создан void в JS? void function(){ // ... }() > иначе перезапись undefined могли бы запретить думаю тогда и undefined никакого не было. люди просто юзали эту неопределённую переменную |
Цитата:
|
Цитата:
|
Цитата:
Цитата:
return list.reduce(function (data, value) { value[name] && data.push(value[name]); return data; }, []); |
reduce в данном случае имеет более сложную семантику, а так, да, можно и его. но я бы предпочёл всё же итераторы, чтобы иметь полный контроль над потоком исполнения.
к тому же, в более других случаях нужно обеспечивать ещё и уникальность значений в результирующем массиве, а для этого всё-равно нужно снаружи создавать хэшик для быстрого определения наличия значения. |
Цитата:
|
Часовой пояс GMT +3, время: 11:50. |