Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Не работает значение this в скрипте (https://javascript.ru/forum/jquery/40935-ne-rabotaet-znachenie-v-skripte.html)

Сершей 25.08.2013 04:31

Не работает значение this в скрипте
 
Всем привет. Такая проблема, есть скрипт:
$(document).ready(function(){
            $('div.maintext').animate({ opacity: "0" });

            $('span.blockmore').hover(function()
            {
                $('.maintext', this).animate({ opacity: "0.8" }, 200);
            });
			
            $('span.blockmore').mouseout(function()
            {
                $('.maintext').stop().animate({ opacity: "0" });
            });			

});


Почему-то не хочет работать строка №6. Проблема появляется именно тогда, когда добавляешь значение this. Если его нет, то всё работает без ошибок. Но суть в том, что без него ни как, иначе скрипт работает не совсем верно.
Может кто знает в чем может быть проблема и как его решить/обойти?

рони 25.08.2013 08:39

Сершей,
а где html ?

bes 25.08.2013 09:49

Цитата:

Сообщение от рони
Сершей,
а где html ?

поиграю в телепата и предположу без html, что чел не понимает, на что влияет второй параметр,
условия предположения: у него .maintext == div.maintext и при этом он разумно не вложил этот div в span.blockmore

<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<div>
	click 
	<span>span</span>
</div>
<span>span</span>
<script>
jQuery(function ($) {
	$("div").on("click", function () {
		$("span", this).css("background", "green");
	});
});
</script>

ksa 25.08.2013 11:51

Цитата:

Сообщение от Сершей
Проблема появляется именно тогда, когда добавляешь значение this. Если его нет, то всё работает без ошибок. Но суть в том, что без него ни как, иначе скрипт работает не совсем верно.

Теперь уже им и this не угодил... :D

Сершей 25.08.2013 13:05

Всем спасибо большое! Я понял свою ошибку, исправил. Извините, забыл про html, способности bes к телепатии очень и очень помогли мне :)
p.s. Javascript только только начал изучать, не судите строго


Часовой пояс GMT +3, время: 17:30.