سؤال

لقد بنيت بعض علامات بسيطة ، التي عند النقر عليها ، تظهر خفية div.بسيطة جدا.كل شيء يعمل بشكل جيد إلا في IE.لسبب ما, على الرغم من أنني باستخدام مسج .عرض() وظيفة ، فإنه لم يتم تعيين الخفية div display:block, ولكن يترك ذلك خفية ، وأنه أمر محبط للغاية.

مثال على الصفحة: http://www.puc.edu/alumni/give-puc

مسج على علامات التبويب:

$('#teamTabs li').click(function() {
 $('#teamTabs li').removeClass('selected');
 $(this).addClass('selected');
 $('.teamTab').hide();
 var id = $(this).attr('id');
 if (id == 'teamTab1') {
  $('#team1').show();
 } else if (id == 'teamTab2') {
  $('#team2').show();
 } else if (id == 'teamTab3') {
  $('#team3').show();
 } else if (id == 'teamTab4') {
  $('#team4').show();
 }//end else if

 return false;

});//end click

أي أفكار لماذا أي لا div لعرض:كتلة ؟

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

المحلول

أدرك أنك قد عرفت المشكلة كانت في مكان آخر ، ولكن بالنسبة للآخرين العثور على هذا في وقت لاحق (على الحصول على هذا الخروج لا إجابات قائمة) ، يمكنك تقليص حجمها/تبسيط التعليمات البرمجية الخاصة بك قليلا جدا:

$('#teamTabs li').click(function() {
  $(this).addClass('selected').siblings().removeClass('selected');
  $('.teamTab').hide();
  $('#team'+ this.id.replace('teamTab','')).show();
  return false;
});

نصائح أخرى

كان لي مشكلة مماثلة.وجدت أن أي في الواقع تم تغيير العرض إلى كتلة ، ولكن كما قدمت كل display:none; كتلة visibility:hidden;

وكنت قادرا على الحصول على العناصر التي تظهر بشكل صحيح عن طريق القيام بما يلي:

$('#team1').show(); // shows for all browsers but IE
if($.browser.msie){
   $('#team1').css({"visibility":"visible"});
}

لقد وجدت هذا باستخدام اثنين من التنبيهات بعد تضييق قضية بلدي اثنين ممكن CSS العناصر التي يمكن أن إخفاء بلدي HTML:عرض:لا شيء ؛ و visibility:hidden.

ضمان أنه إذا كنت تفعل هذا في حالة تأهب بعد $('#team1').show();

alert( $('#team1').css("display")); العرض سوف يكون كتلة تنبيه( $('#team1').css("الرؤية"));وضوح الرؤية الخاصة بك سوف تكون مخفية.

يبدو مثل أي يخفي تلقائيا كتل عندما يتم تعيين العرض من "لا شيء" في css ثم تغير عبر مسج.ويبدو أيضا أن هذه ليست مشكلة بالنسبة العناصر التي يتم تعريف display:block;هذه العناصر يجب أن تكون دائما بخير طالما أنك تعرف عليها لأول مرة في CSS.

آمل أن يساعد هذا أي شخص آخر هناك وجود هذه المشكلة :)

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