سؤال
كيف يمكنني تعديل هذه السيناريو بحيث عندما أقوم بالفوضى من القائمة الفرعية ، لا يزال مفتوحًا لمدة س ثوان؟
حاليًا Slidesup (يختبئ) بمجرد أن أتناول ماوس. أحتاج إلى hoverintent مثل الوظيفة حيث يختبئ بعد x ثواني.
لغة البرمجة:
<div id="navigation">
<ol>
<li><a href="#" class="parent">Menu 1</a>
<div class="submenu clear"><div class="listings clear"> content</div></div>
</li>
</ol>
</div>
شكرا لمساعدتك!
المحلول
شيء مثل:
jQuery(element_here).delay(5000).slideup('fast', function() {
bm_item_link_obj.removeClass("bm-item-link-hover");
});
ستعمل
إذا كان لديك وضعه على HTML الخاص بك في سؤالك/ JSFIDDLE ، فستقوم بتغيير JS الخاص بك في عبارة SELECT لتبدو مثل هذا:
case "slideUp":
bm_item_content_obj.delay(5000).slideUp( 'fast', function() {
bm_item_link_obj.removeClass("bm-item-link-hover");
});
كما سيكون من الأفضل الالتفاف:
$("#navigation ol").bigmenu();
في:
$(document).ready(function () {
// NAVIGATION
$("#navigation ol").bigmenu();
});
من
$(window).load(function () {
// NAVIGATION
$("#navigation ol").bigmenu();
});
للحصول على روابط أخرى تنزلق عندما تذهب إلى رابط آخر على الفور ، تحتاج إلى ذلك:
$(".submenu").not(bm_item_content_obj).stop(true, true).slideUp("fast");
أدناه ما هو بالفعل في:
case "slideDown":
لذلك سوف يبدو:
case "slideDown":
bm_item_content_obj.height("auto");
bm_item_content_obj.slideDown(100);
$(".submenu").not(bm_item_content_obj).stop(true, true).slideUp("fast");
break;
نصائح أخرى
أشعر أنني أقوم بعمل شخص ما يعمل هنا ، ولكن على أي حال ، فإن الكود الذي يجعل الشيء يختفي يبدو أنه هذا:
bm_item_content_obj.slideUp( 'fast', function() {
bm_item_link_obj.removeClass("bm-item-link-hover");
});
لذا فقط لفه في مؤقت إذا كنت تريد أن يحدث بعد X Seconds:
setTimer(function() {
bm_item_content_obj.slideUp( 'fast', function() {
bm_item_link_obj.removeClass("bm-item-link-hover");
});
}, 5000); // 5 seconds
لا تنتمي إلى StackOverflow