سؤال

هل يمكن لأحد أن يساعدني في هذا الرمز البسيط .. ما زلت noob على JS ولا أعرف ما الذي أفعله خطأ. أنا في الأساس أحاول جعل قائمة الفأر.

function showQuickLinks() {
//show the menu
}
function hideQuickLinks() {
//hides the menu
}

//button mouseover
$("#quick-links-dd").mouseover(function() { 
 showQuickLinks();
});

var mnuTimeout;

//clears timeout when it rolls over the button
$("#quick-links-dd").mouseover(function () {        
   clearTimeout(mnuTimeout);    
})

//$("#quick-links) - quick links container
//hides the menu when the mouse is not over the container
$("#quick-links").mouseout(function () {
  mnuTimeout = setTimeout("hideQuickLinks()",1000);
});

يعمل الماوس فوقه لكنه لا ينفذ الرمز عندما يكون الماوس خارج حاوية الارتباط.

هل كانت مفيدة؟

المحلول

var mnuTimeout = null;

$(function() { 
   $("#quick-links-dd").hover() {
       clearTimeout(mnuTimeout);
       showQuickLinks();
   }, function() {  
      mnuTimeout = setTimeout(hideQuickLinks,1000);
   });
});

نصائح أخرى

هل تفتقد "؟

("#quick-links").mouseout(function () {
  mnuTimeout = setTimeout("hideQuickLinks()",1000);
});

لقد واجهت مشكلات متقطعة مع أحداث OnMouseout المفقودة. كان الحل النهائي هو إضافة أحداث Mouseover إلى العناصر المحيطة ، وجعلها أيضًا تلغي المنبثقة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top