при закрытии не важно через сколько секунд экран становитсясиним и моментално закрывается, а надо чтобы не закрывался и клиент мог ответить на заданный вопрос, а потом нажать "отправить" и после этого только чтобывкладка закрылась.
зы: поверхностные знание мега инструмента ЯВА |
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, время: 21:30. |