사용자가 목록 항목을 가리키면 내 사이트에 div가 표시되는 데 많은 문제가 있습니다. 기본적으로 링크 목록이 있습니다. 사용자가 그 중 하나를 가리키면 두 개의 div가 나타나야합니다. 하나는 배경의 모든 상자에 공통적 인 배경 상자이고 다른 하나는 해당 목록 항목과 관련된 내용으로 가득합니다. 또한 마우스가 "row2"영역 (모든 것이 포함되어 있음)을 떠날 때 모든 div가 사라져야합니다. 아래에있는 스크립트는 반 작업입니다. 그러나 사용자가 한 목록 항목에서 다른 목록 항목으로 마우스를 빠르게 이동하면 항목이 "스택되어"제대로 사라지지 않습니다.목록 항목 위로 마우스를 가져 가면 div가 표시됩니까?
현재이 문제를 볼 수 있습니다:
여기
내가 현재 가지고있는 jQuery를이다,
$(document).ready(function()
{
$(".subjectarea_box,.subjectarea_box > div").hide();
$(".subjectarea_topics li[class!='arts-culture-recreation']").mouseover(function()
{
$("div.arts-culture-recreation").hide();
});
$("li.arts-culture-recreation").mouseover(function()
{
$("div.arts-culture-recreation,div.subjectarea_box").fadeIn();
});
$("div.row2").mouseleave(function() {
$("div.arts-culture-recreation,div.subjectarea_box,.subjectarea_box > div").hide();
});
$(".subjectarea_topics li[class!='civic-vitality']").mouseover(function() {
$("div.civic-vitality").hide();
});
$("li.civic-vitality").mouseover(function() {
$("div.civic-vitality,div.subjectarea_box").fadeIn();
});
$("div.row2").mouseleave(function() {
$("div.civic-vitality,div.subjectarea_box,.subjectarea_box > div").hide();
});
$(".subjectarea_topics li[class!='demographics']").mouseover(function() {
$("div.demographics").hide();
});
$("li.demographics").mouseover(function() {
$("div.demographics,div.subjectarea_box").fadeIn();
});
$("div.row2").mouseleave(function() {
$("div.demographics,div.subjectarea_box,.subjectarea_box > div").hide();
});
$(".subjectarea_topics li[class!='economy']").mouseover(function() {
$("div.economy").hide();
});
$("li.economy").mouseover(function() {
$("div.economy,div.subjectarea_box").fadeIn();
});
$("div.row2").mouseleave(function() {
$("div.economy,div.subjectarea_box,.subjectarea_box > div").hide();
});
$(".subjectarea_topics li[class!='education']").mouseover(function() {
$("div.education").hide();
});
$("li.education").mouseover(function() {
$("div.education,div.subjectarea_box").fadeIn();
});
$("div.row2").mouseleave(function() {
$("div.education,div.subjectarea_box,.subjectarea_box > div").hide();
});
$(".subjectarea_topics li[class!='environment-transportation']").mouseover(function()
{
$("div.environment-transportation").hide();
});
$("li.environment-transportation").mouseover(function() {
$("div.environment-transportation,div.subjectarea_box").fadeIn();
});
$("div.row2").mouseleave(function() {
$("div.environment-transportation,div.subjectarea_box,.subjectarea_box > div").hide();
});
$(".subjectarea_topics li[class!='financial-self-sufficiency']").mouseover(function() {
$("div.financial-self-sufficiency").hide();
});
$("li.financial-self-sufficiency").mouseover(function() {
$("div.financial-self-sufficiency,div.subjectarea_box").fadeIn();
});
$("div.row2").mouseleave(function() {
$("div.financial-self-sufficiency,div.subjectarea_box,.subjectarea_box > div").hide();
});
$(".subjectarea_topics li[class!='health']").mouseover(function() {
$("div.health").hide();
});
$("li.health").mouseover(function() {
$("div.health,div.subjectarea_box").fadeIn();
});
$("div.row2").mouseleave(function() {
$("div.health,div.subjectarea_box,.subjectarea_box > div").hide();
});
$(".subjectarea_topics li[class!='housing']").mouseover(function() {
$("div.housing").hide();
});
$("li.housing").mouseover(function() {
$("div.housing,div.subjectarea_box").fadeIn();
});
$("div.row2").mouseleave(function() {
$("div.housing,div.subjectarea_box,.subjectarea_box > div").hide();
});
$(".subjectarea_topics li[class!='public-safety']").mouseover(function() {
$("div.public-safety").hide();
});
$("li.public-safety").mouseover(function() {
$("div.public-safety,div.subjectarea_box").fadeIn();
});
$("div.row2").mouseleave(function() {
$("div.public-safety,div.subjectarea_box,.subjectarea_box > div").hide();
});
});
</script>
이 ...이 괴물 내가 알고있는 (그리고 아마도 몹시 비효율적) .
누군가이 작업을 수행하는 데 더 좋고 덜 버그적인 방법을 권장 할 수 있습니까?
감사합니다.
크리스틴, 팁을위한 감사
같은 뭔가를하려고합니다. 난 그냥 스왑을 시도하고 불행히도 같은 오류가 발생합니다 (하나에서 다음으로 빠르게 떠오르게 때 여러 상자가 나타납니다). – Febrium
흠 ... 으악한 물건을 버리고 "호버"를 대신 사용하는 방법은 무엇입니까? http://api.jquery.com/hover/ –
$ (...) .hover (onHoverFunction, onMouseLeaveFunction)는 내가하는 "mousenters"이벤트를 사용하지만 실제로 수행중인 작업에 대한 간단한 약식 표현입니다. – jdc0589