2013-06-29 3 views
0

Я пытаюсь создать функцию события mouseover, которая содержит переменную. Я планирую использовать if и else для достижения мыши и мыши (или out). Я попытался объяснить это далее по этой ссылке в // комментариях. http://jsfiddle.net/EsEBY/14/Функция внутри переменной для создания события mouseover

JQuery:

var n = $("#block").mouseover(function() {}); 

if (n) { //if variable n (mouseover) occurs on #block, make #block opacity 1 
$("#block").css("opacity", "1"), 
alert("Working!"); 
} else { //else #block opacity .5 
$("#block").css("opacity", ".5"); 
} 

CSS:

#block { 
width:5em; 
height:5em; 
background:#CCC; 
margin:1em; 
} 

Я, вероятно, получил все это неправильно, но я пытаюсь сделать это по-другому от .hover метода.

ответ

1

Что вам нужно

$("#block").hover(function() { 
    $(this).css("opacity", "1"); 
}, function(){ 
    $(this).css("opacity", ".5"); 
}); 

Демо: Fiddle

mouseover не работает так, код, который предполагают, чтобы работать на мыши над должен быть в функции обратного вызова передается в мероприятие.

В вашем случае вам необходимо изменить непрозрачность на 1, когда Мышелов войти в #block и он изменившийся .5 когда листы мыши, для этой цели вы можете использовать .hover() обработчиков событий

+0

Спасибо за ответ Арун П. Джонни. Это должно помочь мне разобраться в этом. –

0

Если вы просто пытается изменить прозрачность при наведении курсора мыши с помощью JQuery, то это, вероятно, что вы пытаетесь сделать:

$("#block").mouseover(function() { 
    $(this).css('opacity', '1'); 
}).mouseout(function(){ 
    $(this).css('opacity', '.5'); 
}); 

Однако, это, вероятно, лучше выполняются с помощью CSS:

<style type="text/css"> 
#block { 
    opacity: .5; 
} 

#block:hover { 
    opacity: 1; 
} 
</style> 
+0

Привет, Сет, спасибо за ваш ответ. Я вместо этого хочу передать css hover, поскольку я хотел бы достичь его с помощью javascript/jQuery в качестве планшетов, мобильный не может обнаружить .hover. –