2010-04-22 75 views
1

林有一些麻煩,在IE8 jQuery的的slideToggle功能由於某種原因,它的開放其打開IE8滑動切換問題

繼承人的代碼中使用

$("h3 a").click(function(){ 
    id = $(this).attr("href");  
    $(id).slideToggle("slow"); 
}); 

和HTML IM後立即關閉DIV

<h3><a href="#promo-materials">Graphic and Pormotional Materials</a></h3> 
    <div id="promo-materials" class="center gallery"> 
     <a href="images/portfolio/bistro.png" rel="facebox"> 
      <img src="images/portfolio/thumbs/bistro.png" alt="" /> 
     </a> 
     <a href="images/portfolio/direct-savings.png" rel="facebox"> 
      <img src="images/portfolio/thumbs/direct-savings.png" alt="" /> 
     </a> 
    </div> 

這是在所有其他的瀏覽器功能頁面的鏈接它的工作原理,包括IE7

我忘了將它張貼:

http://bestprintideas.com

我現在有它引發的兼容性模式,因爲我不得不今天的工作。

+0

這聽起來像你的事件處理程序被綁定兩次,這可能是這種情況的原因? – 2010-04-22 21:46:32

回答

3

畫廊

display: inline-block; 

,似乎修復IE8的問題之前,請從右邊H3這種風格。

+0

工作完全謝謝 – jef2904 2010-04-23 14:58:57

+0

感謝它對我工作正常:) – 2012-07-23 07:22:20

0

你可以試試這個:

$("h3 a").click(function(){ 
    id = $(this).attr("href"); 
    $('#' + id).slideToggle("slow"); 
}); 
+0

唯一的問題是,我爲多個「h3 a」指向不同的DIV – jef2904 2010-04-22 22:40:46

+0

@ jef2904:請參閱我的答案,更新後,我認爲這應該可以做到。你並沒有在選擇器中添加'#'。 – Sarfraz 2010-04-22 23:07:27

+0

他的'href'已經有一個'#'了,它在他發佈的代碼中......這並不能解釋爲什麼*只有* IE8有問題。 – 2010-04-22 23:37:16

0

我打賭尼克的這件事被解僱兩次對答案評論。我複製了上面的代碼,它在IE8中對我很有用。