2010-05-13 6 views
-1

정말 고생했습니다. 기본적으로 jquery에 완전히 익숙하지만 마우스를 페이지 전체에두면 페이지가 엉망이되지 않도록 mousover에 타이머를 추가해야합니다. 여기 내 스크립트 .. 어쨌든 쉽게 구현할 수 있습니까?호버링 인 텐트를 추가해야합니까?

<script> 
jQuery('cc').mouseover(function() { 
$("squareleft3").hide(); 
$("twitter").hide(); 
$("facebook").hide(); 
$("squareright").hide(); 
$("getintouch").hide(); 
$("getintouch2").hide(); 
$("getintouch3").hide(); 
$("vicarimage").hide(); 
$("squaredown2").hide(); 
$("squareleft2").hide(); 
$("one").hide(); 
$("whatis").hide(); 
$("squaredown").hide(); 
$("whoweare").hide(); 
if ($("whoweare:first").is(":hidden")) 
    if ($("squaredown:first").is(":hidden")) 
    if ($("squareleft3:first").is(":hidden")) { 
    if ($("twitter:first").is(":hidden")) 
if ($("squareright:first").is(":hidden")) 
if ($("getintouch:first").is(":hidden")) 
if ($("getintouch2:first").is(":hidden")) 
if ($("getintouch3:first").is(":hidden")) 
if ($("vicarimage:first").is(":hidden")) 
if ($("squaredown2:first").is(":hidden")) 
if ($("squareleft2:first").is(":hidden")) 
if ($("one:first").is(":hidden")) 
if ($("whatis:first").is(":hidden")) 
jQuery('getinvolved').fadeIn(); 
jQuery('squareleft').slideToggleWidth(); 
} else { 
$("squareleft").hide(); 
$("getinvolved").hide(); 
} }); 
</script> 

건배.

+3

좋은 소식은 모든 마우스를 다룰 때 많이해야 할 일입니다. –

+0

도움을 받으시겠습니까? 그게 날 미치게 .. 가장 쉬운 방법은 마우스 오버보다는 클릭을 통해 기능을하는 것이므로 시간이 지나면 아무 것도 지울 수 있습니다.하지만 마우스 오버를 선호하는 편이 좋습니다. –

+3

모든 선택자가 잘못되었습니다. (_really_ 이상한 HTML이없는 한) – SLaks

답변

1

hoverIntent 사본을 가져옵니다.

HEAD 지역에 연결하십시오. 대신 mouseOver()

, 타이밍 임계 값 (설명서 참조) 조정에 대한 다양한 추가 옵션이 있습니다 hoverIntent()

사용합니다.

다른 사람들이 지적했듯이 코드는 여기 저기에 있습니다. 그러나 hoverIntent는 타이밍 문제를 해결합니다.

+0

그게 작동하지 않는 것 .. 이것은 분명히 퇴색하는 끔찍한 방법입니다.이 작업을 수행 할 수있는 방법에 대한 간단한 포인터를 제공 할 수 있습니까? –

+0

HoverIntent는 마우스 오버의 감도를 줄이기 위해 발사하기 전에 움직임없이 일정한 밀리 초를 요구합니다. 코드 개선 방법에 대한 일반적인 조언을 원한다면이 질문의 범위를 벗어나는 것입니다. 그러나 우선 jQuery 선택기가 여러 조건문에 대한 필요성을 없애는 방법을보다 잘 이해하는 데 집중해야합니다. 토글()을보세요. 하나의 클래스를 여러 요소에 사용하여 하나의 $ ('. socialbadges') toggle()이 여러 if()를 대체하도록하십시오. 그리고 jQuery 셀렉터가보다 효과적으로 타겟이되도록 HTML을 구조화하는 방법을 살펴보십시오. –

+0

당신의 문서가 어떻게 생겼는지는 모르겠지만, DIV와 함께 "socialbadges"클래스를 가진 다른 태그들과 함께, 그리고 당신이 마우스를 들여다 보았을 때 숨기고 보여 주려는 의도로, 당신은 뭔가를 원할 것입니다 $ ('div # someContainer'). hoverIntent (function() {$ ('socialbadges'). slideToggle()}). 당신이 성취하려는 것을 모른 채 더 이상 말할 수는 없습니다. –

1

은 모두 $("getintouch2").hide(); 클래스 또는 ID입니다. getintouch2 수업입니까? 그렇다면 ID 앞에는 마침표가 있어야하며 ID 앞에 해쉬가 있어야합니다. 이렇게하면 클래스의 경우 $(".getintouch2").hide();, ID 인 경우 $("#getintouch2").hide();이됩니다.

나는의, 당신은 하나의로를 연결하는 그들 사이 & &를 넣어 필요하면 배수를 사용하는 경우, 그럼 내가 좀 엉망 생각 귀하의 경우 문을 더 당신이 원하는 것 hover 대신 mouseover의 사용, 생각, 내가 아마 그 잘못 말했다,하지만 모든 jQuery 자습서를 읽을 수 있기 때문에 일종의 outa-wack 일종의. 행운을 빈다. Jquery, 많은 시행 착오 및 많은 스택 오버 플로우 질문을 배우는 데 잠시 걸렸다.

작은 코드를 사용하는 사람들은 일반적으로 코드를 사용하는 데 도움이되며, 특히 수행하려고 시도하는 것에 대한 작은 예가있는 경우 http://www.jsfiddle.com 사람들이 사용하는 데 너무 빠르고 쉽습니다. 잘 들었다. 그래서 당신의 코드를 작은 예제로 분해하고, 한 번에 하나씩 꼬임을 얻으려고 시도 할 것입니다. 하나의 if 문이 작동하지 않는다면, 다른 문항 중 하나는 그렇지 않지만, 너무 많은 코드를 게시하게됩니다. jsfiddle에 게시했거나 훨씬 작게 만들었다면 다른 사람들에게 올바른 코드로 대답 할 수있는 대부분의 사람들에게 압도적 인 것입니다. 그래서 한 번에 한 조각 씩 나눠보세요. 스택 오버플로는 신의 선물입니다. 기억합니다. 나는 여기에서 많은 것을 배웠고, 많은 도움을 받았고, 사람들은 다른 사람들을 돕는 데 많은 시간을 할애했습니다. 거의 영감을 얻었습니다. 나를 다른 사람들을 돕고 싶다.

아, hoverIntent는 내가 자주 사용하는 멋진 플러그인입니다. 사람이 화면에서 마우스를 움직이면 화면 하단에서 탐색까지 마우스를 움직일 수 있습니다./호버 (hover) 효과는 효과를 내기 위해 마우스를 특정 속도로 늦추어야하며 완벽합니다.

관련 문제