Спустя 32 минуты, 16 секунд (7.06.2012 - 14:45) redreem написал(а):
onmouseover можно навесить и после загрузки DOM. можно конечно отлеживать положение мышки и по таймауту проверять где она сейчас, но нафик оно?
Спустя 1 минута, 26 секунд (7.06.2012 - 14:47) inpost написал(а):
Надо вычислить координаты объекта, а при движении мыши считывать координаты мыши и сравнивать с расположением объекта.
Спустя 4 минуты, 11 секунд (7.06.2012 - 14:51) Guest написал(а):
Цитата (inpost @ 7.06.2012 - 11:47) |
Надо вычислить координаты объекта, а при движении мыши считывать координаты мыши и сравнивать с расположением объекта. |
а это точно самое простое решение данной задачи?
Спустя 7 минут, 55 секунд (7.06.2012 - 14:59) redreem написал(а):
самое простое onmouseover
Спустя 12 минут, 44 секунды (7.06.2012 - 15:11) Guest написал(а):
Цитата (redreem @ 7.06.2012 - 11:59) |
самое простое onmouseover |
подскажите пожалуйста как это реализовать - уж очень интересно?
ниже привожу код после загрузки окна, как его изменить чтобы когда мышка появится над "над этим элементом" выскакивало его содержимое взятое кодом?
<script type="text/javascript">
function test(){
alert('f');
}
window.onload = function (){
test();
}
<div>над этим элементом</div>
</script>
Спустя 2 минуты, 49 секунд (7.06.2012 - 15:14) Игорь_Vasinsky написал(а):
это обычный hover, но на JS
http://javascript.ru/forum/dom-window/1005...-ehlementa.html
но если уже подвешен jquery - то есть метод .hover()
http://javascript.ru/forum/dom-window/1005...-ehlementa.html
но если уже подвешен jquery - то есть метод .hover()
Спустя 3 минуты, 42 секунды (7.06.2012 - 15:18) redreem написал(а):
<div id="aydishnik">над этим элементом</div>
<script type="text/javascript">
function test(el){
alert(el.innerHTML);
}
window.onload = function (){
document.getElementById('aydishnik').onmouseover = function() { test(this); };
}
</script>
Спустя 3 минуты, 21 секунда (7.06.2012 - 15:21) Guest написал(а):
Цитата (Игорь_Vasinsky @ 7.06.2012 - 12:14) |
это обычный hover, но на JS http://javascript.ru/forum/dom-window/1005...-ehlementa.html но если уже подвешен jquery - то есть метод .hover() |
ну через квэри я знаю как)) и так бы но не совсем так - в вашем примере все завязано на: id="some"
а у меня задача при наведении на id="some" узнать что его id bvttn pyfxtybt some и дальше уже манипулировать... как это можно сделать?
Спустя 2 минуты, 12 секунд (7.06.2012 - 15:24) SitnikovArtur написал(а):
Об одном из способов, как узнать над каким элементом мышь - можно почитать тут. Там описано как получить доступ к объекту, у которого вы можете спросить любую информацию, в том числе и id.
Спустя 1 минута, 44 секунды (7.06.2012 - 15:25) Игорь_Vasinsky написал(а):
Guest
пишешь функцию на JQ, передаёшь в аргументах что нибудь, мне не понятно что именно ты хочешь. а hover() - будет запускать эту функцию.
пишешь функцию на JQ, передаёшь в аргументах что нибудь, мне не понятно что именно ты хочешь. а hover() - будет запускать эту функцию.
Спустя 6 минут, 23 секунды (7.06.2012 - 15:32) Guest написал(а):
Цитата (Игорь_Vasinsky @ 7.06.2012 - 12:25) |
Guest пишешь функцию на JQ, передаёшь в аргументах что нибудь, мне не понятно что именно ты хочешь. а hover() - будет запускать эту функцию. |
дано:
1) чистый Javascript (не prototype, query и пр.)
2) есть <div>надо мной</div><a>или надо мной</a>
вопрос:
как получить атрибуты элемента над которым мышка не задавая название элементов div и a в условие?
Спустя 58 секунд (7.06.2012 - 15:33) Guest написал(а):
Цитата (SitnikovArtur @ 7.06.2012 - 12:24) |
Об одном из способов, как узнать над каким элементом мышь - можно почитать тут. Там описано как получить доступ к объекту, у которого вы можете спросить любую информацию, в том числе и id. |
видел там только по заранее заданному id. если не сложно скопируйте пожалуйста сюда ту часть где это есть?
Спустя 7 минут, 26 секунд (7.06.2012 - 15:40) Michael написал(а):
Цитата (inpost @ 7.06.2012 - 13:47) |
Надо вычислить координаты объекта, а при движении мыши считывать координаты мыши и сравнивать с расположением объекта. |
большей глупости не слышал...
Читай тут про события. Про всплывание, про то что можно навесить обработчик на родителя и в нем получить конкретный сгенерировавший элемент.
Спустя 29 минут, 53 секунды (7.06.2012 - 16:10) SitnikovArtur написал(а):
Цитата (Michael @ 7.06.2012 - 12:40) |
Цитата (inpost @ 7.06.2012 - 13:47) Надо вычислить координаты объекта, а при движении мыши считывать координаты мыши и сравнивать с расположением объекта. большей глупости не слышал... |
Все правильно написано. Только нужно кешировать результаты, чтобы находясь над объектом ничего не сравнивать, тогда не будет подтормаживать.
Guest, вот та часть, только маркировка понадобится в любом случае. Самая примитивная - это "посмотреть" родителя.
var elem = document.elementFromPoint(x,y);
while (elem)
{
if (elem != null)
{
if (маркирован) return elem;
elem = elem.parentNode;
}
}
Спустя 1 час, 21 минута, 12 секунд (7.06.2012 - 17:31) bodja написал(а):
<div>на этим элементом</div>
<script type="text/javascript">
function mouse(e){
e=e||event;
if(e.type=='mouseover'){
alert(e.srcElement.innerHTML||e.target.innerHTML);
}
}
document.body.onmouseover=mouse;
</script>
Спустя 2 часа, 8 минут, 1 секунда (7.06.2012 - 19:39) Guest написал(а):
Цитата (SitnikovArtur @ 7.06.2012 - 13:10) | ||
Все правильно написано. Только нужно кешировать результаты, чтобы находясь над объектом ничего не сравнивать, тогда не будет подтормаживать. Guest, вот та часть, только маркировка понадобится в любом случае. Самая примитивная - это "посмотреть" родителя. var elem = document.elementFromPoint(x,y); |
спасибо за ответ!
Спустя 6 минут, 59 секунд (7.06.2012 - 19:46) Guest написал(а):
Цитата (bodja @ 7.06.2012 - 14:31) |
<div>на этим элементом</div> |
ахренеть, простите. вот это реально круто!
только нужно наверное проверить условием до алерта: e.srcElement.innerHTML
так как у меня например вызывает ошибку.
Спасибо, это ценные знания в копилочку!
Спустя 28 минут, 50 секунд (7.06.2012 - 20:15) inpost написал(а):
Michael
В виду своего незнания люди пишут всякий бред.
Удачи в написании кода при наведении, если такой умный.
В виду своего незнания люди пишут всякий бред.
<div style="position:absolute; width:500px; height:400px; left:0px; top:0px; z-index:2"></div>
<div style="position:absolute; width:50px; height:50px; left:50px; top:50px; z-index:1">Наведение на этот элемент</div>
Удачи в написании кода при наведении, если такой умный.
Спустя 10 часов, 44 минуты, 8 секунд (8.06.2012 - 06:59) Michael написал(а):
Цитата (inpost) |
Удачи в написании кода при наведении, если такой умный |
да поумнее тебя, во всяком случае чего не знаю о том не болтаю ;)
Примерно что я говорил bodja набросал, но увы с ошибками. Делается так:
<body >
<div id="d1"> d1
<div id="d2"> d2
<span id="s1">s1</span><span id="s2">s2</span>
</div>
<div id="d3">d3
<span id="s3">s3</span><span id="s4">s4</span>
</div>
<span id="s5">s5</span>
d1
</div>
Наведено на:
<p id="result"></p>
</body>
document.body.onmouseover = mouse;
var res = document.getElementById('result');
function mouse(event){
var event = event || window.event;
var source = event.target || event.srcElement;
res.innerHTML = source.id;
}
ДЕМО
Спустя 2 часа, 51 минута, 7 секунд (8.06.2012 - 09:50) bodja написал(а):
Guest
Это был намек ,как вы можете получить указатель на этот элемент при наведении.
Потом вы сможете с ним делать ,что хотите.
Эстественно ,перед этим вы должны убедится ,что это именно тот элемент который вы хотите,
по его ид ,содержанию ,классу ,стилю и т.д.
Это был намек ,как вы можете получить указатель на этот элемент при наведении.
Потом вы сможете с ним делать ,что хотите.
Эстественно ,перед этим вы должны убедится ,что это именно тот элемент который вы хотите,
по его ид ,содержанию ,классу ,стилю и т.д.
Спустя 1 час, 31 минута, 44 секунды (8.06.2012 - 11:22) inpost написал(а):
Michael
Условие не выполнено! Я показал код, вот на примере его и показывай!
Условие не выполнено! Я показал код, вот на примере его и показывай!
Спустя 1 час, 45 минут, 16 секунд (8.06.2012 - 13:07) Michael написал(а):
Цитата (inpost @ 8.06.2012 - 10:22) |
Michael Условие не выполнено! Я показал код, вот на примере его и показывай! |
Какое условие и причем тут твой код? Я для ТС-а решение написал. И да, js код не изменится , ты хоть в код то посмотри, заметишь что он не зависит от определенной разметки и взаиморасположения.
Спустя 3 часа, 32 минуты, 54 секунды (8.06.2012 - 16:40) inpost написал(а):
Michael
*facepalm*, вот как доказывать человеку, который не понимает о чём речь...
*facepalm*, вот как доказывать человеку, который не понимает о чём речь...
Спустя 41 минута, 40 секунд (8.06.2012 - 17:22) Michael написал(а):
и не говори, мы до сих пор не видели твой код, одно бал-бла-бла, за которое тебя недавно и минусанули.
Цитата (inpost) |
доказывать |
аргументы предоставить?
Спустя 58 минут, 3 секунды (8.06.2012 - 18:20) inpost написал(а):
Я выше дал код, где элемент скрыт под другим элементом.
"мы до сих пор не видели твой код" - а я вижу выше. Ай-ай-ай! В Москве уже давным давно посоветовали бы купить очки.
"мы до сих пор не видели твой код" - а я вижу выше. Ай-ай-ай! В Москве уже давным давно посоветовали бы купить очки.
Спустя 22 минуты, 17 секунд (8.06.2012 - 18:42) Michael написал(а):
Не тупи, я говорил, где твой js-код, а то одно балабольство.
А насчет твоего html-a, так наведено не над вторым элементом, а над первым. Второй под ним и он скрыт. Слой css - это как слои бумаги. Во даешь, и тут ты чайник. . ТС ничего подобного вычислять не просил , правда он слился куда то...
А насчет твоего html-a, так наведено не над вторым элементом, а над первым. Второй под ним и он скрыт. Слой css - это как слои бумаги. Во даешь, и тут ты чайник. . ТС ничего подобного вычислять не просил , правда он слился куда то...
Спустя 20 минут, 10 секунд (8.06.2012 - 19:02) inpost написал(а):
Michael
Он не заявлял обратное, вообще-то тут ты чайник. Он же сказал, что эффект "onmouseover" не подходит, отсюда можно сделать предположение, что невозможно по той причине, что невозможно навести на этот объект в виду того, что он находится в нижнем слое, а не скрыт, потому что верхний слой прозрачный.
Как обойти эту проблему я написал выше и меня поддержал ещё один человек. Повторюсь, если ты элементарного не понимаешь, то тут ты чайник.
Он не заявлял обратное, вообще-то тут ты чайник. Он же сказал, что эффект "onmouseover" не подходит, отсюда можно сделать предположение, что невозможно по той причине, что невозможно навести на этот объект в виду того, что он находится в нижнем слое, а не скрыт, потому что верхний слой прозрачный.
Как обойти эту проблему я написал выше и меня поддержал ещё один человек. Повторюсь, если ты элементарного не понимаешь, то тут ты чайник.
Спустя 11 часов, 41 минута, 43 секунды (9.06.2012 - 06:44) Michael написал(а):
Вот его вопрос:
Цитата (Гость_Алекс) |
Друзья, кто знает как можно узнать id HTML элемента над которым находится мышь в реальном времени не прибегая к jQuery и вне вписывая onmouseover атрибутом в сам элемент? |
Цитата (inpost) |
Он же сказал, что эффект "onmouseover" не подходит |
он такого не говорил. Он, по незнанию js, думал что в каждый элемент хтмл-а придется вписать атрибут, что неудобно. Соответственно и следующий твой вывод безоснователен:
Цитата (inpost) |
отсюда можно сделать предположение... потому что верхний слой прозрачный |
вот это и было твое глупое предположение. Если бы нужно было что то специфическое, это было бы указано. И говорится о "id HTML элемента", который надо узнать, а не кучи каких то элементов, которых по z-index-у может тыща там снизу быть. Так можно сказать что под любым элементом есть его родители и конечно же BODY.
И мы кстати так и не увидели код от тебя, реализующий эту задачу. Трепаться, это не код писать.
Может хватит лгать лишь бы не признавать своих промахов? Противно с тобой, лгущим, общаться. Вообще чувство достоинства своего теряешь, любой ведь мало мальски специалист увидит тут твою клоунаду и сделает соответствующий вывод, а у тебя все таки "Эксперт" приписано.....
Спустя 5 часов, 53 минуты, 59 секунд (9.06.2012 - 12:38) HErATuB написал(а):
Вот на jQuery:
Если тебе не нужно jQuery, а тебе это не нужно, используй как говорил Michael. Вот немножко видоизмененная:
$('*').mouseover(function(){
var _id = $(this).attr('id');
if (_id != undefined){
alert(_id);
}
});
Если тебе не нужно jQuery, а тебе это не нужно, используй как говорил Michael. Вот немножко видоизмененная:
function mouse(event){
var event = event || window.event;
var source = event.target || event.srcElement;
if(source.id != ""){
alert(source.id);
}
}
document.body.onmouseover = mouse;document.body.onmouseover = mouse;
Спустя 27 минут (9.06.2012 - 13:05) Michael написал(а):
HErATuB, если на jQuery то надо live, а не на каждый элемент вешать обработчик, т.к. это не эффективно.
Спустя 26 минут, 20 секунд (9.06.2012 - 13:31) inpost написал(а):
Michael
Вообще-то ты ничего не знаешь, а говоришь. Тебе кажется, что ты эксперт, ну пусть тебе и дальше так кажется
Вообще-то ты ничего не знаешь, а говоришь. Тебе кажется, что ты эксперт, ну пусть тебе и дальше так кажется
Спустя 7 минут, 6 секунд (9.06.2012 - 13:38) inpost написал(а):
Для особо "одарённых" повторюсь.
Есть ситуация: мы не знаем, находится ли в области видимости объект или нет.
Первый человек написал комментарий по поводу того, как вести себя если объект виден и наведение на него срабатывает.
Я дал альтернативу на случай, если мы имеем второй вариант, когда объект скрыт под другим объектом.
Это называется полностью развернутый ответ, то есть ответить человеку и на тот случай и на тот случай, если конкретные подробности неизвестны.
Так что тут ты снова проиграл, потому что я лишь расширил варианты ответов тем самым один из которых попадёт в точку. Если тебе кажется, что в виду незнания вопроса можно давать лишь один ответ, а второй вариант даже не рассматривать - то мне стыдно за таких программистов. Истинный программист в голове должен видеть абсолютно все ситуации, а не только "ну я думал, что он имел ввиду это..."
Есть ситуация: мы не знаем, находится ли в области видимости объект или нет.
Первый человек написал комментарий по поводу того, как вести себя если объект виден и наведение на него срабатывает.
Я дал альтернативу на случай, если мы имеем второй вариант, когда объект скрыт под другим объектом.
Это называется полностью развернутый ответ, то есть ответить человеку и на тот случай и на тот случай, если конкретные подробности неизвестны.
Так что тут ты снова проиграл, потому что я лишь расширил варианты ответов тем самым один из которых попадёт в точку. Если тебе кажется, что в виду незнания вопроса можно давать лишь один ответ, а второй вариант даже не рассматривать - то мне стыдно за таких программистов. Истинный программист в голове должен видеть абсолютно все ситуации, а не только "ну я думал, что он имел ввиду это..."
Спустя 1 минута, 36 секунд (9.06.2012 - 13:40) Michael написал(а):
без комментариев.