Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - Night_Wolf

Страницы: [1] 2
1
JavaScript & JScript / Мирцание IE
« : 20 Февраля 2009, 13:28:52 »
Прошу совета и помощи. Написал небольшой скрипт рейтинга со звездочками:


<style type="text/css">
.
rate
{
	
cursor:hand;
	
background:url(/TEST/star.gifrepeat-x;
}
.
rate A
{
	
float:left;
	
width:16px;
	
height:16px;
	
cursor:hand;
	
text-decoration:none;
	
background:url(/TEST/star.gifno-repeat;
	
margin:0;
	
padding:0;
}
.
rate A.Select
{
	
background-position-16px;
}
.
rate A.Hover
{
	
background-position-32px;
}
</
style>

<
script language="javascript">
var 
t;
var 
s;
function 
FillRect(Obj,Val)
{
	
var 
Elems=Obj.parentNode.getElementsByTagName("a");
	
for(var 
i=0;i<Elems.length;i++)
	
{
	
	
if ((
Val) == i) return;
	
	
clearTimeout(s);
	
	
s=setTimeout(new function(){if (!Elems[i].className.match(/ Hover/)) Elems[i].className+=" Hover";},1000);
	
}
}
function 
ClearRect(Obj)
{
	
var 
Elems=Obj.parentNode.getElementsByTagName("a");
	
for(var 
i=0;i<Elems.length;i++)
	
{
	
	
clearTimeout(t);
	
	
t=setTimeout(new function(){if (Elems[i].className.match(/ Hover/)) Elems[i].className=Elems[i].className.replace(/ Hover/,"")},1000);
	
}
}
</script>

<div class="rate">
<a href="" onmouseover="FillRect(this,1)" onmouseout="ClearRect(this)" class="Select"></a>
<a href="" onmouseover="FillRect(this,2)" onmouseout="ClearRect(this)"></a>
<a href="" onmouseover="FillRect(this,3)" onmouseout="ClearRect(this)"></a>
<a href="" onmouseover="FillRect(this,4)" onmouseout="ClearRect(this)"></a>
<a href="" onmouseover="FillRect(this,5)" onmouseout="ClearRect(this)"></a>
</div>


В Опере - все ок. Но вот Эксплорер со страшной силой перерисовывает (мигает) весь div при перемещении над ним мыши. Я уже и таймер попробовал вставить - ничего не помогает. Можно это как-то побороть?

2
JavaScript & JScript / Проблема Javascript pasteHTML
« : 27 Июня 2008, 16:17:28 »
Помогите разобраться, в чем может быть дело не могу догнать!

Пробую создать небольшой визуальный редактор, в котором у меня уже есть две функции:


function FormatText(command, option)
{
          frames.Org.focus();
          var range = frames.Org.document.selection.createRange();
          frames.Org.document.execCommand(command, false, option);
          frames.Org.focus();
}

function AddHTML(AnCode)
{
        frames.Org.focus();
        var range = frames.Org.document.selection.createRange();
        range.pasteHTML(AnCode);
        frames.Org.focus();
}
   

Они отличаются только одной строчкой - где выполняется либо execCommand, либо pasteHTML (если нужно вставить html-код). Проблема у меня в том, что при execCommand, например если вставлять картинку, она встает куда надо, ориентируясь на позицию курсора. А вот в случае с pasteHTML код вставляется только в самое начало области редактора, а нужно вставить его туда, где стоит курсор или заменить выделенный текст.

3
JavaScript & JScript / WYSIWYG отлов выделения
« : 11 Декабря 2007, 16:36:38 »
Приветствую,
подскажите, пожалуйста, чего мне сделать для того, чтобы определить теги форматирования, между которыми расположен выделенный текст.

Вот, например, если есть такой текст:

Цитировать
текс1 текст2 текст3 текст4 текст5 текст6 текст7


Пока все к чему пришел:

frames.Org.document.attachEvent("onselectionchange", gettag);

function gettag()
{
var range = frames.Org.document.selection.createRange();
range.expand("word");
alert(range.htmlText); // Test
}

А вот как при выделении слова "текст4" определить, что он находиться между и ?

4
JavaScript & JScript / Удаление строк таблицы (DOM)
« : 23 Ноября 2007, 12:13:16 »
Altaxar, ты прав. Да чего там обижаться:)
Выходит это все от того, что на изнанку прогонялось! Cам бы не додумал. Всем спасибо.

5
JavaScript & JScript / Удаление строк таблицы (DOM)
« : 23 Ноября 2007, 01:09:51 »
andymc, идею понял, попробовал. Результат тот же.
Видимо действительно индексы рядов смещаються. Даже при принудительной установке индекса deleteRow глючит. Видать это какой-то баг ф-и DOM-а в самом Javascript. Еще заметил, что чем больше рядов в таблице, тем больше их остаеться после прогона через deleteRow.
Если б это еще обойти можна было?..

Пока думаю над альтернативой: поместить таблицу в DIV или SPAN, и удалять всю таблицу путем innerHTML. Правда потом придеться таблицу заново "рисовать", а это уже значительно трудо- и ресурсо-емней:(

6
JavaScript & JScript / Удаление строк таблицы (DOM)
« : 22 Ноября 2007, 18:16:20 »
Вот что еще заметил: если функцию tableClear() запустить дважды, то удалит за второй заход оставшуюся строку. За раз не хочет ни в какую.

7
JavaScript & JScript / Удаление строк таблицы (DOM)
« : 22 Ноября 2007, 18:02:47 »
hanslinger, спасибо за вариант. Но результат тот же, что и у моего начального - в таблице остаеться одна строка, хоть убей!

8
JavaScript & JScript / Удаление строк таблицы (DOM)
« : 22 Ноября 2007, 17:49:24 »
brainkiller , так вообще не хочет: "Команда не поддерживается объектом".

9
JavaScript & JScript / Удаление строк таблицы (DOM)
« : 22 Ноября 2007, 17:01:29 »
Приветствую,

Просвятите, плз, по какому косяку такая реализация не хочет работать (нужно удалить все строки таблицы)?
	
 
function 
TableClear()
{
var 
newElem parent.document.getElementById("u_table");
    
	
 for (var 
i=0i<newElem.rows.lengthi++)
{  
	
 
	

newElem.deleteRow(i);  
	
 
}
}


Строки удаляет, но оставляет одну строку с rowIndex=1.

10
JavaScript & JScript / oncontextmenu, возвращая true/false
« : 24 Сентября 2007, 16:49:02 »
Спасибо, Spectrum.Wolf! Вот уж все гениальное просто!
Теперь понятнее принцип event.

По поводу замечаний,
Цитировать
[!]У данного обработчика ситуация с покрытием браузеров хуже, чем с контекстным меню.

Что ж тут поделаешь? У каждого браузера свои заморочки.
Ориентируюсь на Explorer, и потихоньку добавляю аналоги для каждого браузера. Я вообще подгружаю не кроссбраузерные функции, а сразу js для текущего браузера. Конечно, один получаеться - более функциональный, другой - менее...
Цитировать
Вообще если ты это делаешь для защиты контента страницы, то можешь не утруждаться.

Делаю для имитации диалогового окна.

11
JavaScript & JScript / oncontextmenu, возвращая true/false
« : 24 Сентября 2007, 15:54:39 »
В сообщении опечатался. Нет, своего меню мне не надо:) Сейчас разбераюсь как создать перехватчик выделения текста. Мне нужно, чтоб как вызов контекстного меню, так и выделение текста было возможно только для элементов формы.
oElement.onselectstart - было б хорошо, но скрипт не понимает данное свойство. Копаю, как усовершенствовать функцию, добавив к ней перехват выделения текста в INPUT.

12
JavaScript & JScript / oncontextmenu, возвращая true/false
« : 24 Сентября 2007, 11:39:46 »
Спасибо!
Понял, надо смотреть в сторону event. Замечательная наверное штука:) Подскажите еще, пожалуйста, куда смотреть в сторонувыделения теста (onselectstart)?
srcElement?

13
JavaScript & JScript / oncontextmenu, возвращая true/false
« : 19 Сентября 2007, 17:00:38 »
Добрый день,
никак не могу разобраться с вопросом по контекстному меню, надеюсь наталкнете меня в правильное направление.

Вообщем задача следующая:
необходимо отключить контекстное меню от правой кнопки мыши, за исключением вызова оного на любом элементе input.

function formsruler()
{
   var forms = document.getElementsByTagName(\'form\');
   for (var i=0;i               {
                  var inp=forms.getElementsByTagName(\'input\');
                  for(var j=0;j                           {
                              inp[j].oncontextmenu = new Function("return true");
                           }
               }
}

document.oncontextmenu = new Function("return false");

Вот еслиб одно другое не перекрывало...
Возможно конечно пройтись по всем остальным элементам страницы без исключения и прописать им return false. Но это ж как-то геморно выходит:abuse:

Поделитесь идеями, плиз.

14
CGVictor, спасибо большущее! Направил на пусть истинный:) Думаю дальше сам разберусь!

15
Если прописать getElementsByTagName(\'tr\'), то туда попадут строки с других таблиц.
Но вопрос еще в том, как инициализировать функцию, которая бы изменяла фон ячеек?

Страницы: [1] 2