سؤال

تحرير: حسنا, الخط:

$( <?php echo("'#".$_GET['item']."'")  ?> ).parent().show();

من الواضح ومحاولة للحفاظ على القائمة المفتوحة في المكان المناسب.أنا لا أعتقد أن هذا عمل من أي وقت مضى (حصلت أكره على ppls رمز).

ثم المشكلة الحالية هو كيفية الوصول إلى <ul class="myul"> مباشرة فوق <li id="001" > باستخدام هذا البند id=001 ??

مرحبا

أنا أحاول إصلاح قطعة من التعليمات البرمجية تترك لي الآن فقدت مبرمج.يعمل ولكن هناك ميزة في عداد المفقودين ؛ أنا لا يبقى افتتح في المكان الصحيح عندما يكون عنصر القائمة المحدد.

مسج:

$.swapImage(".swapImage");                                  
            $( <?php echo("'#".$_GET['item']."'")  ?> ).parent().show();
            $('.myul').hide();              
            $('.slide_ul li:not(:first-child)').hide();     
            $('.hideMe').click(function(){ 
                $(this).next('ul').slideToggle('fast').siblings('ul:visible').slideUp('fast');
            });                             
            $('.myul a').click(function(e){
                var url = $(this).attr('href');
                var index = url.indexOf('=');
                var substr = url.slice(index+1);                    
                $('#productContainer >div').hide();
                $('#productContainer').load("products/"+substr+"/product.html", function(){
                    $(this).fadeIn('slow'); 
                    var i = 0;
                    $('.slide_ul li:not(:first-child)').hide();                                                                             
                });                 
            });

HTML:

    <!-- Right Navigation -->
                        <div id="rightNav">
                            <div id="navMenu">
                                <h2 id="navMenuheader">Catalogue</h1>
                                <h3 class="hideMe">Widgets</h3>
                                <ul class="myul">
                                    <h4 class="hideMe">Widget Coins</h2>
                                    <ul class="myul">
                                        <li id="001" >
                                             <a href="products.php?item=001">The South African Widget</a>
                                          </li>

نتيجة القائمة انقر هو injectContent إلى الأسود شعبة في منتصف الصفحة.لا $(document).ready(function(){ يحدث في كل مرة يحدث هذا?وإلا لا أستطيع أن أرى لماذا كل وظائف القائمة يتم تحديثها.

أعتقد أنني بحاجة الى بعض المزيد من التعليمات البرمجية لتحديد مكان في القائمة نحن وتركها مفتوحة.هناك النمل على مكتبي.

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

المحلول 2

فقط إضافة بعض مسج فتح الباب ذي الصلة من القائمة بعد أن كان مخفيا.حتى بعد خط $('.myul').hide() لقد فتح قسم القائمة على أساس رابط الاستعلام ( المنتجات.php?البند=001 ):

var item =  <?php echo("'".$_GET['item']."'")  ?>;

                if (item != '')             
                {
                    item = "li#" + item;            
                    $(item).parent().show();
                    $(item).parent().parent().show();
                }

نصائح أخرى

يبدو لي سيئة إغلاق الوسم على

<h4 class="hideMe">Widget Coins</h2>

هو المشكلة الرئيسية الخاصة بك ، عندما يحصل النقر على

$(this).next('ul')

فشل في العثور على المجاهدين لأنه هو الطفل بدلا من الأخوة h4
تغيير إلى

<h4 class="hideMe">Widget Coins</h4>

يجعل من العمل بشكل أفضل ، لست متأكدا إذا كان هذا هو كل ما كنت أبحث عنه

$( <?php echo("'ul:has(#".$_GET['item'].")'");  ?> ).show();

سيتم فتح كل ul التي سليل مع تحديد الهوية
فقط باستخدام .الأم() لم يكن الحصول على أعلى ul لإظهار

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